- Apr 17, 2007
-
-
Reid Spencer authored
llvm-svn: 36179
-
Reid Spencer authored
used because we *do* want to allow nulls in names. llvm-svn: 36178
-
- Apr 16, 2007
-
-
Jeff Cohen authored
llvm-svn: 36177
-
Reid Spencer authored
forcing every small argument of every function regardless of attributes or calling convention to be expanded. llvm-svn: 36174
-
Jeff Cohen authored
replaced it with a FIXME should have determined what did work. Then he would have realized that the code was in fact correct, and would have avoided breaking it. llvm-svn: 36173
-
Devang Patel authored
llvm-svn: 36159
-
Devang Patel authored
llvm-svn: 36158
-
Devang Patel authored
llvm-svn: 36157
-
Reid Spencer authored
llvm-svn: 36156
-
Reid Spencer authored
Thanks, Chris. llvm-svn: 36155
-
Devang Patel authored
function passes. llvm-svn: 36154
-
Devang Patel authored
pass required by one of pass managed by the manager. llvm-svn: 36153
-
Anton Korobeynikov authored
target for tabs checking. llvm-svn: 36146
-
Reid Spencer authored
llvm-svn: 36144
-
Reid Spencer authored
llvm-svn: 36143
-
Reid Spencer authored
Thanks, Chris. llvm-svn: 36139
-
Reid Spencer authored
Subtarget option names must be given in lower case in order to be recognized. Fixes test/CodeGen/Alpha/ctlz.ll llvm-svn: 36125
-
Reid Spencer authored
llvm-svn: 36123
-
Reid Spencer authored
llvm-svn: 36122
-
Reid Spencer authored
Use the new parameter on Function::getIntrinsicID to identify cases where a function is being called with an "llvm." name but it isn't actually an intrinsic. In such cases generate an error. llvm-svn: 36121
-
Reid Spencer authored
Don't assert everytime an intrinsic name isn't recognized. Instead, make the assert optional when callin getIntrinsicID(). This allows the assembler to handle invalid intrinsic names gracefully. llvm-svn: 36120
-
Reid Spencer authored
llvm-svn: 36102
-
Reid Spencer authored
Fix a div-by-zero bug noticed by APInt. This fixes: test/Transforms/IndVarsSimplify/exit_value_tests.llx llvm-svn: 36099
-
Owen Anderson authored
llvm-svn: 36094
-
- Apr 15, 2007
-
-
Chris Lattner authored
llvm-svn: 36090
-
Chris Lattner authored
Transforms/IndVarsSimplify/exit_value_tests.llx llvm-svn: 36081
-
Owen Anderson authored
Remove ImmediateDominator analysis. The same information can be obtained from DomTree. A lot of code for constructing ImmediateDominator is now folded into DomTree construction. This is part of the ongoing work for PR217. llvm-svn: 36063
-
Chris Lattner authored
llvm-svn: 36047
-
Chris Lattner authored
This sinks the two stores in this example into a single store in cond_next. In this case, it allows elimination of the load as well: store double 0.000000e+00, double* @s.3060 %tmp3 = fcmp ogt double %tmp1, 5.000000e-01 ; <i1> [#uses=1] br i1 %tmp3, label %cond_true, label %cond_next cond_true: ; preds = %entry store double 1.000000e+00, double* @s.3060 br label %cond_next cond_next: ; preds = %entry, %cond_true %tmp6 = load double* @s.3060 ; <double> [#uses=1] This implements Transforms/InstCombine/store-merge.ll:test2 llvm-svn: 36040
-
Chris Lattner authored
llvm-svn: 36037
-
Owen Anderson authored
llvm-svn: 36035
-
Owen Anderson authored
in the long process that will be fixing PR 217. llvm-svn: 36034
-
Chris Lattner authored
llvm-svn: 36031
-
Chris Lattner authored
llvm-svn: 36028
-
Chris Lattner authored
define i32 @test(float %f) { %tmp7 = insertelement <4 x float> undef, float %f, i32 0 %tmp17 = bitcast <4 x float> %tmp7 to <4 x i32> %tmp19 = extractelement <4 x i32> %tmp17, i32 0 ret i32 %tmp19 } into: define i32 @test(float %f) { %tmp19 = bitcast float %f to i32 ; <i32> [#uses=1] ret i32 %tmp19 } On PPC, this is the difference between: _test: mfspr r2, 256 oris r3, r2, 8192 mtspr 256, r3 stfs f1, -16(r1) addi r3, r1, -16 addi r4, r1, -32 lvx v2, 0, r3 stvx v2, 0, r4 lwz r3, -32(r1) mtspr 256, r2 blr and: _test: stfs f1, -4(r1) nop nop nop lwz r3, -4(r1) blr llvm-svn: 36025
-
Chris Lattner authored
unsigned test(float f) { return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f*f )); } into: _test: movss 4(%esp), %xmm0 mulss %xmm0, %xmm0 movd %xmm0, %eax ret instead of: _test: movss 4(%esp), %xmm0 mulss %xmm0, %xmm0 xorps %xmm1, %xmm1 movss %xmm0, %xmm1 movd %xmm1, %eax ret GCC gets: _test: subl $28, %esp movss 32(%esp), %xmm0 mulss %xmm0, %xmm0 xorps %xmm1, %xmm1 movss %xmm0, %xmm1 movaps %xmm1, %xmm0 movd %xmm0, 12(%esp) movl 12(%esp), %eax addl $28, %esp ret llvm-svn: 36020
-
Chris Lattner authored
llvm-svn: 36017
-
- Apr 14, 2007
-
-
Jeff Cohen authored
llvm-svn: 36016
-
Chris Lattner authored
some reason. :( Will investigate. llvm-svn: 36011
-
Chris Lattner authored
llvm-svn: 36002
-