aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Remove ETForest.Devang Patel2007-06-272-480/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37765 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ("shrinkify") MVT::isExtendedValueType to MVT::isExtendedVT.Dan Gohman2007-06-272-19/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37758 91177308-0d34-0410-b5e6-96231b3b80d8
* Document the encoding of MVT::ValueType.Dan Gohman2007-06-271-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37757 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow DOUT to be used outside of the llvm namespace.Dan Gohman2007-06-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37753 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comment.Evan Cheng2007-06-261-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37741 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly handle kills of a physical register which has sub-registers that ↵Evan Cheng2007-06-261-0/+10
| | | | | | are read by later instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37739 91177308-0d34-0410-b5e6-96231b3b80d8
* Add immediate sub-registers.Evan Cheng2007-06-261-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37738 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace ?: with if statements, for clarity.Dan Gohman2007-06-261-18/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37735 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the expression for MVT::isExtendedValueType.Dan Gohman2007-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37733 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the expression for TargetLowering::isTypeLegal.Dan Gohman2007-06-261-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37732 91177308-0d34-0410-b5e6-96231b3b80d8
* Renumber the SimpleValueType values to fill in the hole left byDan Gohman2007-06-262-24/+23
| | | | | | | removing MVT::Vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37730 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the earlier change that removed the M_REMATERIALIZABLE machineDan Gohman2007-06-261-10/+26
| | | | | | | | | | instruction flag, and use the flag along with a virtual member function hook for targets to override if there are instructions that are only trivially rematerializable with specific operands (i.e. constant pool loads). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37728 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a convenince member function for appending strings to a module'sDan Gohman2007-06-261-0/+7
| | | | | | | module-level asm string data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37726 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize MVT::ValueType and associated functions to be able to representDan Gohman2007-06-255-153/+179
| | | | | | | | | | | | | | | | extended vector types. Remove the special SDNode opcodes used for pre-legalize vector operations, and the special MVT::Vector type used with them. Adjust lowering and legalize to work with the normal SDNode kinds instead, and to use the normal MVT functions to work with vector types instead of using the two special operands that the pre-legalize nodes held. This allows pre-legalize and post-legalize DAGs, and the code that operates on them, to be more consistent. Pre-legalize vector operators can be handled more consistently with scalar operators. And, -view-dag-combine1-dags and -view-legalize-dags now look prettier for vector code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37719 91177308-0d34-0410-b5e6-96231b3b80d8
* Move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits fromDan Gohman2007-06-222-21/+24
| | | | | | | | | | TargetLowering to SelectionDAG so that they have more convenient access to the current DAG, in preparation for the ValueType routines being changed from standalone functions to members of SelectionDAG for the pre-legalize vector type changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37704 91177308-0d34-0410-b5e6-96231b3b80d8
* check in the BigBlock local register allocatorDuraid Madina2007-06-222-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37703 91177308-0d34-0410-b5e6-96231b3b80d8
* Have internal df_iterator's use SmallPtrSet instead of std::set. This ↵Owen Anderson2007-06-211-3/+5
| | | | | | provides compile time speedups to any pass using df_iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37694 91177308-0d34-0410-b5e6-96231b3b80d8
* Move code to update dominator information after basic block is splitDevang Patel2007-06-211-0/+10
| | | | | | | from LoopSimplify.cpp to Dominator.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37689 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename TargetLowering::getNumElements and friends toDan Gohman2007-06-211-4/+4
| | | | | | | | TargetLowering::getNumRegisters and similar, to avoid confusion with the actual number of elements for vector types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37687 91177308-0d34-0410-b5e6-96231b3b80d8
* Move inliner pass header file.Tanya Lattner2007-06-191-0/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37664 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ScalarEvolution::deleteInstructionFromRecords toDan Gohman2007-06-191-3/+3
| | | | | | | | | | deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses internally anyway. This allows more flexibility for future uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37657 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoadDan Gohman2007-06-191-12/+4
| | | | | | | | | | | with a general target hook to identify rematerializable instructions. Some instructions are only rematerializable with specific operands, such as loads from constant pools, while others are always rematerializable. This hook allows both to be identified as being rematerializable with the same mechanism. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37644 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace CanBeDuplicated() with a M_NOT_DUPLICABLE bit.Evan Cheng2007-06-191-16/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37642 91177308-0d34-0410-b5e6-96231b3b80d8
* add isvararg tracking to CCStateChris Lattner2007-06-191-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37639 91177308-0d34-0410-b5e6-96231b3b80d8
* Move CorrectExtraCFGEdges() from BranchFolding.cpp to a MachineBasicBlock ↵Evan Cheng2007-06-181-0/+10
| | | | | | method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37633 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify annotate intrinsic to take 2 additional args: file and line number.Tanya Lattner2007-06-181-2/+3
| | | | | | | | Fix up Annotate attribute test case. Fix DebugFilename.c test case to look for right file name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37632 91177308-0d34-0410-b5e6-96231b3b80d8
* add helperChris Lattner2007-06-181-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37631 91177308-0d34-0410-b5e6-96231b3b80d8
* Add keyword explicit.Dan Gohman2007-06-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37624 91177308-0d34-0410-b5e6-96231b3b80d8
* Added CanBeDuplicated(). It returns true if an instruction can be safely ↵Evan Cheng2007-06-151-0/+7
| | | | | | duplicated (e.g. during ifcvt). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37605 91177308-0d34-0410-b5e6-96231b3b80d8
* Add local var annotation intrinsic.Tanya Lattner2007-06-151-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37603 91177308-0d34-0410-b5e6-96231b3b80d8
* No longer needed.Evan Cheng2007-06-151-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37598 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a SCEV class and supporting code for sign-extend expressions.Dan Gohman2007-06-152-33/+63
| | | | | | | | | | | This created an ambiguity for expandInTy to decide when to use sign-extension or zero-extension, but it turns out that most of its callers don't actually need a type conversion, now that LLVM types don't have explicit signedness. Drop expandInTy in favor of plain expand, and change the few places that actually need a type conversion to do it themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37591 91177308-0d34-0410-b5e6-96231b3b80d8
* m_not should match vector notChris Lattner2007-06-151-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37587 91177308-0d34-0410-b5e6-96231b3b80d8
* add a Constant::getAllOnesValue helper function, which works on integersChris Lattner2007-06-151-0/+5
| | | | | | | AND vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37586 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename MVT::getVectorBaseType to MVT::getVectorElementType.Dan Gohman2007-06-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37579 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not treat FP_REG_KILL as terminator in branch analysis (X86).Dale Johannesen2007-06-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37578 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a target hook to allow loads from constant pools to be rematerialized, ↵Dan Gohman2007-06-141-0/+10
| | | | | | | | | and an implementation for x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37576 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate some redundant newlines in asm output.Dan Gohman2007-06-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37574 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to tablegen for specifying subregister classes on a per register ↵Christopher Lamb2007-06-131-0/+44
| | | | | | class basis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37572 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR andDan Gohman2007-06-131-0/+13
| | | | | | | | | | | | | | VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in the case that the full register is to be split into subvectors instead of scalars. This replaces uses of VBIT_CONVERT to present values as vector-of-vector types in order to make whole subvectors accessible via BUILD_VECTOR and EXTRACT_VECTOR_ELT. This is in preparation for adding extended ValueType values, where having vector-of-vector types is undesirable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37569 91177308-0d34-0410-b5e6-96231b3b80d8
* Protect updateDFSNumbers()Devang Patel2007-06-121-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37560 91177308-0d34-0410-b5e6-96231b3b80d8
* Make DFS number manipulation methods private.Devang Patel2007-06-121-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37553 91177308-0d34-0410-b5e6-96231b3b80d8
* Break DominatorTree from ETNode.Devang Patel2007-06-122-54/+4
| | | | | | | Remove unused PostETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37551 91177308-0d34-0410-b5e6-96231b3b80d8
* Maintain DFS number in DomTreeNode itself.Devang Patel2007-06-121-3/+17
| | | | | | | This means now ETNodes are not useful anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37546 91177308-0d34-0410-b5e6-96231b3b80d8
* Add and use DominatorTreeBase::findNearestCommonDominator().Devang Patel2007-06-111-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37545 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a utility routine to check for unpredicated terminator instruction.Evan Cheng2007-06-081-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37528 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Devang Patel2007-06-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37522 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor live variable analysis so it does not do register coalescingDavid Greene2007-06-083-114/+195
| | | | | | | | | | | simultaneously. Move that pass to SimpleRegisterCoalescing. This makes it easier to implement alternative register allocation and coalescing strategies while maintaining reuse of the existing live interval analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37520 91177308-0d34-0410-b5e6-96231b3b80d8
* Update LoopSimplify to require and preserve DominatorTree only.Devang Patel2007-06-081-0/+4
| | | | | | | Now LoopSimplify does not require nor preserve ETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37512 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new method - nearestCommonDominator().Devang Patel2007-06-081-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37508 91177308-0d34-0410-b5e6-96231b3b80d8