- Jun 27, 2008
-
-
Owen Anderson authored
This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++. llvm-svn: 52818
-
Chris Lattner authored
tolerate a non-nul-terminated string, and handling a direct global reference. llvm-svn: 52813
-
Chris Lattner authored
global is constant already. No functionality change. llvm-svn: 52812
-
Chris Lattner authored
llvm-svn: 52810
-
Bill Wendling authored
llvm-svn: 52808
-
Bill Wendling authored
llvm-svn: 52806
-
Owen Anderson authored
Don't perform expensive queries checking for super and sub registers when we know that there aren't any. This speed up LiveVariables on instcombine at -O0 -g from 0.3855s to 0.3503s. Look for more improvements in this area soon! llvm-svn: 52804
-
Bill Wendling authored
- Make sure that we're not recalculating the size of a vector that never changes. llvm-svn: 52803
-
Bill Wendling authored
some uses of std::vector, where it's return std::vector by value. Yuck! llvm-svn: 52800
-
- Jun 26, 2008
-
-
Chris Lattner authored
type legality. Thanks Duncan! llvm-svn: 52786
-
Owen Anderson authored
llvm-svn: 52785
-
Matthijs Kooijman authored
Patch by Hasso Tepper! llvm-svn: 52781
-
Bill Wendling authored
llvm-svn: 52775
-
Chris Lattner authored
This patch add supports for single architecture mach-o files (the current implementation only support Universal Binary), and solve the signature conflict between java class and Universal Binary magics. Note that this function will always returned dynamic library for Universal Binaries (like the current implementation) because the binary type is not include in the file header." Patch by Jean-Daniel Dupas! llvm-svn: 52766
-
Owen Anderson authored
llvm-svn: 52763
-
Dale Johannesen authored
<16 x float> is 64-byte aligned (for some reason), which gets us into the stack realignment code. The computation changing FP-relative offsets to SP-relative was broken, assiging a spill temp to a location also used for parameter passing. This fixes it by rounding up the stack frame to a multiple of the largest alignment (I concluded it wasn't fixable without doing this, but I'm not very sure.) llvm-svn: 52750
-
Eric Christopher authored
llvm-svn: 52749
-
Eric Christopher authored
string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. llvm-svn: 52748
-
Chris Lattner authored
change it to sint_to_fp on targets where that is cheaper (and visaversa of course). This allows us to compile uint_to_fp to: _test: movl 4(%esp), %eax shrl $23, %eax cvtsi2ss %eax, %xmm0 movl 8(%esp), %eax movss %xmm0, (%eax) ret instead of: .align 3 LCPI1_0: ## double .long 0 ## double least significant word 4.5036e+15 .long 1127219200 ## double most significant word 4.5036e+15 .text .align 4,0x90 .globl _test _test: subl $12, %esp movl 16(%esp), %eax shrl $23, %eax movl %eax, (%esp) movl $1127219200, 4(%esp) movsd (%esp), %xmm0 subsd LCPI1_0, %xmm0 cvtsd2ss %xmm0, %xmm0 movl 20(%esp), %eax movss %xmm0, (%eax) addl $12, %esp ret llvm-svn: 52747
-
Owen Anderson authored
Remember which MachineOperand we were processing, so we don't have to scan the list to find it again later. This speeds up live intervals from 0.37s to 0.30s on instcombine. llvm-svn: 52745
-
Dan Gohman authored
llvm-svn: 52744
-
- Jun 25, 2008
-
-
Evan Cheng authored
shift. - Add a readme entry for a missing vector_shuffle optimization that results in awful codegen. llvm-svn: 52740
-
Duncan Sands authored
For this it is convenient to permit floats to be used with EXTRACT_ELEMENT, so I tweaked things to allow that. I also added libcalls for ppcf128 to i32 forms of FP_TO_XINT, since they exist in libgcc and this case can certainly occur (and does occur in the testsuite) - before the i64 libcall was being used. Also, the XINT_TO_FP result seemed to be wrong when the argument is an i128: the wrong fudge factor was added (the i32 and i64 cases were handled directly, but the i128 code fell through to some generic softening code which seemed to think it was i64 to f32!). So I fixed it by adding a fudge factor that I found in my breakfast cereal. llvm-svn: 52739
-
Chris Lattner authored
llvm-svn: 52738
-
Evan Cheng authored
llvm-svn: 52736
-
Chris Lattner authored
InvalidateInstructionCache method instead of calling through a hook on the JIT. This is a host feature, not a target feature. llvm-svn: 52734
-
Chris Lattner authored
llvm-svn: 52733
-
Chris Lattner authored
llvm-svn: 52731
-
Dan Gohman authored
llvm-svn: 52725
-
Duncan Sands authored
select_cc and friends. This code could be factorized a bit but I'm not sure that it's worth it. llvm-svn: 52724
-
Duncan Sands authored
llvm-svn: 52723
-
Dan Gohman authored
the base SDNode's VTList. llvm-svn: 52722
-
Mon P Wang authored
Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub llvm-svn: 52706
-
Matthijs Kooijman authored
llvm-svn: 52705
-
Matthijs Kooijman authored
llvm-svn: 52704
-
Evan Cheng authored
- Avoid speculatively execute vector ops. llvm-svn: 52703
-
Chris Lattner authored
llvm-svn: 52702
-
Evan Cheng authored
llvm-svn: 52701
-
Owen Anderson authored
Use push_back rather than operator[], which is incorrect in this cases. Unfortunately, this slow the testcase down a little bit, but only marginally. llvm-svn: 52700
-
Dan Gohman authored
of after, so that any reallocation it does doesn't get counted for the pass being timed. This probably doesn't account for a timing discrepancy I was looking into, but I'm fixing it anyway. llvm-svn: 52693
-