[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