search for: createlinearscanregisteralloc

Displaying 9 results from an estimated 9 matches for "createlinearscanregisteralloc".

2010 May 04
0
[LLVMdev] Register Allocation: Interference graph
...VMTargetMachine.cpp. Does your pass actually do register allocation, or will it? If so, you want to use the RegisterRegAlloc object. Here is how linear scan uses it: static RegisterRegAlloc linearscanRegAlloc("linearscan", "linear scan register allocator", createLinearScanRegisterAllocator); Then createRegisterAllocator in CodeGen/Passes.cpp will pick up your allocator and list it as an option under -regalloc=<allocator>. If you pass is just doing some analysis and dumps you can either add a invocation of it to LLVMTargetMachine.cpp or make some other pass dependent on it...
2008 Sep 02
2
[LLVMdev] LLVM build failures
...reference to `llvm::createLocalRegisterAllocator()' .../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:34: undefined reference to `llvm::createBigBlockRegisterAllocator()' .../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:35: undefined reference to `llvm::createLinearScanRegisterAllocator()' .../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:37: undefined reference to `llvm::createSimpleRegisterCoalescer()' (lots more of these) (3) similar problem on sparc64, gcc 4.3.1: ... make[2]: Leaving directory `.../llvm/build/llvm/tools/llvm-link' llvm-config...
2007 Oct 09
1
[LLVMdev] Supporting pre-allocated registers in LLVM
Quoting Bill Wendling <isanbard at gmail.com>: > Hi Nikolaos, > > I have an alpha version of Chow & Hennesey's priority-based graph > coloring algorithm. It's suffering from some bit-rotting -- e.g., > there's some trouble with how it calculates "forbidden" registers. > You're welcome to the code, if you'd like to hack on it. I've been
2010 May 04
4
[LLVMdev] Register Allocation: Interference graph
David Greene wrote: > On Saturday 01 May 2010 08:34:50 Josef Eisl wrote: >> Hello, >> >> I want learn more about register allocation and do some analysis for a >> current research project. After reading some papers (eg. Chaitin, >> Briggs) I think its time to get my hands dirty :). > > Welcome! > >> First I plan to (re)implement some of the classic
2010 May 18
2
[LLVMdev] Fast register allocation
...EmitPasses() { // Set register scheduler & allocation policy. RegisterScheduler::setDefault(createDefaultScheduler); - RegisterRegAlloc::setDefault(Fast ? createLocalRegisterAllocator : + RegisterRegAlloc::setDefault(Fast ? createFastRegisterAllocator : createLinearScanRegisterAllocator); // Create the code generator passes. I have tested clang self hosting on x86-64 and x64 with this patch. On the nightly test suite, -regalloc=fast performs as well as -regalloc=local. See PR7154. I expect we may see some problems with the register scavenger on ARM because -regalloc=fas...
2006 Nov 20
0
[LLVMdev] FP emulation (continued)
On Fri, 17 Nov 2006, Roman Levenstein wrote: > I still have some questions about FP emulation for my embedded target. > To recap a bit: > My target only has integer registers and no hardware support for FP. FP > is supported only via emulation. Only f64 is supported. All FP > operations should be implemented to use i32 registers. ok > allocation. But anyway, I have an almost
2006 Nov 17
2
[LLVMdev] FP emulation (continued)
Hi, I still have some questions about FP emulation for my embedded target. To recap a bit: My target only has integer registers and no hardware support for FP. FP is supported only via emulation. Only f64 is supported. All FP operations should be implemented to use i32 registers. Based on the fruitful discussions on this list I was already able to implement mapping of the FP operations to
2006 Nov 20
3
[LLVMdev] FP emulation (continued)
...quot;, createTargetXRegisterAllocator); struct VISIBILITY_HIDDEN RA : public MachineFunctionPass { private: MachineFunctionPass *RealRegAlloc; public: RA() { // Instantiate a real allocator to do the job! RealRegAlloc = (MachineFunctionPass*)(createLinearScanRegisterAllocator()); } virtual const char* getPassName() const { return "TargetX Register Allocator"; } virtual void getAnalysisUsage(AnalysisUsage &AU) const { // Add target specific pass as a requirement AU.addRequired<f64toi32pass>(); // R...
2007 Apr 30
1
[LLVMdev] llvm-gcc build broken
...eclared /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:178: error: `createBFS_DAGScheduler' was not declared in this scope /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:181: error: `RegisterRegAlloc' has not been declared /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:181: error: `createLinearScanRegisterAllocator' was not declared in this scope /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp: In function `void llvm_lang_dependent_init(const char*)': /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:189: error: invalid use of undefined type `struct llvm::Module' /projects/compiler/llvm-gcc/...