summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Rename ISD::LOCATION to ISD::DBG_STOPPOINT to better reflect itsDan Gohman2008-06-3015-79/+94
| | | | | | | | | | | | | | | | | purpose, and give it a custom SDNode subclass so that it doesn't need to have line number, column number, filename string, and directory string, all existing as individual SDNodes to be the operands. This was the only user of ISD::STRING, StringSDNode, etc., so remove those and some associated code. This makes stop-points considerably easier to read in -view-legalize-dags output, and reduces overhead (creating new nodes and copying std::strings into them) on code containing debugging information. llvm-svn: 52924
* Split scheduling from instruction selection.Evan Cheng2008-06-3011-70/+62
| | | | llvm-svn: 52923
* Added some comments and some cleanups.Ted Kremenek2008-06-301-1/+16
| | | | llvm-svn: 52922
* No need to align the stack if there are no stackDale Johannesen2008-06-301-1/+2
| | | | | | objects. Fixes a couple of tests on Linux. llvm-svn: 52921
* Remove unneeded include.Evan Cheng2008-06-301-1/+0
| | | | llvm-svn: 52920
* Reorder the fields in TargetLowering to require less padding.Dan Gohman2008-06-301-18/+18
| | | | llvm-svn: 52919
* Change bools to 1-bit bitfields to shrink ArgListEntry slightly.Dan Gohman2008-06-301-6/+6
| | | | llvm-svn: 52918
* Replace some std::vectors that showed up in heap profiling withDan Gohman2008-06-306-26/+21
| | | | | | | | SmallVectors. Change the signature of TargetLowering::LowerArguments to avoid returning a vector by value, and update the two targets which still use this directly, Sparc and IA64, accordingly. llvm-svn: 52917
* Add an isReachableFromEntry method.Owen Anderson2008-06-301-0/+4
| | | | llvm-svn: 52916
* Correct the allocation size for CCState's UsedRegs member, whichDan Gohman2008-06-301-1/+1
| | | | | | | | only needs one bit for each register. UsedRegs is a SmallVector sized at 16, so this eliminates a heap allocation/free for every call and return processed by Legalize on most targets. llvm-svn: 52915
* Rename new lto2 tool as lto.Devang Patel2008-06-308-4/+1
| | | | | | lto2->lto llvm-svn: 52912
* Added ImmutableList, a companion ADT to ImmutableSet and ImmutableMap that ↵Ted Kremenek2008-06-301-0/+175
| | | | | | is used to represent a purely functional list. llvm-svn: 52911
* Remove old LTO interface.Devang Patel2008-06-301-179/+0
| | | | llvm-svn: 52910
* Remove old LTO interface.Devang Patel2008-06-303-659/+0
| | | | llvm-svn: 52909
* add convenience 'constructors'Chris Lattner2008-06-301-4/+15
| | | | llvm-svn: 52908
* Move dominator info printer into tool/opt/GraphPrinters.cppDevang Patel2008-06-302-30/+32
| | | | llvm-svn: 52907
* ExpungeNode is only needed for new nodes! ThisDuncan Sands2008-06-301-9/+12
| | | | | | | fixes CodeGen/PowerPC/2008-06-19-LegalizerCrash.ll when using the new LegalizeTypes infrastructure. llvm-svn: 52903
* Support for VAARG. As noted in a comment, this isDuncan Sands2008-06-302-0/+33
| | | | | | | wrong for types like x86 long double and i1, but no worse than what is done in LegalizeDAG. llvm-svn: 52898
* Support for promoting select_cc operands.Duncan Sands2008-06-302-3/+16
| | | | llvm-svn: 52895
* Add loopVR files.Cedric Venet2008-06-301-0/+8
| | | | | | Users of VS need to manually force rebuild the X86 projet to use the last version of tablegen. llvm-svn: 52894
* Revert the SelectionDAG optimization that makesDuncan Sands2008-06-3012-136/+93
| | | | | | | | | | | | | | | | | | it impossible to create a MERGE_VALUES node with only one result: sometimes it is useful to be able to create a node with only one result out of one of the results of a node with more than one result, for example because the new node will eventually be used to replace a one-result node using ReplaceAllUsesWith, cf X86TargetLowering::ExpandFP_TO_SINT. On the other hand, most users of MERGE_VALUES don't need this and for them the optimization was valuable. So add a new utility method getMergeValues for creating MERGE_VALUES nodes which by default performs the optimization. Change almost everywhere to use getMergeValues (and tidy some stuff up at the same time). llvm-svn: 52893
* Eliminate TargetRegisterDesc::ImmSubRegs. It's no longer in use.Evan Cheng2008-06-302-36/+4
| | | | llvm-svn: 52892
* - Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an ↵Evan Cheng2008-06-3011-174/+168
| | | | | | | | empty string for ConstantAggregateZero case which surprises selectiondag. - Correctly handle memcpy from constant string which is zero-initialized. llvm-svn: 52891
* check in anton's patch to make inlining happen in a determinstic orderChris Lattner2008-06-301-4/+6
| | | | | | | and fix the bug that it uncovers: inlining a pattern fragment could bring in other pattern fragments if the inlinee hadn't already been inlined. llvm-svn: 52888
* Implement split and scalarize for SELECT_CC, fixing PR2504Chris Lattner2008-06-302-0/+32
| | | | llvm-svn: 52887
* Because of the laziness, the required passes must exist even afterNick Lewycky2008-06-301-2/+2
| | | | | | | | | LoopVR::runOnFunction runs. This should accomplish that, but it doesn't. I think that's a PassManager bug, but without a consumer of LoopVR in the tree, I can't give steps to reproduce. llvm-svn: 52886
* Add a value range analysis that lazily computes ranges using ScalarEvolutions.Nick Lewycky2008-06-303-0/+381
| | | | llvm-svn: 52885
* Revert (52748 and friends):Anton Korobeynikov2008-06-2911-141/+158
| | | | | | | | | | | | Move GetConstantStringInfo to lib/Analysis. Remove string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. This unbreaks llvm-gcc bootstrap. llvm-svn: 52884
* Start refactoring of asmprinters: provide a TAI hook, which will select a ↵Anton Korobeynikov2008-06-282-2/+69
| | | | | | 'section kind' for a global. llvm-svn: 52868
* UnbreakAnton Korobeynikov2008-06-281-2/+2
| | | | llvm-svn: 52866
* Temporary rever invalid commitAnton Korobeynikov2008-06-282-7/+9
| | | | llvm-svn: 52865
* Move printing of module-level GVs into dedicated helperAnton Korobeynikov2008-06-282-197/+200
| | | | llvm-svn: 52864
* Use common naming conventionAnton Korobeynikov2008-06-282-4/+4
| | | | llvm-svn: 52863
* Factor out stuff into helper functionAnton Korobeynikov2008-06-282-33/+39
| | | | llvm-svn: 52862
* CleanupAnton Korobeynikov2008-06-281-6/+3
| | | | llvm-svn: 52861
* Remove X86SharedAsmPrinterAnton Korobeynikov2008-06-284-529/+487
| | | | llvm-svn: 52860
* whitespace cleanupAnton Korobeynikov2008-06-282-25/+25
| | | | llvm-svn: 52859
* Make intel asmprinter child of generic asmprinter, not x86 shared asm ↵Anton Korobeynikov2008-06-284-27/+138
| | | | | | printer. This leads to some code duplication, which will be resolved later. llvm-svn: 52858
* CleanupAnton Korobeynikov2008-06-281-10/+5
| | | | llvm-svn: 52857
* Whitespace cleanupAnton Korobeynikov2008-06-281-22/+22
| | | | llvm-svn: 52856
* Really fix the bootstrap failure.Chris Lattner2008-06-281-9/+5
| | | | llvm-svn: 52854
* Add back the capability to include nul characters in strings with Chris Lattner2008-06-283-8/+14
| | | | | | | GetConstantStringInfo. This will hopefully restore llvm-gcc to happy bootstrap land. llvm-svn: 52851
* Tighten up checking.Chris Lattner2008-06-281-4/+10
| | | | llvm-svn: 52850
* When folding a bitcast into a load or store, preserve the alignmentDan Gohman2008-06-281-2/+2
| | | | | | | information of the original load or store, which is checked to be at least as good, and possibly better. llvm-svn: 52849
* Fix GetMainExecutable. Patch by Sam Bishop.Seo Sanghyeon2008-06-271-4/+2
| | | | llvm-svn: 52847
* Looks like this condition is inverted.Evan Cheng2008-06-271-2/+2
| | | | llvm-svn: 52841
* Add a NextPowerOf2 function to calculate the next power of two greater than ↵Owen Anderson2008-06-271-0/+12
| | | | | | a given integer. llvm-svn: 52839
* implement some fixme's by making "autorenaming" in the value symbol table notChris Lattner2008-06-272-32/+11
| | | | | | thrash the heap with string stuff (e.g. utostr). llvm-svn: 52838
* simplify some code to avoid string thrashing.Chris Lattner2008-06-271-3/+5
| | | | llvm-svn: 52837
* Use StringSet instead of std::set<std::string>Anton Korobeynikov2008-06-273-26/+25
| | | | llvm-svn: 52836
OpenPOWER on IntegriCloud