aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Increase ISD::ParamFlags to 64 bits. Increase the ByValSizeDale Johannesen2008-03-102-23/+27
| | | | | | | | | | | | field to 32 bits, thus enabling correct handling of ByVal structs bigger than 0x1ffff. Abstract interface a bit. Fixes gcc.c-torture/execute/pr23135.c and gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing on ppc32, quietly producing wrong code on x86-32.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48122 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the block cloner which fixes bugpoint on code using unwind_to (phew!)Nick Lewycky2008-03-091-2/+2
| | | | | | | and also update the cloning interface's major user, the loop optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48088 91177308-0d34-0410-b5e6-96231b3b80d8
* Two things. Preserve the unwind_to when splitting a BB.Nick Lewycky2008-03-091-1/+5
| | | | | | | | Add the ability to remove just one instance of a BB from a phi node. This fixes the compile error in the tree now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48085 91177308-0d34-0410-b5e6-96231b3b80d8
* Not all users of a BB are Instructions any more.Nick Lewycky2008-03-081-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48047 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused runPass methods.Dan Gohman2008-03-081-15/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48044 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement x86 support for @llvm.prefetch. It corresponds to prefetcht{0|1|2} ↵Evan Cheng2008-03-081-0/+5
| | | | | | and prefetchnta instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48042 91177308-0d34-0410-b5e6-96231b3b80d8
* There is no killUse.Dan Gohman2008-03-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48034 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new sretpromotion pass.Devang Patel2008-03-071-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48032 91177308-0d34-0410-b5e6-96231b3b80d8
* RetVal is not used when there are more then one return operands.Devang Patel2008-03-071-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48022 91177308-0d34-0410-b5e6-96231b3b80d8
* add a pass that can extract all kinds of global values, not just functions. ↵Andrew Lenharth2008-03-071-0/+9
| | | | | | Update llvm-extract to use it and optionally extract a global variable if you want it too git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48015 91177308-0d34-0410-b5e6-96231b3b80d8
* When setting the "unused" info, take into account something like this:Bill Wendling2008-03-061-1/+1
| | | | | | | | | %r3<def> = OR %x3<kill>, %x3 We don't want to mark the %r3 as unused even though it's a sub-register of %x3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48003 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typosGabor Greif2008-03-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47994 91177308-0d34-0410-b5e6-96231b3b80d8
* Treat BBs that use BBs as proper predecessors and successors in the CFG.Nick Lewycky2008-03-061-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47989 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify that CALLSEQ_START..END may not be nested,Dale Johannesen2008-03-051-0/+1
| | | | | | | | and add some protection against creating such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47957 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a target lowering hook to control whether it's worthwhile to compress fp ↵Evan Cheng2008-03-051-0/+5
| | | | | | | | | constant. For x86, if sse2 is available, it's not a good idea since cvtss2sd is slower than a movsd load and it prevents load folding. On x87, it's important to shrink fp constant since fldt is very expensive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47931 91177308-0d34-0410-b5e6-96231b3b80d8
* Codegen support for i128 SINT_TO_FP.Dan Gohman2008-03-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47928 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code. Remove duplicated functions that basically do the same thing asEvan Cheng2008-03-053-16/+59
| | | | | | | findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert SmallVector ctor variants.Devang Patel2008-03-041-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47908 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FunctionType ctor variant that takes SmallVector params.Devang Patel2008-03-041-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47895 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80 column violations.Evan Cheng2008-03-041-8/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47877 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename isOperand() to isOperandOf() (and other similar methods). It always ↵Evan Cheng2008-03-041-10/+10
| | | | | | confuses me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47872 91177308-0d34-0410-b5e6-96231b3b80d8
* This is the initial check-in for adding register scavenging to PPC. (Currently,Bill Wendling2008-03-031-2/+2
| | | | | | | | | | | PPC-64 doesn't work.) This also lowers the spilling of the CR registers so that it uses a register other than the default R0 register (the scavenger scrounges for one). A significant part of this patch fixes how kill information is handled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47863 91177308-0d34-0410-b5e6-96231b3b80d8
* s/isReturnStruct()/hasStructRetAttr()/gDevang Patel2008-03-032-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47857 91177308-0d34-0410-b5e6-96231b3b80d8
* Stub out a Path::GetMainExecutable call to find the path to theChris Lattner2008-03-031-0/+4
| | | | | | | main executable of a program. This needs to be implemented on windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47835 91177308-0d34-0410-b5e6-96231b3b80d8
* make operand accessors const-correctChris Lattner2008-03-021-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47814 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new ShuffleVectorInst::getMaskValue method.Chris Lattner2008-03-021-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47813 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an unwind_to field to basic blocks, making them Users instead of Values.Nick Lewycky2008-03-022-3/+17
| | | | | | | This is the first checkin for PR1269, the new EH infrastructure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47802 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MVT::is128BitVector and is64BitVector. ShrinkDale Johannesen2008-03-011-0/+13
| | | | | | | | | unaligned load/store code using them. Per review of unaligned load/store vector patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47782 91177308-0d34-0410-b5e6-96231b3b80d8
* Add pass to promote sret.Devang Patel2008-02-291-0/+1
| | | | | | | | | | | | | | | | | | | | This pass transforms %struct._Point = type { i32, i32, i32, i32, i32, i32 } define internal void @foo(%struct._Point* sret %agg.result) into %struct._Point = type { i32, i32, i32, i32, i32, i32 } define internal %struct._Point @foo() This pass updates foo() clients appropriately to use getresult instruction to extract return values. This pass is not yet ready for prime time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47776 91177308-0d34-0410-b5e6-96231b3b80d8
* Use enumeration for preffered EH dwarf encoding reasonAnton Korobeynikov2008-02-291-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47770 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't fill eh frames even though these are text sections.Evan Cheng2008-02-291-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47765 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to APInt for shift and rotate operations with APIntDan Gohman2008-02-291-0/+22
| | | | | | | instead of uint32_t for the shift/rotate count operand type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47741 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a method to APFloat to convert directly from APInt.Dan Gohman2008-02-291-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47738 91177308-0d34-0410-b5e6-96231b3b80d8
* Interface of getByValTypeAlignment differed betweenDale Johannesen2008-02-281-1/+2
| | | | | | | | | | generic & x86 versions; change generic to follow x86 and improve comments. Add PPC version (not right for non-Darwin.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47734 91177308-0d34-0410-b5e6-96231b3b80d8
* Document that the shuffle mask may contain undefDuncan Sands2008-02-281-7/+7
| | | | | | | values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47719 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to ↵Evan Cheng2008-02-286-10/+52
| | | | | | 16-byte boundaries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47703 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code.Devang Patel2008-02-271-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47700 91177308-0d34-0410-b5e6-96231b3b80d8
* Preparation step for some cleanup/generalization in EH information emission:Anton Korobeynikov2008-02-271-0/+6
| | | | | | | provide TAI hook for selection of EH data emission format. Currently unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47699 91177308-0d34-0410-b5e6-96231b3b80d8
* Assert on invalid PHINode::addIncoming() arguments. Patch by Erick Tryzelaar!Anton Korobeynikov2008-02-271-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47697 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in dead spill slot elimination.Evan Cheng2008-02-271-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47687 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -analyze support to postdomtree.Dan Gohman2008-02-272-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47680 91177308-0d34-0410-b5e6-96231b3b80d8
* LegalizeTypes support for INSERT_VECTOR_ELT.Duncan Sands2008-02-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47669 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't track max alignment during stack object allocations since they can be ↵Evan Cheng2008-02-271-4/+0
| | | | | | deleted later. Let PEI compute it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47668 91177308-0d34-0410-b5e6-96231b3b80d8
* Final de-tabification.Bill Wendling2008-02-271-26/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47663 91177308-0d34-0410-b5e6-96231b3b80d8
* Add path separator support, patch by Sam Bishop. Chris Lattner2008-02-271-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47662 91177308-0d34-0410-b5e6-96231b3b80d8
* Spiller now remove unused spill slots.Evan Cheng2008-02-271-1/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47657 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert the last remaining users of the non-APInt form ofDan Gohman2008-02-271-6/+0
| | | | | | | | ComputeMaskedBits to use the APInt form, and remove the non-APInt form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47654 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comment.Devang Patel2008-02-271-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47653 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert SimplifyDemandedMask and ShrinkDemandedConstant to use APInt.Dan Gohman2008-02-271-3/+3
| | | | | | | | | Change several cases in SimplifyDemandedMask that don't ever do any simplifying to reuse the logic in ComputeMaskedBits instead of duplicating it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47648 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unncessary ReturnInst constructors.Devang Patel2008-02-261-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47633 91177308-0d34-0410-b5e6-96231b3b80d8