search for: rafast

Displaying 11 results from an estimated 11 matches for "rafast".

2010 May 18
2
[LLVMdev] Fast register allocation
...y works well for unoptimized code where live ranges are short. The fast allocator uses a few tricks to run faster than the local allocator while producing slightly better code. When RALocal allocates a physical register, it first checks if any aliases are in use to avoid clobbering a subregister. RAFast uses a working set strategy where recently killed registers are kept around for quick allocation without the alias scan. RALocal uses a least-recently-used algorithm for allocating registers. RAFast uses a whatever-I-can-get-my-hands-on-quickly algorithm. RALocal folds spills and restores into ot...
2010 Aug 05
1
[LLVMdev] RegAllocFast assertion in trunk...
...2 libSystem.B.dylib 0x00007fff8056935a _sigtramp + 26 3 libSystem.B.dylib 000000000000000000 _sigtramp + 2141809856 4 clang 0x00000001012dd96d llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 381 5 clang 0x0000000100ee6b70 (anonymous namespace)::RAFast::usePhysReg(llvm::MachineOperand&) + 208 6 clang 0x0000000100eebb62 (anonymous namespace)::RAFast::AllocateBasicBlock() + 2290 7 clang 0x0000000100eedf20 (anonymous namespace)::RAFast::runOnMachineFunction(llvm::MachineFunction&) + 480 8 clang 0x000000...
2010 Oct 15
2
[LLVMdev] [LLVMDev] Trouble Linking
I'm sorry, I don't know what you were looking for. The first 5 were scattered amidst different e-mails. The others have to do with following what "RAFast" and "RALinScan" as examples. It's a linker error, and I do not know why only opt and bugpoint does not compiler, and why llc does not show my reg alloc pass anymore. It worked before the API change e-mail was released. 1) I created my .cpp file RegAllocJDKunk.cpp in llvm/lib/Co...
2013 Oct 08
2
[LLVMdev] What makes register allocation expensive?
...OnMachineFunction Both cases use createJIT with default values, so optimization is presumably llvm::CodeGenOpt::Default. Disabling optimization yields a more reasonable run time with llvm-3.3: 1028 total 712 llvm::ExecutionEngine::runFunctionAsMain 491 SelectionDAGISel::runOnMachineFunction 85 RAFast::runOnMachineFunction But even llvm::CodeGenOpt::Less has become very expensive: 7633 total 7307 llvm::ExecutionEngine::runFunctionAsMain 3386 SelectionDAGISel::runOnMachineFunction 1311 RAGreedy::runOnMachineFunction 1157 RegisterCoalescer::runOnMachineFunction What might have changed between...
2013 Oct 08
0
[LLVMdev] What makes register allocation expensive?
...OnMachineFunction Both cases use createJIT with default values, so optimization is presumably llvm::CodeGenOpt::Default. Disabling optimization yields a more reasonable run time with llvm-3.3: 1028 total 712 llvm::ExecutionEngine::runFunctionAsMain 491 SelectionDAGISel::runOnMachineFunction 85 RAFast::runOnMachineFunction But even llvm::CodeGenOpt::Less has become very expensive: 7633 total 7307 llvm::ExecutionEngine::runFunctionAsMain 3386 SelectionDAGISel::runOnMachineFunction 1311 RAGreedy::runOnMachineFunction 1157 RegisterCoalescer::runOnMachineFunction What might have changed between...
2010 Oct 15
0
[LLVMdev] [LLVMDev] Trouble Linking
Jeff Kunkel <jdkunk3 at gmail.com> writes: > I ran cmake to build the visual studio projects. Then I included my > code under the Visual Studio interface, but I placed my code separate > from the CodeGen code. Visual studio was smart enough to compile and > link in my code into the CodeGen library. Thus, I did not need to add > my code into the same directory as the CodeGen
2010 Jun 04
0
[LLVMdev] Heads up: Local register allocator going away
...ib/CodeGen/RegisterScavenging.cpp:196: void llvm::RegScavenger::forward(): Assertion `SubUsed && "Using an undefined register!"' failed. In r103685 ("More asserts around physreg uses") the error changed to: llvm/lib/CodeGen/RegAllocFast.cpp:629: void<unnamed>::RAFast::AllocateBasicBlock(llvm::MachineBasicBlock&): Assertion `PhysRegState[Reg] <= regReserved && "Using clobbered physreg"' failed. And with latest it is now: Instruction uses an allocated register UNREACHABLE executed at /home/kraiskil/llvm/svn-clean/llvm/lib/CodeGen/Reg...
2010 Jun 03
2
[LLVMdev] Heads up: Local register allocator going away
I just changed the default register allocator for -O0 builds to the fast allocator. This means that the local register allocator is not used anymore, and since it does more or less the same as the fast allocator, there is no reason to keep it around. I am going to delete it in a week or two. If you are using the local register allocator, please try switching to the fast allocator and report any
2011 Dec 09
2
[LLVMdev] Spilling predicate registers
...owed to call MRI->createVirtualRegister() when it needs a scratch register. That doesn't work today because the register allocators don't expect it. I don't see any fundamental problems preventing it, though. We would need to make sure that all 4 register allocators can handle it. RAFast is the most difficult to fix. /jakob
2010 Oct 15
3
[LLVMdev] [LLVMDev] Trouble Linking
I ran cmake to build the visual studio projects. Then I included my code under the Visual Studio interface, but I placed my code separate from the CodeGen code. Visual studio was smart enough to compile and link in my code into the CodeGen library. Thus, I did not need to add my code into the same directory as the CodeGen files, and I did not need to change the CMakeList.txt. The offical name is
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...Map::runOnMachineFunction(llvm::MachineFunction&) in libLLVMCodeGen.a(VirtRegMap.cpp.o) llvm::RegScavenger::scavengeRegister(llvm::TargetRegisterClass const*, llvm::ilist_iterator<llvm::MachineInstr>, int)in libLLVMCodeGen.a(RegisterScavenging.cpp.o) (anonymous namespace)::RAFast::runOnMachineFunction(llvm::MachineFunction&) in libLLVMCodeGen.a(RegAllocFast.cpp.o) (anonymous namespace)::RALinScan::runOnMachineFunction(llvm::MachineFunction&) in libLLVMCodeGen.a(RegAllocLinearScan.cpp.o) llvm::AggressiveAntiDepBreaker::AggressiveAnt...