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...