- Nov 16, 2004
-
-
Chris Lattner authored
* Get rid of "emitMaybePCRelativeValue", either we want to emit a PC relative value or not: drop the maybe BS. As it turns out, the only places where the bool was a variable coming in, the bool was a dynamic constant. llvm-svn: 17867
-
Chris Lattner authored
set up. llvm-svn: 17862
-
Chris Lattner authored
llvm-svn: 17861
-
- Nov 15, 2004
-
-
Misha Brukman authored
llvm-svn: 17851
-
Brian Gaeke authored
llvm-svn: 17823
-
Brian Gaeke authored
llvm-svn: 17822
-
- Nov 14, 2004
-
-
Misha Brukman authored
llvm-svn: 17750
-
Misha Brukman authored
llvm-svn: 17749
-
Misha Brukman authored
llvm-svn: 17744
-
Brian Gaeke authored
llvm-svn: 17733
-
Brian Gaeke authored
Exclude bigfib, so that we effectively exclude all C++ benchmarks. Update to-do list: mention va_start. llvm-svn: 17732
-
Brian Gaeke authored
not zero. llvm-svn: 17728
-
Brian Gaeke authored
llvm-svn: 17725
-
Brian Gaeke authored
llvm-svn: 17723
-
Brian Gaeke authored
llvm-svn: 17722
-
Brian Gaeke authored
llvm-svn: 17721
-
Chris Lattner authored
llvm-svn: 17714
-
- Nov 13, 2004
-
-
Chris Lattner authored
CBackend/2004-11-13-FunctionPointerCast.llx llvm-svn: 17710
-
Chris Lattner authored
shld is a very high latency operation. Instead of emitting it for shifts of two or three, open code the equivalent operation which is faster on athlon and P4 (by a substantial margin). For example, instead of compiling this: long long X2(long long Y) { return Y << 2; } to: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx shldl $2, %eax, %edx shll $2, %eax ret Compile it to: X2: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx shrl $30, %edx leal (%edx,%ecx,4), %edx shll $2, %eax ret Likewise, for << 3, compile to: X3: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx shrl $29, %edx leal (%edx,%ecx,8), %edx shll $3, %eax ret This matches icc, except that icc open codes the shifts as adds on the P4. llvm-svn: 17707
-
Chris Lattner authored
llvm-svn: 17706
-
Chris Lattner authored
long long X3_2(long long Y) { return Y+Y; } int X(int Y) { return Y+Y; } into: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx addl %eax, %eax adcl %edx, %edx ret X: movl 4(%esp), %eax addl %eax, %eax ret instead of: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx shldl $1, %eax, %edx shll $1, %eax ret X: movl 4(%esp), %eax shll $1, %eax ret llvm-svn: 17705
-
- Nov 10, 2004
-
-
John Criswell authored
It's stosl (l for long == 32 bit). llvm-svn: 17658
-
- Nov 09, 2004
-
-
Nate Begeman authored
llvm-svn: 17637
-
- Nov 08, 2004
-
-
Nate Begeman authored
move instructions for the register allocator to coalesce. llvm-svn: 17608
-
- Nov 07, 2004
-
-
Nate Begeman authored
llvm-svn: 17583
-
Chris Lattner authored
llvm-svn: 17547
-
Chris Lattner authored
llvm-svn: 17544
-
- Nov 05, 2004
-
-
John Criswell authored
llvm-svn: 17488
-
Chris Lattner authored
llvm-svn: 17484
-
- Nov 04, 2004
-
-
Nate Begeman authored
int test(int x) { return 32768 - x; } Fixed by teaching the function that checks a constant's validity to be used as an immediate argument about subtract-from instructions. llvm-svn: 17476
-
Brian Gaeke authored
llvm-svn: 17464
-
- Nov 02, 2004
-
-
Chris Lattner authored
This method is really a gross hack, but at least we can make it work on the targets we support right now. This bug fix stops a crash in a testcase reduced from 176.gcc llvm-svn: 17443
-
Tanya Lattner authored
Added gross hacks such as creating my own def-use map, and picking on Instruction that I can add all my TmpInstructions to its MCFI. llvm-svn: 17441
-
Chris Lattner authored
llvm-svn: 17431
-
- Nov 01, 2004
-
-
Chris Lattner authored
llvm-svn: 17406
-
- Oct 30, 2004
-
-
Reid Spencer authored
llvm-svn: 17359
-
Tanya Lattner authored
Fixed issue with generating the partial order. It now adds the nodes not in recurrences in sets for each connected component. llvm-svn: 17351
-
- Oct 29, 2004
-
-
Brian Gaeke authored
llvm-svn: 17347
-
Brian Gaeke authored
llvm-svn: 17346
-
- Oct 28, 2004
-
-
Reid Spencer authored
llvm-svn: 17286
-