search for: addoptimizedregalloc

Displaying 20 results from an estimated 24 matches for "addoptimizedregalloc".

2015 Jul 09
3
[LLVMdev] PHI Elimination in Register Allocation Pass
Good Afternoon. I am a Computer Science undergraduate student in Brazil and as completion of course work, I am developing an register allocator, using the infrastructure of the LLVM. To accomplish this task, I have based my implementation in allocators already implemented in LLVM. But a question came to me while I was researching in books and articles of compiler theory and own documentation of
2013 May 13
1
[LLVMdev] Scheduling with RAW hazards
...> MySchedRegistry("mysched", "Custom My scheduler.", createMySched); > > -Andy > I've had a quick experiment with the MI Scheduler, and have a few further questions. From what I can see, if I pass -enable-misched to the compiler, it only works above O1, though addOptimizedRegAlloc(). Is O0 not supported without adding the pass myself in my PassConfig? How does (or will) the MI Scheduler interact with the existing SD Scheduler? It seems as though they both run together at the moment. Thanks, Fraser -------------- next part -------------- An HTML attachment was scrubbed......
2016 May 11
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...ost register allocation in lib/CodeGen/Passes.cpp void TargetPassConfig::addMachinePasses() { . . . // Run pre-ra passes. addPreRegAlloc(); // Run register allocation and passes that are tightly coupled with it, // including phi elimination and scheduling. if (getOptimizeRegAlloc()) addOptimizedRegAlloc(createRegAllocPass(true)); else addFastRegAlloc(createRegAllocPass(false)); // Run post-ra passes. addPostRegAlloc(); // Adding a new pass here which keeps register mask information across function calls. . . . } But this also requires current register allocators to use this information...
2013 May 09
0
[LLVMdev] Scheduling with RAW hazards
On May 9, 2013, at 4:02 AM, Fraser Cormack <fraser at codeplay.com> wrote: > I have an instruction that takes no operands, and produces two results, in two consecutive cycles. > > I tried both of the following to my Schedule.td file: > > InstrItinData<IIMyInstr, [InstrStage<2, [FuncU]>], [1, 2]>, > InstrItinData<IIMyInstr, [InstrStage<1,
2016 May 11
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...void TargetPassConfig::addMachinePasses() { > . > . > . > // Run pre-ra passes. > addPreRegAlloc(); > > // Run register allocation and passes that are tightly coupled with it, > // including phi elimination and scheduling. > if (getOptimizeRegAlloc()) > addOptimizedRegAlloc(createRegAllocPass(true)); > else > addFastRegAlloc(createRegAllocPass(false)); > > // Run post-ra passes. > addPostRegAlloc(); > // Adding a new pass here which keeps register mask information across function calls. > . > . > . > } > > But this also...
2016 May 11
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...void TargetPassConfig::addMachinePasses() { > . > . > . > // Run pre-ra passes. > addPreRegAlloc(); > > // Run register allocation and passes that are tightly coupled with it, > // including phi elimination and scheduling. > if (getOptimizeRegAlloc()) > addOptimizedRegAlloc(createRegAllocPass(true)); > else > addFastRegAlloc(createRegAllocPass(false)); > > // Run post-ra passes. > addPostRegAlloc(); > // Adding a new pass here which keeps register mask information across function calls. > . > . > . > } > > But this also...
2016 May 18
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...; void TargetPassConfig::addMachinePasses() { > . > . > . > // Run pre-ra passes. > addPreRegAlloc(); > > // Run register allocation and passes that are tightly coupled with it, > // including phi elimination and scheduling. > if (getOptimizeRegAlloc()) > addOptimizedRegAlloc(createRegAllocPass(true)); > else > addFastRegAlloc(createRegAllocPass(false)); > > // Run post-ra passes. > addPostRegAlloc(); > // Adding a new pass here which keeps register mask information across > function calls. > . > . > . > } > > But this al...
2016 May 11
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...t; > // including phi elimination and scheduling. > > > > > > > > > > > > > > > > > > > > > if (getOptimizeRegAlloc()) > > > > > > > > > > > > > > > > > > > > > addOptimizedRegAlloc(createRegAllocPass(true)); > > > > > > > > > > > > > > > > > > > > > else > > > > > > > > > > > > > > > > > > > > > addFastRegAlloc(createRegAllocPass(false)); &gt...
2013 May 09
2
[LLVMdev] Scheduling with RAW hazards
I have an instruction that takes no operands, and produces two results, in two consecutive cycles. I tried both of the following to my Schedule.td file: InstrItinData<IIMyInstr, [InstrStage<2, [FuncU]>], [1, 2]>, InstrItinData<IIMyInstr, [InstrStage<1, [FuncU]>, InstrStage<1, [FuncU]>], [1, 2]>, From what I can see in examples, these say that the first
2016 May 18
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...s() { >> . >> . >> . >> // Run pre-ra passes. >> addPreRegAlloc(); >> >> // Run register allocation and passes that are tightly coupled with it, >> // including phi elimination and scheduling. >> if (getOptimizeRegAlloc()) >> addOptimizedRegAlloc(createRegAllocPass(true)); >> else >> addFastRegAlloc(createRegAllocPass(false)); >> >> // Run post-ra passes. >> addPostRegAlloc(); >> // Adding a new pass here which keeps register mask information across >> function calls. >> . >> ....
2016 May 18
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...) { >> . >> . >> . >> // Run pre-ra passes. >> addPreRegAlloc(); >> >> // Run register allocation and passes that are tightly coupled with it, >> // including phi elimination and scheduling. >> if (getOptimizeRegAlloc()) >> addOptimizedRegAlloc(createRegAllocPass(true)); >> else >> addFastRegAlloc(createRegAllocPass(false)); >> >> // Run post-ra passes. >> addPostRegAlloc(); >> // Adding a new pass here which keeps register mask information across function calls. >> . >> . >&gt...
2016 May 24
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...t;>> // Run pre-ra passes. >>> addPreRegAlloc(); >>> >>> // Run register allocation and passes that are tightly coupled with >>> it, >>> // including phi elimination and scheduling. >>> if (getOptimizeRegAlloc()) >>> addOptimizedRegAlloc(createRegAllocPass(true)); >>> else >>> addFastRegAlloc(createRegAllocPass(false)); >>> >>> // Run post-ra passes. >>> addPostRegAlloc(); >>> // Adding a new pass here which keeps register mask information across >>> function...
2016 May 24
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...> > > > > > > > > > > > > > > > > > > > > > > > if (getOptimizeRegAlloc()) > > > > > > > > > > > > > > > > > > > > > > > > > > > > addOptimizedRegAlloc(createRegAllocPass(true)); > > > > > > > > > > > > > > > > > > > > > > > > > > > > else > > > > > > > > > > > > > > > > > > > > > > >...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...asses. >>>> addPreRegAlloc(); >>>> >>>> // Run register allocation and passes that are tightly coupled with >>>> it, >>>> // including phi elimination and scheduling. >>>> if (getOptimizeRegAlloc()) >>>> addOptimizedRegAlloc(createRegAllocPass(true)); >>>> else >>>> addFastRegAlloc(createRegAllocPass(false)); >>>> >>>> // Run post-ra passes. >>>> addPostRegAlloc(); >>>> // Adding a new pass here which keeps register mask information acros...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...> > > > > > > > if (getOptimizeRegAlloc()) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > addOptimizedRegAlloc(createRegAllocPass(true)); > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > else > > > > > > >...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...addPreRegAlloc(); >>>>> >>>>> // Run register allocation and passes that are tightly coupled with >>>>> it, >>>>> // including phi elimination and scheduling. >>>>> if (getOptimizeRegAlloc()) >>>>> addOptimizedRegAlloc(createRegAllocPass(true)); >>>>> else >>>>> addFastRegAlloc(createRegAllocPass(false)); >>>>> >>>>> // Run post-ra passes. >>>>> addPostRegAlloc(); >>>>> // Adding a new pass here which keeps registe...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...>>>>> >>>>>> // Run register allocation and passes that are tightly coupled >>>>>> with it, >>>>>> // including phi elimination and scheduling. >>>>>> if (getOptimizeRegAlloc()) >>>>>> addOptimizedRegAlloc(createRegAllocPass(true)); >>>>>> else >>>>>> addFastRegAlloc(createRegAllocPass(false)); >>>>>> >>>>>> // Run post-ra passes. >>>>>> addPostRegAlloc(); >>>>>> // Adding a new pass...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...void TargetPassConfig::addMachinePasses() { > . > . > . > // Run pre-ra passes. > addPreRegAlloc(); > > // Run register allocation and passes that are tightly coupled with it, > // including phi elimination and scheduling. > if (getOptimizeRegAlloc()) > addOptimizedRegAlloc(createRegAllocPass(true)); > else > addFastRegAlloc(createRegAllocPass(false)); > > // Run post-ra passes. > addPostRegAlloc(); > // Adding a new pass here which keeps register mask information across function calls. > . > . > . > } > > But this also...
2016 May 25
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...) { >> . >> . >> . >> // Run pre-ra passes. >> addPreRegAlloc(); >> >> // Run register allocation and passes that are tightly coupled with it, >> // including phi elimination and scheduling. >> if (getOptimizeRegAlloc()) >> addOptimizedRegAlloc(createRegAllocPass(true)); >> else >> addFastRegAlloc(createRegAllocPass(false)); >> >> // Run post-ra passes. >> addPostRegAlloc(); >> // Adding a new pass here which keeps register mask information across function calls. >> . >> . >&gt...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...>>>>>>> // Run register allocation and passes that are tightly coupled >>>>>>> with it, >>>>>>> // including phi elimination and scheduling. >>>>>>> if (getOptimizeRegAlloc()) >>>>>>> addOptimizedRegAlloc(createRegAllocPass(true)); >>>>>>> else >>>>>>> addFastRegAlloc(createRegAllocPass(false)); >>>>>>> >>>>>>> // Run post-ra passes. >>>>>>> addPostRegAlloc(); >>>>>>&g...