summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Factor out the code for verifying the work of the scheduler,Dan Gohman2008-11-204-87/+58
| | | | | | | extend it a bit, and make use of it in all schedulers, to ensure consistent checking. llvm-svn: 59689
* Do not forget llvm.dbg.declare's first argument while removing debugging ↵Devang Patel2008-11-201-4/+12
| | | | | | information. llvm-svn: 59688
* Simplify this code a little. In the fast scheduler, CreateNewSUnitDan Gohman2008-11-191-17/+5
| | | | | | and CreateClone don't add any extra value. llvm-svn: 59679
* Eliminate a compile time warning.Evan Cheng2008-11-191-4/+6
| | | | llvm-svn: 59678
* Eliminate a compile time warning.Evan Cheng2008-11-191-4/+6
| | | | llvm-svn: 59677
* Experimental post-pass scheduling support. Post-pass schedulingDan Gohman2008-11-1919-826/+1014
| | | | | | | | | | | | | | | | | is currently off by default, and can be enabled with -disable-post-RA-scheduler=false. This doesn't have a significant impact on most code yet because it doesn't yet do anything to address anti-dependencies and it doesn't attempt to disambiguate memory references. Also, several popular targets don't have pipeline descriptions yet. The majority of the changes here are splitting the SelectionDAG-specific code out of ScheduleDAG, so that ScheduleDAG can be moved to libLLVMCodeGen.a. The interface between ScheduleDAG-using code and the rest of the scheduling code is somewhat rough and will evolve. llvm-svn: 59676
* Move the code for printing a graph node label for an SUnit intoDan Gohman2008-11-192-22/+19
| | | | | | a virtual method of SelectionDAG. llvm-svn: 59667
* Convert SUnit's dump method into a print method and implementDan Gohman2008-11-191-6/+10
| | | | | | dump in terms of it. llvm-svn: 59665
* CMake: Removed source file.Oscar Fuentes2008-11-191-1/+0
| | | | llvm-svn: 59662
* Do not use separate utility to walk all instructions and remove dead dbg ↵Devang Patel2008-11-191-60/+0
| | | | | | intrinsics. Let instcombiner do this job. llvm-svn: 59659
* Let instcombiner remove redundant dbg intrinsics.Devang Patel2008-11-191-7/+1
| | | | llvm-svn: 59658
* If there are two consecutive llvm.dbg.stoppoint calls thenDevang Patel2008-11-191-1/+16
| | | | | | | it is likely that the optimizer deleted code in between these two intrinsics. Keep only the last llvm.dbg.stoppoint in this case. llvm-svn: 59657
* CMake: Removed source file from lib/Target/PIC16/CMakeLists.txt.Oscar Fuentes2008-11-191-1/+0
| | | | llvm-svn: 59655
* CellSPU: Do not custom lower i1 stores, rely on type legalization to do theScott Michel2008-11-191-34/+11
| | | | | | right thing and promote the store to i8. llvm-svn: 59648
* <rdar://problem/6351057>Stuart Hastings2008-11-191-10/+12
| | | | | | | Discourage (allocate last) use of x86_64 R12 and R13 due to their longer instruction encodings. llvm-svn: 59644
* Temporary check-in for Duncan to demonstrate CellSPU store problem.Scott Michel2008-11-191-8/+41
| | | | llvm-svn: 59637
* Fix compilation error on MSVC.Argyrios Kyrtzidis2008-11-191-1/+1
| | | | llvm-svn: 59629
* Forgot to add this in the previous commit.Sanjiv Gupta2008-11-191-0/+62
| | | | llvm-svn: 59623
* Fixed build warnings.Sanjiv Gupta2008-11-192-4/+6
| | | | llvm-svn: 59621
* Added a more function PIC16 backend. However to get this working a patch inSanjiv Gupta2008-11-1923-2307/+1579
| | | | | | ExpandIntegerOperand (LegalizeIntegerTypes.cpp) is needed which is yet to be reworked and submitted. llvm-svn: 59617
* Use stripPointerCasts when checking for AllocaInsts for the stackprotector ↵Bill Wendling2008-11-191-1/+1
| | | | | | intrinsic. llvm-svn: 59614
* Add support for rematerialization in pre-alloc-splitting.Owen Anderson2008-11-191-3/+95
| | | | llvm-svn: 59587
* Rearrange code to reduce the nesting level. No functionality change.Dan Gohman2008-11-191-36/+36
| | | | llvm-svn: 59580
* Use dyn_cast instead of cast.Bill Wendling2008-11-191-1/+1
| | | | llvm-svn: 59577
* Match an element of the return type if it returns a structure.Bill Wendling2008-11-191-2/+12
| | | | llvm-svn: 59576
* Remove unused variables.Devang Patel2008-11-191-12/+9
| | | | llvm-svn: 59570
* Fix typo.Devang Patel2008-11-191-1/+1
| | | | llvm-svn: 59569
* Fix debug printing of flagged SDNodes in SUnits so that theyDan Gohman2008-11-191-12/+12
| | | | | | print in the correct order. llvm-svn: 59567
* Make the same change to RegScavenger::backward.Evan Cheng2008-11-181-9/+28
| | | | llvm-svn: 59566
* Verify that the second parameter of the stacprotector intrinsic is an allocaBill Wendling2008-11-181-0/+5
| | | | | | instruction. llvm-svn: 59563
* We also need to keep the operand index for two address check.Evan Cheng2008-11-181-9/+11
| | | | llvm-svn: 59562
* Register scavenger should process early clobber defs first. A dead early ↵Evan Cheng2008-11-181-23/+37
| | | | | | clobber def should not interfere with a normal def which happens one slot later. llvm-svn: 59559
* Add new helper pass that strips all symbol names except debugging information.Devang Patel2008-11-181-28/+51
| | | | | | This pass makes it easier to test wheter debugging info. influences optimization passes or not. llvm-svn: 59552
* Don't set neverHasSideEffects on x86's divide instructions, sinceDan Gohman2008-11-182-3/+1
| | | | | | | they trap on divide-by-zero, and this side effect is otherwise unmodeled. llvm-svn: 59551
* Tidy up ScheduleNodeBottomUp methods, and make them moreDan Gohman2008-11-182-10/+8
| | | | | | consistent with ScheduleNodeTopDown methods. llvm-svn: 59550
* Update a comment to reflect the current code.Dan Gohman2008-11-181-3/+2
| | | | llvm-svn: 59549
* Remove integer promotion support for FP_EXTENDDuncan Sands2008-11-182-16/+1
| | | | | | | | | and FP_ROUND. Not sure what these were doing here - probably they were sometimes (wrongly) created with integer operands somewhere that has since been fixed. llvm-svn: 59548
* Remove even more llvm.dbg variables.Devang Patel2008-11-181-33/+50
| | | | | | | Remove all dead globals from llvm.metadata. Ignore linkonce linkage for selected llvm.dbg values. llvm-svn: 59547
* Simplify code using helper routines. There is notDuncan Sands2008-11-182-67/+53
| | | | | | supposed to be any functionality change. llvm-svn: 59545
* Fix a bug introduced by my previous patch. With this change, SPEC is now ↵Owen Anderson2008-11-181-1/+1
| | | | | | clean with prealloc splitting enabled. llvm-svn: 59544
* Add more const qualifiers. This fixes build breakage from r59540.Dan Gohman2008-11-1819-41/+64
| | | | llvm-svn: 59542
* Make some methods const.Dan Gohman2008-11-181-2/+4
| | | | llvm-svn: 59540
* Initialize MallocFunc and FreeFunc properly.Devang Patel2008-11-181-1/+1
| | | | llvm-svn: 59538
* Whitespace cleanups.Dan Gohman2008-11-181-2/+2
| | | | llvm-svn: 59532
* LegalizeTypes support for splitting and scalarizingDuncan Sands2008-11-182-11/+27
| | | | | | | | SCALAR_TO_VECTOR. I didn't add the testcase, because once llc gets past scalar-to-vector it hits a SPU target lowering bug and explodes. llvm-svn: 59530
* Add a utility function that detects whether a loop is guaranteed to be finite.Nick Lewycky2008-11-181-31/+127
| | | | | | | | | | | Use it to safely handle less-than-or-equals-to exit conditions in loops. These also occur when the loop exit branch is exit on true because SCEV inverses the icmp predicate. Use it again to handle non-zero strides, but only with an unsigned comparison in the exit condition. llvm-svn: 59528
* Rename stackprotector_create intrinsic to stackprotector.Bill Wendling2008-11-182-2/+2
| | | | llvm-svn: 59519
* Cast to remove warning about comparing signed and unsigned.Bill Wendling2008-11-181-1/+1
| | | | llvm-svn: 59518
* Implement support for JIT exceptions on X86_64. Relative offsets areNicolas Geoffray2008-11-181-61/+27
| | | | | | | encoded on 32 bytes, and the personality function is not encoded as relative. llvm-svn: 59516
* Remove unused variable.Duncan Sands2008-11-181-3/+0
| | | | llvm-svn: 59515
OpenPOWER on IntegriCloud