[llvm-commits] [llvm] r147827 - in /llvm/trunk: lib/CodeGen/MachineCSE.cpp test/CodeGen/ARM/machine-cse-cmp.ll test/CodeGen/Thumb2/thumb2-cbnz.ll test/CodeGen/X86/machine-cse.ll

Evan Cheng evan.cheng at apple.com
Tue Jan 10 16:42:47 PST 2012


On Jan 9, 2012, at 7:23 PM, Jakob Stoklund Olesen wrote:

> 
> On Jan 9, 2012, at 6:02 PM, Evan Cheng wrote:
> 
>> Allow machine-cse to look across MBB boundary when cse'ing instructions that
>> define physical registers. It's currently very restrictive, only catching
>> cases where the CE is in an immediate (and only) predecessor. But it catches
>> a surprising large number of cases.
> 
> Yikes, that's pretty scary. You could badly constrain register allocation by extend the live range of random physical registers. You could also make the program impossible to register allocate, like physreg coalescing used to do on occasion.
> 
> Could this be limited to only unallocatable physregs? I am assuming you are after EFLAGS/CPSR anyway.
> 
> Check out TRI::isInAllocatableClass(), or even RegisterClassInfo::isAllocatable().

Ok. I've constrained it with r147902.

Evan

> 
> /jakob
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120110/5b90dd1b/attachment.html>


More information about the llvm-commits mailing list