summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* two register machineoperands are not identical unless their subregs match.Chris Lattner2007-12-301-1/+2
| | | | llvm-svn: 45455
* MachineOperand::getImmedValue -> MachineOperand::getImmChris Lattner2007-12-304-12/+9
| | | | llvm-svn: 45454
* Use MachineOperand::getImm instead of MachineOperand::getImmedValue. ↵Chris Lattner2007-12-3031-159/+156
| | | | | | Likewise setImmedValue -> setImm llvm-svn: 45453
* Trying r45451 again, but this time warning-free on 3.10.x.Gordon Henriksen2007-12-303-0/+9
| | | | llvm-svn: 45452
* Remove some lines that are nonportable to Ocaml 3.06.Gordon Henriksen2007-12-303-3/+0
| | | | llvm-svn: 45451
* Add some doxygen comments to llvm-c/Core.h.Gordon Henriksen2007-12-302-53/+73
| | | | llvm-svn: 45450
* make machine operands fatter: give each one an up-pointer to the Chris Lattner2007-12-303-6/+21
| | | | | | machineinstr that owns it. llvm-svn: 45449
* Strengthening this test so it fails in release mode.Gordon Henriksen2007-12-301-0/+1
| | | | llvm-svn: 45446
* split machineoperand out into its own header file.Chris Lattner2007-12-302-334/+354
| | | | llvm-svn: 45445
* If we have a load of a global address that's not modified during theBill Wendling2007-12-302-3/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function, then go ahead and hoist it out of the loop. This is the result: $ cat a.c volatile int G; int A(int N) { for (; N > 0; --N) G++; } $ llc -o - -relocation-model=pic _A: ... LBB1_2: # bb movl L_G$non_lazy_ptr-"L1$pb"(%eax), %esi incl (%esi) incl %edx cmpl %ecx, %edx jne LBB1_2 # bb ... $ llc -o - -relocation-model=pic -machine-licm _A: ... movl L_G$non_lazy_ptr-"L1$pb"(%eax), %eax LBB1_2: # bb incl (%eax) incl %edx cmpl %ecx, %edx jne LBB1_2 # bb ... I'm limiting this to the MOV32rm x86 instruction for now. llvm-svn: 45444
* Allow implicit casts during arithmetic for OCUVector operationsNate Begeman2007-12-304-9/+53
| | | | | | Add codegen support and test for said casts. llvm-svn: 45443
* Allow splat casts for OCU vector assignments & add some comments.Nate Begeman2007-12-301-0/+8
| | | | llvm-svn: 45442
* Rename stats to print-stats to avoid conflicting with llvm'sNate Begeman2007-12-303-3/+4
| | | | | | stats statistic when clang is built as a dylib. llvm-svn: 45441
* Allow codegen of vector fdivNate Begeman2007-12-301-1/+1
| | | | llvm-svn: 45440
* remove unneeded #includes.Chris Lattner2007-12-301-3/+0
| | | | llvm-svn: 45439
* remove a bunch of now-dead methods.Chris Lattner2007-12-301-50/+1
| | | | llvm-svn: 45438
* use simplified operand addition methods.Chris Lattner2007-12-302-10/+11
| | | | llvm-svn: 45437
* use simplified operand addition methods.Chris Lattner2007-12-301-17/+25
| | | | llvm-svn: 45436
* use simplified operand addition methods.Chris Lattner2007-12-301-30/+22
| | | | llvm-svn: 45435
* make offset operand optional.Chris Lattner2007-12-301-2/+2
| | | | llvm-svn: 45434
* Shrinkify the machine operand creation method names.Chris Lattner2007-12-303-20/+20
| | | | llvm-svn: 45433
* Start using the simplified methods for adding operands.Chris Lattner2007-12-303-28/+29
| | | | llvm-svn: 45432
* switch MIBuilder over to use the simplified operand addition methods.Chris Lattner2007-12-301-8/+9
| | | | llvm-svn: 45431
* 1. Make a static MachineOperand::create* method for everyChris Lattner2007-12-301-80/+94
| | | | | | | | operand type. 2. Move these create methods below the accessors. 3. Simplify all the MachineInstr::add* methods to use these. llvm-svn: 45430
* tblgen shouldn't include headers from llvm codegen.Chris Lattner2007-12-301-3/+3
| | | | llvm-svn: 45429
* simplify some code by factoring operand construction better.Chris Lattner2007-12-302-49/+27
| | | | llvm-svn: 45428
* implement codegen support for most unary operators when Chris Lattner2007-12-291-1/+36
| | | | | | | initializing a global. This handles important cases like: float foo3 = -0.01f; llvm-svn: 45427
* remove attribution from a variety of miscellaneous files.Chris Lattner2007-12-2937-74/+74
| | | | llvm-svn: 45425
* regenerateChris Lattner2007-12-298-5038/+6699
| | | | llvm-svn: 45424
* remove attributionsChris Lattner2007-12-295-10/+10
| | | | llvm-svn: 45423
* Bindings for instruction calling conventions.Gordon Henriksen2007-12-295-2/+44
| | | | llvm-svn: 45422
* remove attributions from tools.Chris Lattner2007-12-2948-96/+96
| | | | llvm-svn: 45421
* remove attributions from examples.Chris Lattner2007-12-297-14/+14
| | | | llvm-svn: 45420
* remove attributions from utils.Chris Lattner2007-12-2936-72/+72
| | | | llvm-svn: 45419
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-29548-1292/+1451
| | | | llvm-svn: 45418
* remove attributions from the rest of the llvm makefiles.Chris Lattner2007-12-2926-52/+52
| | | | llvm-svn: 45416
* remove attribution from lib Makefiles.Chris Lattner2007-12-2935-71/+71
| | | | llvm-svn: 45415
* remove attributions from tools/utils makefiles.Chris Lattner2007-12-2928-56/+56
| | | | llvm-svn: 45414
* remove attributions from .def files.Chris Lattner2007-12-296-12/+12
| | | | llvm-svn: 45413
* remove attribution from makefiles.Chris Lattner2007-12-298-16/+16
| | | | llvm-svn: 45412
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-29253-506/+506
| | | | | | discussion of this change. Boy are my fingers tired. ;-) llvm-svn: 45411
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-29155-310/+310
| | | | | | discussion of this change. llvm-svn: 45410
* Don't attribute in file headers anymore. See llvmdev for the Chris Lattner2007-12-292-30/+12
| | | | | | discussion of this change. llvm-svn: 45409
* this is done.Chris Lattner2007-12-291-7/+0
| | | | llvm-svn: 45408
* One readme entry is done, one is really easy (Evan, want to investigateChris Lattner2007-12-292-77/+35
| | | | | | | | eliminating the llvm.x86.sse2.loadl.pd intrinsic?), one shuffle optzn may be done (if shufps is better than pinsw, Evan, please review), and we already know about LICM of simple instructions. llvm-svn: 45407
* upgrade this testChris Lattner2007-12-291-8/+9
| | | | llvm-svn: 45406
* Fold comparisons against a constant nan, and optimize ORD/UNORD Chris Lattner2007-12-293-17/+33
| | | | | | | | | | | | | | | | | | | | | | | | comparisons with a constant. This allows us to compile isnan to: _foo: fcmpu cr7, f1, f1 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr instead of: LCPI1_0: ; float .space 4 _foo: lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr7, f1, f0 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr llvm-svn: 45405
* this xform is implemented.Chris Lattner2007-12-292-22/+9
| | | | llvm-svn: 45404
* Disable null pointer folding transforms for non-generic address spaces. This ↵Christopher Lamb2007-12-292-4/+12
| | | | | | should probably be a target-specific predicate based on address space. That way for targets where this isn't applicable the predicate can be optimized away. llvm-svn: 45403
* make sure not to zap volatile stores, thanks a lot to Dale for noticing this!Chris Lattner2007-12-291-1/+2
| | | | llvm-svn: 45402
OpenPOWER on IntegriCloud