summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change inferred cast creation calls to more specific cast creations.Reid Spencer2006-12-125-9/+13
| | | | llvm-svn: 32460
* use MVN to handle small negative constantsRafael Espindola2006-12-124-7/+39
| | | | llvm-svn: 32459
* Don't bother upgrading this.Reid Spencer2006-12-121-2/+2
| | | | llvm-svn: 32458
* Implement getIntegerCast and getFPCast for ConstantExpr. These are similarReid Spencer2006-12-122-0/+36
| | | | | | to the createIntegerCast and createFPCast for CastInst instructions. llvm-svn: 32457
* Implement createIntegerCast and createFPCast factory methods for handlingReid Spencer2006-12-122-0/+86
| | | | | | | | integer and floating point cast creation. createIntegerCast generates ZExt/SExt, BitCast or Trunc. createFPCast generates FPExt, Bitcast, or FPTrunc. llvm-svn: 32456
* Fix PR1040:Reid Spencer2006-12-121-3/+8
| | | | | | Don't rebuild llvm-config if none of the library dependencies changed. llvm-svn: 32455
* add mvnRafael Espindola2006-12-122-0/+58
| | | | llvm-svn: 32454
* Fix the BitCastUnion type for 32-bit targets.Reid Spencer2006-12-121-6/+6
| | | | llvm-svn: 32453
* add noteRafael Espindola2006-12-111-0/+13
| | | | llvm-svn: 32452
* Another step forward in PPC64 JIT support: we now no-longer need stubsChris Lattner2006-12-115-33/+83
| | | | | | | | | | emitted for external globals in PPC64-JIT-PIC mode (which is good because we didn't handle them before!). This also fixes a bug handling the picbase delta, which we would get wrong in some cases. llvm-svn: 32451
* Create the cast constant expression that was read instead of attemptingReid Spencer2006-12-111-1/+2
| | | | | | | to infer the cast from its operand and type. This fixes: test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll llvm-svn: 32450
* Test case for ensuring correct reading back of cast constant expressions.Reid Spencer2006-12-111-0/+8
| | | | llvm-svn: 32449
* getInstrItineraryData shouldn't copy the itinerariesChris Lattner2006-12-111-1/+1
| | | | llvm-svn: 32448
* Fix constant folding of FP->int due to cut & paste error in last commit.Reid Spencer2006-12-111-2/+3
| | | | llvm-svn: 32447
* Add a test for constant folding of bitcast to/from floating point.Reid Spencer2006-12-111-0/+18
| | | | llvm-svn: 32446
* Provide a test for int<->float and long<->double bitcasts.Reid Spencer2006-12-111-0/+48
| | | | llvm-svn: 32445
* Implement correct bitcast of int<->float and long<->double by using aReid Spencer2006-12-111-14/+58
| | | | | | union to perform the bitcast. llvm-svn: 32444
* Re-apply changes that were backed out and fix a naughty typo.Evan Cheng2006-12-111-10/+15
| | | | llvm-svn: 32442
* It seems the llvm::OStream class does not handle stream manipulators.John Criswell2006-12-111-7/+7
| | | | | | For now, just grab the stream and perform the output on it directly. llvm-svn: 32441
* Revert changes that broke oggenc on ppcChris Lattner2006-12-111-14/+9
| | | | llvm-svn: 32440
* Missing opcode.Jim Laskey2006-12-111-0/+1
| | | | llvm-svn: 32439
* Implement correct constant folding of bitcast. This implementsChris Lattner2006-12-111-15/+33
| | | | | | | Transforms/ConstProp/bitcast.ll and fixes SingleSource/Regression/C/2003-10-12-GlobalVarInitializers llvm-svn: 32438
* constant folding of bitcast is broken.Chris Lattner2006-12-111-0/+4
| | | | llvm-svn: 32437
* Layout proper frame for ppc64.Jim Laskey2006-12-111-28/+38
| | | | llvm-svn: 32436
* Provide a script that can track down which optimization pass causesReid Spencer2006-12-111-0/+99
| | | | | | | different code to be produced between two llvm builds that differe slightly. This is useful in tracking down mis-optimization bugs. llvm-svn: 32435
* Don't convert store double C, Ptr to store long C, Ptr if i64 is not a legal ↵Evan Cheng2006-12-111-9/+12
| | | | | | type. llvm-svn: 32434
* f32 / f64 node is expanded to one i32 / i64 node.Evan Cheng2006-12-111-5/+12
| | | | llvm-svn: 32433
* Clean up some bad code.Evan Cheng2006-12-111-5/+3
| | | | llvm-svn: 32432
* Move something that should be in the dag combiner from the legalizer to theNate Begeman2006-12-112-17/+15
| | | | | | dag combiner. llvm-svn: 32431
* Properly mangles symbol table namesNate Begeman2006-12-113-160/+398
| | | | | | | | | Supports constant pools Supports relocations to jump tables Supports relocations within the data segment (global = address of global) Allocates memory in a non-hacky for all non-code objects. llvm-svn: 32430
* Add a default relocation type, and allow clients to set the ConstantValNate Begeman2006-12-111-0/+14
| | | | | | field after creation. llvm-svn: 32429
* fix typoChris Lattner2006-12-111-1/+1
| | | | llvm-svn: 32428
* Update note, with the SROA change, we now produce:Chris Lattner2006-12-111-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | _pairtest: movl 8(%esp), %eax movl 4(%esp), %ecx movd %eax, %xmm0 movd %ecx, %xmm1 addss %xmm0, %xmm1 movl 12(%esp), %eax movss %xmm1, (%eax) ret instead of: _pairtest: subl $12, %esp movl 20(%esp), %eax movl %eax, 4(%esp) movl 16(%esp), %eax movl %eax, (%esp) movss (%esp), %xmm0 addss 4(%esp), %xmm0 movl 24(%esp), %eax movss %xmm0, (%eax) addl $12, %esp ret llvm-svn: 32427
* trunc to integer, not to FP.Chris Lattner2006-12-111-2/+11
| | | | llvm-svn: 32426
* the xform is done by scalarrepl not the code generator.Chris Lattner2006-12-111-3/+2
| | | | llvm-svn: 32425
* this is doneChris Lattner2006-12-111-27/+0
| | | | llvm-svn: 32424
* Evan implemented the machineinstr improvements.Chris Lattner2006-12-111-46/+23
| | | | | | | | The rot example works if the type is cast to ubyte. Move sroa examples together and upgrade them to HEAD syntax. llvm-svn: 32423
* implement promotion of unions containing two packed types of the same width.Chris Lattner2006-12-111-15/+30
| | | | | | This implements Transforms/ScalarRepl/union-packed.ll llvm-svn: 32422
* new testcaseChris Lattner2006-12-111-0/+12
| | | | llvm-svn: 32421
* clarify some comments, simplify some checks, fix:Chris Lattner2006-12-111-7/+7
| | | | | | Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll llvm-svn: 32420
* testcase for a regression introduced by the recent cast patchChris Lattner2006-12-111-0/+38
| | | | llvm-svn: 32419
* * Eliminate calls to CastInst::createInferredCast.Chris Lattner2006-12-101-40/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* new testcaseChris Lattner2006-12-101-0/+10
| | | | llvm-svn: 32417
* Regenerate.Reid Spencer2006-12-101-3/+1
| | | | llvm-svn: 32416
* Cleaned setjmp/longjmp lowering interfaces. Now we're producing rightAnton Korobeynikov2006-12-108-34/+52
| | | | | | | code (both asm & cbe) for Mingw32 target. Removed autoconf checks for underscored versions of setjmp/longjmp. llvm-svn: 32415
* make statistics and timing info print even if the JIT'd program calls exitChris Lattner2006-12-101-1/+1
| | | | | | instead of returning from main. llvm-svn: 32414
* Reverting until finding the cause of secondary bugs.Jim Laskey2006-12-101-33/+28
| | | | llvm-svn: 32413
* __PPC64CompilationCallback code was allowing registers to be clobbered by stub.Jim Laskey2006-12-101-28/+33
| | | | llvm-svn: 32412
* fix PR1039 by making timing info be destroyed by llvm_shutdown, not byChris Lattner2006-12-102-4/+5
| | | | | | static dtors. llvm-svn: 32411
* Don't bother with setting the path before running llvm-gcc4, it doesn'tReid Spencer2006-12-101-4/+5
| | | | | | need it like llvm-gcc3 did. llvm-svn: 32410
OpenPOWER on IntegriCloud