aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-24Add some comments.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106809 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Refactoring of SSE convert intrinsicsBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106808 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Teach EmitLiveInCopies to omit copies for unused virtual registers,Dan Gohman
and to clean up unused incoming physregs from the live-in list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106805 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Refactoring of SSE conversion instructionsBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106804 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Change array references to match my previous change to use the public typeBob Wilson
names for the array fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24DataTypes.h.cmake (MSVC): Protect some #define's and use specificOscar Fuentes
suffixes for integer types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106797 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Refactor SSE cmp intrinsics and declare the same for AVXBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106796 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Fix up some comments.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106795 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Use the struct tags mandated by ARM's ABI. Also use the public type names forBob Wilson
the array fields in these structs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106794 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24It's possible that a flag is added to the SDNode that points back to theBill Wendling
original SDNode. This is badness. Also, this function allows one SDNode to point multiple flags to another SDNode. Badness as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106793 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24DBG_VALUE machine instruction pointing to undefined register for a variable ↵Devang Patel
justify a separate scope if the variable is inlined function's argument. Radar 8122864. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106792 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Don't return a std::vector in the Spiller interface, but take a reference to aJakob Stoklund Olesen
vector instead. This avoids needless copying and allocation. Add documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24- Add AVX COMI{SS,SD}{rr,rm} and UCOMI{SS,SD}{rr,rm}.Bruno Cardoso Lopes
- Fix a small VEX encoding issue. - Move compare instructions to their appropriate place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106787 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Remove the now unused LiveIntervals::getVNInfoSourceReg().Jakob Stoklund Olesen
This method was always a bit too simplistic for the real world. It didn't really deal with subregisters and such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106781 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Teach AdjustCopiesBackFrom to also use CoalescerPair to identify compatible ↵Jakob Stoklund Olesen
copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106780 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Disallow matching "i" constraint to symbol addresses whenDale Johannesen
address requires a register or secondary load to compute (most PIC modes). This improves "g" constraint handling. 8015842. The test from 2007 is attempting to test the fix for PR1761, but since -relocation-model=static doesn't work on Darwin x86-64, it was not testing what it was supposed to be testing and was passing erroneously. Fixed to use Linux x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106779 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Silence some unused variable warnings.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106778 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Remove the -fast-spill option.Jakob Stoklund Olesen
This code path has never really been used, and we are going to be handling spilling through the Spiller interface in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106777 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Document problems that I encountered when working on -scev-aa.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Oops. IT block formation pass needs to be run at any optimization level.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106775 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Loosen up the requirements in the Horrible Hack(tm) to include all selectorsBill Wendling
which don't have a catch-all associated with them not just clean-ups. This fixes the SingleSource/Benchmarks/Shootout-C++/except.cpp testcase that broke because of my change r105902. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106772 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Always allow Thumb-2 SXTB, SXTH, UXTB, and UXTH. Fixes PR7324.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106770 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Replace a big gob of old coalescer logic with the new CoalescerPair class.Jakob Stoklund Olesen
CoalescerPair can determine if a copy can be coalesced, and which register gets merged away. The old logic in SimpleRegisterCoalescing had evolved into something a bit too convoluted. This second attempt fixes some crashes that only occurred Linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106769 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Add an exports file for the Hello example plugin.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106768 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Print the LSBs of a SlotIndex symbolically using letters referring to theJakob Stoklund Olesen
[L]oad, [u]se, [d]ef, or [S]tore slots. This makes it easier to see if two indices refer to the same instruction, avoiding mental mod 4 calculations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106766 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Simplify this code; switch lowering shouldn't produce casesDan Gohman
which trivially fold away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106765 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24A few minor micro-optimizations.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106764 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Teach getExactSDiv to evaluate x/1 to x up front, as it's a commonDan Gohman
enough special case, and it theoretically allows more folding because it works even when x is unanalyzable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24PR7458: Try commuting Thumb2 instruction operands to put them into 2-addressBob Wilson
form so they can be narrowed to 16-bit instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Edit and clarify comments for TargetInstrInfo methods:Bob Wilson
None of the existing implementations of commuteInstruction create new instructions unless the NewMI parameter is true, but the comment had implied otherwise. findCommutedOpIndices returns false, not true, when it doesn't know how to commute the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106761 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Don't try to preserve pointer types in SCEVConstants; the old codeDan Gohman
was over-complicated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Fix copy+pasto issues in isMulSExtable.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106759 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Make the trunc code consistent with the zext and sext code in itsDan Gohman
handling of pointer types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106757 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Add a comment about a thread safety issue in Statistic.h.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106756 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Add overloads for getFile and getFileOrSTDIN which take a const char *Dan Gohman
instead of a StringRef, avoiding the need to copy the string in the common case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106754 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Be more strict about subreg-to-subreg copies in CoalescerPair.Jakob Stoklund Olesen
Also keep track of the original DstREg before subregister adjustments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106753 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand APIGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106752 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Verify that VNI kills are pointing to existing instructions.Jakob Stoklund Olesen
In this case it is essential that the kill is real because the spiller will decide to omit a spill if it thinks there is a later kill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106751 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use (even more, still) ArgOperand APIGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106750 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Eliminate the other half of the BRCOND optimization, and updateDan Gohman
as many tests as possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106749 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Eliminate the first have of the optimization which eliminates BRCONDDan Gohman
when the condition is constant. This optimization shouldn't be necessary, because codegen shouldn't be able to find dead control paths that the IR-level optimizer can't find. And it's undesirable, because it encourages bugpoint to leave "br i1 false" branches in its output. And it wasn't updating the CFG. I updated all the tests I could, but some tests are too reduced and I wasn't able to meaningfully preserve them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106748 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand API and CallSite for arg range; add necessary casts and ↵Gabor Greif
perform some cosmetics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Reapply r106634, now that the bug it exposed is fixed.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand API and CallSite for arg rangeGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106745 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use (even more) ArgOperand APIGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106744 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand APIGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106743 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand APIGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand APIGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106737 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand API, also tighten the type of visitFree to make this work out ↵Gabor Greif
smoothly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106736 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24use ArgOperand API; introduce downcasted pointers into scope to facilitate thisGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106734 91177308-0d34-0410-b5e6-96231b3b80d8