[llvm-commits] [llvm] r108536 - in /llvm/trunk: lib/Target/X86/CMakeLists.txt lib/Target/X86/X86.h lib/Target/X86/X86CodeEmitter.cpp lib/Target/X86/X86FloatingPointRegKill.cpp lib/Target/X86/X86InstrFPStack.td lib/Target/X86/X86InstrInfo.cpp lib/Target/X86/X86TargetMachine.cpp test/CodeGen/X86/2007-06-14-branchfold.ll

Chris Lattner clattner at apple.com
Sat Jul 17 12:32:45 PDT 2010


On Jul 17, 2010, at 11:48 AM, Jakob Stoklund Olesen wrote:

> 
> On Jul 17, 2010, at 10:38 AM, Chris Lattner wrote:
> 
>> 
>> On Jul 16, 2010, at 10:41 AM, Jakob Stoklund Olesen wrote:
>> 
>>> Author: stoklund
>>> Date: Fri Jul 16 12:41:44 2010
>>> New Revision: 108536
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=108536&view=rev
>>> Log:
>>> Remove the X86::FP_REG_KILL pseudo-instruction and the X86FloatingPointRegKill
>>> pass that inserted it.
>>> 
>>> It is no longer necessary to limit the live ranges of FP registers to a single
>>> basic block.
>> 
>> This is *really really* awesome Jakob.  This was a huge long-standing code quality deficiency of LLVM vs other compilers, thanks for doing it!
> 
> No problem, we really needed to lose the arbitrary constraints on FP registers for LICM and live range splitting.
> 
> I ran the nightly test suite with -arch i386 -mfpmath=387 -mcpu=pentium, and the global stackifier as llcbeta. These are the double-digit improvements:

Wow, great results.  Users of long double will be very happy also :)

-Chris





More information about the llvm-commits mailing list