- Jan 10, 2005
-
-
Chris Lattner authored
llvm-svn: 19435
-
- Jan 09, 2005
-
-
Chris Lattner authored
of an ADDri (due to current restrictions on MachineOperand :( ). This allows us to generate: leal Data+16000, %edx instead of: movl $Data, %edx addl $16000, %edx llvm-svn: 19420
-
Chris Lattner authored
llvm-svn: 19418
-
Chris Lattner authored
Also, fix zero_extend from bool to i8, which fixes Shootout/objinst. llvm-svn: 19414
-
Chris Lattner authored
llvm-svn: 19410
-
Chris Lattner authored
patch, all of SingleSource/UnitTests passes. llvm-svn: 19408
-
- Jan 08, 2005
-
-
Chris Lattner authored
gets clobbered by a previous statement. This fixes all calls finally. llvm-svn: 19399
-
Chris Lattner authored
llvm-svn: 19398
-
Chris Lattner authored
llvm-svn: 19396
-
Chris Lattner authored
Minor bugfixes llvm-svn: 19376
-
Chris Lattner authored
llvm-svn: 19367
-
Chris Lattner authored
store float 123.45, float* %P as an integer store. This adds handling of float immediate stores as integers for arguments passed function calls. This is now tested by CodeGen/X86/store-fp-constant.ll llvm-svn: 19364
-
- Jan 07, 2005
-
-
Chris Lattner authored
For now, this is the default, as the current selector is missing some big pieces. To enable the new selector, pass -disable-pattern-isel=false to llc or lli. llvm-svn: 19335
-
Chris Lattner authored
pieces, but can already do amazing things in some cases. llvm-svn: 19334
-
Chris Lattner authored
llvm-svn: 19333
-
Chris Lattner authored
llvm-svn: 19332
-
- Jan 06, 2005
-
-
Chris Lattner authored
llvm-svn: 19313
-
- Jan 05, 2005
-
-
Chris Lattner authored
precisely represented as a float, put it into the constant pool as a float. 2. Use the cbw/cwd/cdq instructions instead of an explicit SAR for signed division. llvm-svn: 19291
-
Chris Lattner authored
llvm-svn: 19289
-
- Jan 03, 2005
-
-
Jeff Cohen authored
llvm-svn: 19273
-
Chris Lattner authored
llvm-svn: 19264
-
- Jan 02, 2005
-
-
Jeff Cohen authored
to get Visual Studio to link in X86.lib to the executables that need it. There is another way of doing it. llvm-svn: 19252
-
Chris Lattner authored
addition to being three address, LEA's don't set the flags. This fixes 186.crafty. llvm-svn: 19251
-
Chris Lattner authored
llvm-svn: 19249
-
Chris Lattner authored
llvm-svn: 19248
-
Chris Lattner authored
branches. llvm-svn: 19247
-
Chris Lattner authored
1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP. 2. Set the isCommutable and isPromotableTo3Address bits on several instructions. llvm-svn: 19246
-
- Dec 17, 2004
-
-
Chris Lattner authored
llvm-svn: 19024
-
Chris Lattner authored
llvm-svn: 19007
-
Chris Lattner authored
save small amounts of time for functions that don't call llvm.returnaddress or llvm.frameaddress (which is almost all functions). llvm-svn: 19006
-
- Dec 16, 2004
-
-
Chris Lattner authored
llvm-svn: 18987
-
- Dec 13, 2004
-
-
Chris Lattner authored
don't support long double anyway, and this gives us FP results closer to other targets. This also speeds up 179.art from 41.4s to 18.32s, by eliminating a problem with extra precision that causes an FP == comparison to fail (leading to extra loop iterations). llvm-svn: 18895
-
- Dec 12, 2004
-
-
Chris Lattner authored
llvm-svn: 18830
-
- Dec 03, 2004
-
-
Chris Lattner authored
llvm-svn: 18449
-
- Dec 02, 2004
-
-
Chris Lattner authored
instead of 80-bits of precision. This fixes PR467. This change speeds up fldry on X86 with LLC from 7.32s on apoc to 4.68s. llvm-svn: 18433
-
Chris Lattner authored
llvm-svn: 18432
-
- Dec 01, 2004
-
-
Tanya Lattner authored
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021428.html It broke Mutlisource/Applications/obsequi llvm-svn: 18407
-
- Nov 29, 2004
-
-
Chris Lattner authored
to Brian and the Sun compiler for pointing out that the obvious works :) This also enables folding all long comparisons into setcc and branch instructions: before we could only do == and != For example, for: void test(unsigned long long A, unsigned long long B) { if (A < B) foo(); } We now generate: test: subl $4, %esp movl %esi, (%esp) movl 8(%esp), %eax movl 12(%esp), %ecx movl 16(%esp), %edx movl 20(%esp), %esi subl %edx, %eax sbbl %esi, %ecx jae .LBBtest_2 # UnifiedReturnBlock .LBBtest_1: # then call foo movl (%esp), %esi addl $4, %esp ret .LBBtest_2: # UnifiedReturnBlock movl (%esp), %esi addl $4, %esp ret Instead of: test: subl $12, %esp movl %esi, 8(%esp) movl %ebx, 4(%esp) movl 16(%esp), %eax movl 20(%esp), %ecx movl 24(%esp), %edx movl 28(%esp), %esi cmpl %edx, %eax setb %al cmpl %esi, %ecx setb %bl cmove %ax, %bx testb %bl, %bl je .LBBtest_2 # UnifiedReturnBlock .LBBtest_1: # then call foo movl 4(%esp), %ebx movl 8(%esp), %esi addl $12, %esp ret .LBBtest_2: # UnifiedReturnBlock movl 4(%esp), %ebx movl 8(%esp), %esi addl $12, %esp ret llvm-svn: 18330
-
- Nov 22, 2004
-
-
Chris Lattner authored
Do not push two return addresses on the stack when we call external functions who have their addresses taken. This fixes test-call.ll llvm-svn: 18134
-
- Nov 21, 2004
-
-
Chris Lattner authored
llvm-svn: 18082
-