aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-08-16Use iterators instead of indices in simple cases.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111138 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Avoid gratuitous inefficiency in ifndef NDEBUG code.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111137 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Make one getAddExpr call when analyzing a+b+c+d+e+... instead of oneDan Gohman
for each add instruction. Ditto for Mul. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111136 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Delete an unused function.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111135 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Instead of having CollectSubexpr's categorize operands as interesting orDan Gohman
uninteresting, just put all the operands on one list and make GenerateReassociations make the decision about what's interesting. This is simpler, and it avoids an extra ScalarEvolution::getAddExpr call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111133 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Put add operands in ScalarEvolution-canonical order, when convenient.Dan Gohman
This isn't necessary, because ScalarEvolution sorts them anyway, but it's tidier this way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111132 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Specialize FoldingSetTrait<SCEV>, providing implementations of nodeDan Gohman
comparison and hash computation which don't require constructing temporary ID values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111131 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Add hooks to FoldingSetTrait to allow specializations to provideDan Gohman
implementations of equality comparison and hash computation. This can be used to optimize node lookup by avoiding creating lots of temporary ID values just for hashing and comparison purposes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111130 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Tidy up whitespace in comments.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111129 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Constify FoldingSetNodeIDRef's Data.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111128 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Reverse the order of GetNodeProfile's arguments, for consistencyDan Gohman
with FoldingSetTrait::Profile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111127 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Fix indentation in example code in a comment.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn'tDan Gohman
actually use ScalarEvolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111124 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Instead, teach SimplifyCFG to trim non-address-taken blocks fromDan Gohman
indirectbr destination lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111122 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Revert r111058, the lint check for indirectbr successors that aren'tDan Gohman
address-taken. This can occur normally, if the code which took the address got DCEd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Test expects SSE, give him SSE.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111115 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Updated LLVMLibDeps.cmakeOscar Fuentes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111112 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15CMake: Improved COMMENT on a custom commandOscar Fuentes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Restore arch on these test, they fail on arm.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111109 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Mark as XFAIL on darwin 8. PR 7886.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111108 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Updated the GenLibDeps -> LLVMLibDeps.cmake transformation example.Oscar Fuentes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111104 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Revert r111082. No warnings for this common pattern.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111102 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Update tests.Mikhail Glushenkov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15Regenerate.Mikhail Glushenkov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111095 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15llvmc: remove dynamic plugins.Mikhail Glushenkov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14Rework how the non-sse2 memory barrier is lowered so that theEric Christopher
encoding is correct for the built-in assembler. Based on a patch from Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111083 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111082 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14improve indentationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111073 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14T2I_rbin_irs rr variant is for disassembly only, so don't provide a pattern.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111068 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14Update CMake build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111063 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14LoopSimplify shouldn't split loop backedges that use indirectbr. PR7867.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111061 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14Teach SimplifyCFG how to simplify indirectbr instructions.Dan Gohman
- Eliminate redundant successors. - Convert an indirectbr with one successor into a direct branch. Also, generalize SimplifyCFG to be able to be run on a function entry block. It knows quite a few simplifications which are applicable to the entry block, and it only needs a few checks to avoid trouble with the entry block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111060 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14Add a local stack object block allocation pass. This is still anJim Grosbach
experimental pass that allocates locals relative to one another before register allocation and then assigns them to actual stack slots as a block later in PEI. This will eventually allow targets with limited index offset range to allocate additional base registers (not just FP and SP) to more efficiently reference locals, as well as handle situations where locals cannot be referenced via SP or FP at all (dynamic stack realignment together with variable sized objects, for example). It's currently incomplete and almost certainly buggy. Work in progress. Disabled by default and gated via the -enable-local-stack-alloc command line option. rdar://8277890 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111059 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Add a lint check for an indirectbr destination which has notDan Gohman
had its address taken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Add a Thumb2 t2RSBrr instruction for disassembly only.Bob Wilson
This fixes another part of PR7792. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111057 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Clean up the Spiller.h interface.Jakob Stoklund Olesen
The earliestStart argument is entirely specific to linear scan allocation, and can be easily calculated by RegAllocLinearScan. Replace std::vector with SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111055 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Temporarily disable tail calls on ARM to work around some linker problems.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111050 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Move the Thumb2 SSAT and USAT optional shift operator out of theBob Wilson
instruction opcode. This fixes part of PR7792. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111047 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Various optimizations. Don't compare two loops' depthsDan Gohman
when they are the same loop. Don't compare two instructions' loop depths when they are in the same block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111045 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Implement splitting inside a single block.Jakob Stoklund Olesen
When a live range is contained a single block, we can split it around instruction clusters. The current approach is very primitive, splitting before and after the largest gap between uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111043 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Fix LSR's ExtractImmediate and ExtractSymbol to avoid callingDan Gohman
ScalarEvolution::getAddExpr, which can be pretty expensive, when nothing has changed, which is pretty common. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111042 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Add comments to some pattern fragments in x86Bruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111041 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13tidy up commentsJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13When testing whether one loop contains another, test this directlyDan Gohman
rather than testing whether the loop contains the other's header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111039 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Add a const.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111038 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13When creating a symmetric SCEV with a constant operand, putDan Gohman
the constant operand on the left, as that's where ScalarEvolution will end up canonicalizing to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111037 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13An add recurrence is loop-invariant in any loop inside of itsDan Gohman
associated loop. This avoids potentially expensive traversals of the add recurrence's operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111034 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13tidy up 80 column and whitespaceJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111033 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Revert r111007.Mikhail Glushenkov
Apparently, this is now fixed in Clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Implement hasComputableLoopEvolution for Add, Mul, and Trunc operators,Dan Gohman
since they can support trivial implementations. This avoids potentially expensive traversals of the operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111031 91177308-0d34-0410-b5e6-96231b3b80d8