aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/Utils
AgeCommit message (Collapse)Author
2007-02-03Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner
speeds up the inliner 16%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33801 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30move constant folding code out of Utils/Local into libanalysisChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33681 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30The inliner/cloner can now optionally take TargetData info, which can beChris Lattner
used by constant folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33676 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30Change constant folding APIs to take an optional TargetData, and changeChris Lattner
ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array of operands + size, instead of an std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-23For PR950:Reid Spencer
This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-05Unbreak VC++ build.Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-28add option to isCriticalEdgeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31258 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-28Expose a smarter way to break critical edges.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31256 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02Force anything that #includes llvm/Transforms/Utils/UnifyFunctionExitNodes.hChris Lattner
to link in the implementation. Thanks to Anton Korobeynikov for figuring out what was going on here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28660 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27Implement a new method: CloneAndPruneFunctionInto, as documented.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28518 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27Add an interface to constant fold and instruction given it's opcode, typeChris Lattner
and operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28516 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-17Add a CloneModule call that exposes the mapping of values from the old moduleChris Lattner
to the new module. Patch provided by Nick Lewycky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28349 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14This is a proper fix for the compiler warning. A termination condition isChris Lattner
not needed, as it can never be reached: an edge must exist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28282 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-13Fix an infinite loop bug that Vladimir Prus identified.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28281 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Remove a level of indirection.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26109 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-14Teach inline function how to update the callgraph when it makes changes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25318 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-13Allow the code cloning interfaces to capture some important info about theChris Lattner
code being cloned if the client wants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25281 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-27Move some constant folding functions into LLVMAnalysis since they are usedJohn Criswell
by Analysis and Transformation passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24038 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-27allow demotion to volatile valuesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23472 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-26add a new functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23443 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-17add a helperChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22823 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-04Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization intoNate Begeman
BasicBlock's removePredecessor routine. This requires shuffling around the definition and implementation of hasContantValue from Utils.h,cpp into Instructions.h,cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22664 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27Convert 'struct' to 'class' in various places to adhere to the coding standardsChris Lattner
and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16Add support for the unreachable instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17039 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15Add an optional argument to PromoteMemToRegChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16346 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23Moved to include/llvm/SupportMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14350 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-19Declare function defined in namespace llvm as gcc-3.4 doesn't accept a ↵Alkis Evlogimenos
definition in a namespace of a non-declared function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13602 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23Aggregating function arguments is now an option. Default is `no', as before.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13142 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13Add new interfacesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12918 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-18The code extractor needs dominator information, so we provide it.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12482 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-18Make this header file self-containedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12480 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17cleanup commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12463 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Remove dead fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12371 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02Add prototype for ExtractCodeRegion()Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01Add ability to extract a single basic block into a new function.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28New Function-level transformation utils.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-04Check in header file I forgot before.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11115 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12llvm::ConstantFoldInstructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Add new functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10Include forms of SplitCriticalEdge which work correctly with pred/succ iteratorsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9856 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10Move isCriticalEdge & SplitCritical into this file. While we're at it, changeChris Lattner
the interface to SplitCriticalEdge so that it splits an edge if it is critical, otherwise just returns false and noops if not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9852 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM copyright header (for lack of a better term).John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05Change the interface to PromoteMemToReg to also take a DominatorTreeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8883 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30Standardize header file commentsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-20Cleanup header fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10Expand the pass to unify all of the unwind blocks as wellChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31Fix an FLAT OUT WRONG commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8263 91177308-0d34-0410-b5e6-96231b3b80d8