- Dec 11, 2006
-
-
Chris Lattner authored
This implements Transforms/ScalarRepl/union-packed.ll llvm-svn: 32422
-
Chris Lattner authored
Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll llvm-svn: 32420
-
Chris Lattner authored
* Add support for promoting unions with fp values in them. This produces our new int<->fp bitcast instructions, implementing Transforms/ScalarRepl/union-fp-int.ll As an example, this allows us to compile this: union intfloat { int i; float f; }; float invsqrt(const float arg_x) { union intfloat x = { .f = arg_x }; const float xhalf = arg_x * 0.5f; x.i = 0x5f3759df - (x.i >> 1); return x.f * (1.5f - xhalf * x.f * x.f); } into: _invsqrt: movss 4(%esp), %xmm0 movd %xmm0, %eax sarl %eax movl $1597463007, %ecx subl %eax, %ecx movd %ecx, %xmm1 mulss LCPI1_0, %xmm0 mulss %xmm1, %xmm0 movss LCPI1_1, %xmm2 mulss %xmm1, %xmm0 subss %xmm0, %xmm2 movl 8(%esp), %eax mulss %xmm2, %xmm1 movss %xmm1, (%eax) ret instead of: _invsqrt: subl $4, %esp movss 8(%esp), %xmm0 movss %xmm0, (%esp) movl (%esp), %eax movl $1597463007, %ecx sarl %eax subl %eax, %ecx movl %ecx, (%esp) mulss LCPI1_0, %xmm0 movss (%esp), %xmm1 mulss %xmm1, %xmm0 mulss %xmm1, %xmm0 movss LCPI1_1, %xmm2 subss %xmm0, %xmm2 mulss %xmm2, %xmm1 movl 12(%esp), %eax movss %xmm1, (%eax) addl $4, %esp ret llvm-svn: 32418
-
Anton Korobeynikov authored
code (both asm & cbe) for Mingw32 target. Removed autoconf checks for underscored versions of setjmp/longjmp. llvm-svn: 32415
-
- Dec 10, 2006
-
-
Jim Laskey authored
llvm-svn: 32413
-
Jim Laskey authored
llvm-svn: 32412
-
Chris Lattner authored
static dtors. llvm-svn: 32411
-
Rafael Espindola authored
.comm is in bytes :-( llvm-svn: 32408
-
Rafael Espindola authored
if a variable has no initialization, I->getInitializer() will fail llvm-svn: 32407
-
- Dec 09, 2006
-
-
Evan Cheng authored
llvm-svn: 32394
-
Evan Cheng authored
llvm-svn: 32393
-
Devang Patel authored
llvm-svn: 32389
-
Devang Patel authored
removed now. llvm-svn: 32388
-
Devang Patel authored
llvm-svn: 32387
-
Devang Patel authored
llvm-svn: 32386
-
Devang Patel authored
pass manager queuer. llvm-svn: 32385
-
Devang Patel authored
AnalysisResolver. llvm-svn: 32383
-
Devang Patel authored
top level manager. Use this info to findAnalysisPass. llvm-svn: 32382
-
- Dec 08, 2006
-
-
Devang Patel authored
llvm-svn: 32381
-
Devang Patel authored
Use one provided by toplevel manager. llvm-svn: 32380
-
Devang Patel authored
llvm-svn: 32379
-
Devang Patel authored
llvm-svn: 32378
-
Devang Patel authored
PMDataManager::findAnalysisPass() llvm-svn: 32377
-
Rafael Espindola authored
llvm-svn: 32376
-
Reid Spencer authored
MarkAliveBlocks. llvm-svn: 32375
-
Rafael Espindola authored
llvm-svn: 32373
-
Chris Lattner authored
Instead, the stat info is printed when llvm_shutdown() is called. These also don't need static ctors, but getting rid of them is uglier: still investigating. This reduces the number of static dtors in llvm from ~1400 to ~750. llvm-svn: 32372
-
Devang Patel authored
llvm-svn: 32371
-
Devang Patel authored
llvm-svn: 32370
-
Devang Patel authored
llvm-svn: 32368
-
Evan Cheng authored
llvm-svn: 32366
-
Rafael Espindola authored
llvm-svn: 32364
-
Andrew Lenharth authored
llvm-svn: 32362
-
Andrew Lenharth authored
llvm-svn: 32361
-
Evan Cheng authored
tied to another oeprand, 2) whether is is being tied to by another operand. So the destination operand of a two-address MI can be correctly identified. llvm-svn: 32354
-
Evan Cheng authored
llvm-svn: 32353
-
Evan Cheng authored
llvm-svn: 32352
-
Chris Lattner authored
llvm-svn: 32351
-
Chris Lattner authored
which allows the code to be above the 2G marker. We still need to JIT emit dyld stubs to support external, weak, common, etc globals, but that will happen tomorrow. llvm-svn: 32348
-
Chris Lattner authored
llvm-svn: 32347
-