summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAge
...
* Placate overzealous compiler warnings.Dan Gohman2010-08-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111152 91177308-0d34-0410-b5e6-96231b3b80d8
* Move SCEVNAryExpr's virtual member functions out of line, and convertDan Gohman2010-08-16
| | | | | | | them to iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8
* Specialize FoldingSetTrait<SCEV>, providing implementations of nodeDan Gohman2010-08-16
| | | | | | | | 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
* Add hooks to FoldingSetTrait to allow specializations to provideDan Gohman2010-08-16
| | | | | | | | | 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
* Tidy up whitespace in comments.Dan Gohman2010-08-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111129 91177308-0d34-0410-b5e6-96231b3b80d8
* Constify FoldingSetNodeIDRef's Data.Dan Gohman2010-08-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111128 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverse the order of GetNodeProfile's arguments, for consistencyDan Gohman2010-08-16
| | | | | | | with FoldingSetTrait::Profile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111127 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation in example code in a comment.Dan Gohman2010-08-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111125 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmc: remove dynamic plugins.Mikhail Glushenkov2010-08-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach SimplifyCFG how to simplify indirectbr instructions.Dan Gohman2010-08-14
| | | | | | | | | | | | - 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
* Add a local stack object block allocation pass. This is still anJim Grosbach2010-08-14
| | | | | | | | | | | | | | | | | | | | 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
* tidy up commentsJim Grosbach2010-08-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111040 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy up 80 column and whitespaceJim Grosbach2010-08-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111033 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement hasComputableLoopEvolution for Add, Mul, and Trunc operators,Dan Gohman2010-08-13
| | | | | | | | 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
* Use getAllOnesValue, saves a copy and looks better.Benjamin Kramer2010-08-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110991 91177308-0d34-0410-b5e6-96231b3b80d8
* Also recompute HasPHIKill flags in LiveInterval::RenumberValues.Jakob Stoklund Olesen2010-08-12
| | | | | | | If a phi-def value were removed from the interval, the phi-kill flags are no longer valid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110949 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespace.Jakob Stoklund Olesen2010-08-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110944 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a 'normalize' method to the Triple class, which takes a mucked upDuncan Sands2010-08-12
| | | | | | | | | | | | | | | | target triple and straightens it out. This does less than gcc's script config.sub, for example it turns i386-mingw32 into i386--mingw32 not i386-pc-mingw32, but it does a decent job of turning funky triples into something that the rest of the Triple class can understand. The plan is to use this to canonicalize triple's when they are first provided by users, and have the rest of LLVM only deal with canonical triples. Once this is done the special case workarounds in the Triple constructor can be removed, making the class more regular and easier to use. The comments and unittests for the Triple class are already adjusted in this patch appropriately for this brave new world of increased uniformity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110909 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/AsmParser: Push the burdon of emitting diagnostics about unmatchedDaniel Dunbar2010-08-12
| | | | | | instructions onto the target specific parser, which can do a better job. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110889 91177308-0d34-0410-b5e6-96231b3b80d8
* tblgen/AsmMatcher: Always emit the match function as 'MatchInstructionImpl',Daniel Dunbar2010-08-12
| | | | | | target specific parsers can adapt the TargetAsmParser to this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110888 91177308-0d34-0410-b5e6-96231b3b80d8
* configure: Add detection of the linker version string.Daniel Dunbar2010-08-11
| | | | | | | - Review appreciated, as long as you understand that I understand that this is a horrible hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110883 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up ConstantRange a bit:Nick Lewycky2010-08-11
| | | | | | | | | | - remove ashr which never worked. - fix lshr and shl and add tests. - remove dead function "intersect1Wrapped". - add a new sub method to subtract ranges, with test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110861 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LoopPass::getContainedPass return a LoopPass* instead of a Pass*Dan Gohman2010-08-11
| | | | | | | and remove casts from all its callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110848 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove BasicBlockPass::runOnFunction, which was unused.Dan Gohman2010-08-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110847 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove rsqrt/sqrt_nr intrinsics since there are no more builtins for them on ↵Bruno Cardoso Lopes2010-08-11
| | | | | | clang git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110845 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete FunctionPass::run, which is unused.Dan Gohman2010-08-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110843 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete FunctionPass::runOnModule, which is unused.Dan Gohman2010-08-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110842 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use unsigned char for alignments in TargetData. There aren'tDan Gohman2010-08-11
| | | | | | | | | that many of these things, so the memory savings isn't significant, and there are now situations where there can be alignments greater than 128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110836 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a FIXME. The SlotIndex::Slot enum should be private.Jakob Stoklund Olesen2010-08-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110826 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Add -show-inst-operands, for dumping the parsed instruction ↵Daniel Dunbar2010-08-11
| | | | | | representation before matching. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110791 91177308-0d34-0410-b5e6-96231b3b80d8
* MCAsmParser: Add dump() hook to MCParsedAsmOperand.Daniel Dunbar2010-08-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110790 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove AVX 256-bit cast intrinsics now that clang is using ↵Bruno Cardoso Lopes2010-08-11
| | | | | | __builtin_shufflevector for those git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110772 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove AVX 256-bit unpack and interleave intrinsics now that clang is using ↵Bruno Cardoso Lopes2010-08-11
| | | | | | __builtin_shufflevector for those git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110769 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove AVX 256-bit shuffle intrinsics now that clang is using ↵Bruno Cardoso Lopes2010-08-11
| | | | | | __builtin_shufflevector for those git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110767 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it possible to set the cpu used for codegen.Rafael Espindola2010-08-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110759 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid multiple definition warnings when both config.h andOscar Fuentes2010-08-10
| | | | | | | | llvm-config.h are included. This is the cmake counterpart of r110547. See bug #7809. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110753 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename and reorder the arguments to isImpliedCond, for consistency and clarity.Dan Gohman2010-08-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110750 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing argument. CreateCompositeTypeEx() users, please verify.Devang Patel2010-08-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110717 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it possible to set the flags passed to the assembler.Rafael Espindola2010-08-10
| | | | | | Nick, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110705 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement register class inflation.Jakob Stoklund Olesen2010-08-10
| | | | | | | | | When splitting a live range, the new registers have fewer uses and the permissible register class may be less constrained. Recompute the register class constraint from the uses of new registers created for a split. This may let them be allocated from a larger set, possibly avoiding a spill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110703 91177308-0d34-0410-b5e6-96231b3b80d8
* Recalculate the spill weight and allocation hint for virtual registers createdJakob Stoklund Olesen2010-08-10
| | | | | | during live range splitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110686 91177308-0d34-0410-b5e6-96231b3b80d8
* Trailing whitespace.Mikhail Glushenkov2010-08-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110679 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove replicate intrinsics, clang will generate shufflevector for those. ↵Bruno Cardoso Lopes2010-08-10
| | | | | | The shuffles can't be matched by x86 codegen yet, but will soon git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110647 91177308-0d34-0410-b5e6-96231b3b80d8
* Use i32 instead of i8 for dot product intrinsicBruno Cardoso Lopes2010-08-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110643 91177308-0d34-0410-b5e6-96231b3b80d8
* Transpose the calculation of spill weights such that we are calculating oneJakob Stoklund Olesen2010-08-10
| | | | | | | | | | | | | | register at a time. This turns out to be slightly faster than iterating over instructions, but more importantly, it allows us to compute spill weights for new registers created after the spill weight pass has run. Also compute the allocation hint at the same time as the spill weight. This allows us to use the spill weight as a cost metric for copies, and choose the most profitable hint if there is more than one possibility. The new hints provide a very small (< 0.1%) but universal code size improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110631 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the last argument type of AVX vblend intrinsicsBruno Cardoso Lopes2010-08-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110628 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizerBill Wendling2010-08-09
| | | | | | | | pass. This pass should expand with all of the small, fine-grained optimization passes to reduce compile time and increase happiment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110627 91177308-0d34-0410-b5e6-96231b3b80d8
* Next bit of support for the dwarf .file directive. This patch takes theKevin Enderby2010-08-09
| | | | | | | | | previously collected info from the .file directives and outputs the encoded bytes for it. For now this is only in the Mach-O streamer but at some point will move to a more generic place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110617 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor.Devang Patel2010-08-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it possible to set the target triple and expose that with an option in theRafael Espindola2010-08-09
| | | | | | gold plugin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110604 91177308-0d34-0410-b5e6-96231b3b80d8