summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* DAGSize should not be public.Evan Cheng2008-07-011-3/+6
| | | | llvm-svn: 52977
* Prune a few dependencies on MachineFunction.h.Dan Gohman2008-07-013-2/+1
| | | | llvm-svn: 52976
* Do run ComputeLiveOutVRegInfo with -fast.Evan Cheng2008-07-011-1/+1
| | | | llvm-svn: 52975
* Make ilist_traits<MachineBasicBlock>'s Parent member private.Dan Gohman2008-07-011-1/+1
| | | | llvm-svn: 52974
* Fix apostrophes in a comment.Dan Gohman2008-07-011-1/+1
| | | | llvm-svn: 52972
* Do not use computationally expensive scheduling heuristics with -fast.Evan Cheng2008-07-018-67/+77
| | | | llvm-svn: 52971
* Apply Chris' suggestion.Evan Cheng2008-07-011-32/+36
| | | | llvm-svn: 52970
* Add dom info verifier.Devang Patel2008-07-015-7/+165
| | | | llvm-svn: 52967
* Make the subregister hashtable output more readable by wrapping the lines,Owen Anderson2008-07-013-17/+25
| | | | | | and mark it const along with the associated changes to TargetRegisterInfo. llvm-svn: 52966
* Use delete[] instead of free on an array created with new[].Owen Anderson2008-07-011-1/+1
| | | | llvm-svn: 52960
* Highlight that getMergeValues optimization isDuncan Sands2008-07-011-1/+2
| | | | | | being suppressed here. llvm-svn: 52952
* Implement suggestions from Chris:Owen Anderson2008-07-012-11/+12
| | | | | | | | - Use a more accurate heuristic for the size of the hashtable. - Use bitwise and instead of modulo since the size is a power of two. - Use new[] instead of malloc(). llvm-svn: 52951
* Compilation fixSeo Sanghyeon2008-07-011-0/+1
| | | | llvm-svn: 52950
* Properly handle cases where a predecessor of the block being queried on is ↵Owen Anderson2008-07-011-0/+13
| | | | | | | | unreachable. This fixes PR2503, though we should also fix other passes not to emit this kind of code. llvm-svn: 52946
* Replace the dynamically computed std::set lookup method for subregisters ↵Owen Anderson2008-07-013-13/+84
| | | | | | | | with a hashtable-based version that is computed by tblgen at the time LLVM is compiled. llvm-svn: 52945
* Minimize duplicated code in AsmPrinter::printLabel.Dan Gohman2008-07-011-2/+1
| | | | llvm-svn: 52944
* Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminatingDan Gohman2008-07-0135-114/+192
| | | | | | | | | | | | | | | | the need for a flavor operand, and add a new SDNode subclass, LabelSDNode, for use with them to eliminate the need for a label id operand. Change instruction selection to let these label nodes through unmodified instead of creating copies of them. Teach the MachineInstr emitter how to emit a MachineInstr directly from an ISD label node. This avoids the need for allocating SDNodes for the label id and flavor value, as well as SDNodes for each of the post-isel label, label id, and label flavor. llvm-svn: 52943
* Adding some missing files to VStudio project files. Switching to use ↵Chuck Rose III2008-06-305-7/+21
| | | | | | generated llvmAsmParser.cpp/.h llvm-svn: 52935
* Suppress compiler warning.Evan Cheng2008-06-301-1/+1
| | | | llvm-svn: 52934
* Don't run stack slot coloring if -fast.Evan Cheng2008-06-301-2/+4
| | | | llvm-svn: 52933
* Don't use ISD namespace opcodes for MachineInstrs.Dan Gohman2008-06-301-2/+2
| | | | llvm-svn: 52932
* Use a simpler but equivalent form of RecordSource.Dan Gohman2008-06-301-2/+1
| | | | llvm-svn: 52931
* Add timing report for various sub-passes under SelectionDAGISel.Evan Cheng2008-06-301-0/+26
| | | | llvm-svn: 52930
* std::ostream and std::string microoptimizations for asm printing.Dan Gohman2008-06-302-137/+137
| | | | llvm-svn: 52929
* Make SmallVector's grow use memcpy in common casesDan Gohman2008-06-301-1/+6
| | | | | | instead of std::uninitialized_copy, which uses memmove. llvm-svn: 52928
* Use plain operator new instead of new char[].Dan Gohman2008-06-301-5/+5
| | | | llvm-svn: 52927
* Use reserve.Dan Gohman2008-06-301-0/+1
| | | | | | | | | | SelectionDAG::allnodes_size is linear, but that doesn't appear to outweigh the benefit of reducing heap traffic. If it does become a problem, we should teach SelectionDAG to keep a count of how many nodes are live, because there are several other places where that information would be useful as well. llvm-svn: 52926
* Update comments to new-style syntax.Dan Gohman2008-06-302-6/+6
| | | | llvm-svn: 52925
* 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
OpenPOWER on IntegriCloud