102 Commits

Author SHA1 Message Date
Nick Lewycky
c2306ff5b4 Fix typo in comment.
llvm-svn: 36873
2007-05-06 13:37:16 +00:00
Devang Patel
cd45427a87 Drop 'const'
llvm-svn: 36662
2007-05-03 01:11:54 +00:00
Devang Patel
8ee9065162 Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.

llvm-svn: 36652
2007-05-02 21:39:20 +00:00
Devang Patel
38a66bc82e Do not use typeinfo to identify pass in pass manager.
llvm-svn: 36632
2007-05-01 21:15:47 +00:00
Devang Patel
6a358e5694 Mem2Reg does not need TargetData.
llvm-svn: 36446
2007-04-25 18:41:11 +00:00
Devang Patel
b6ef7bc5d9 Remove unused function argument.
llvm-svn: 36441
2007-04-25 17:15:20 +00:00
Owen Anderson
41b527b75f Move more passes to using ETForest instead of DominatorTree.
llvm-svn: 36271
2007-04-20 06:27:13 +00:00
Owen Anderson
85b0e20f2a Completely purge DomSet. This is the (hopefully) final patch for PR1171.
llvm-svn: 35731
2007-04-07 07:17:27 +00:00
Owen Anderson
41bf50021d Expunge DomSet from CodeExtractor. This is part of the continuing work
on PR1171.

llvm-svn: 35726
2007-04-07 05:31:27 +00:00
Chris Lattner
71fe09f397 Switch inliner over to use DenseMap instead of std::map for ValueMap. This
speeds up the inliner 16%.

llvm-svn: 33801
2007-02-03 00:08:31 +00:00
Chris Lattner
854464d748 move constant folding code out of Utils/Local into libanalysis
llvm-svn: 33681
2007-01-30 23:46:43 +00:00
Chris Lattner
23628987e2 The inliner/cloner can now optionally take TargetData info, which can be
used by constant folding.

llvm-svn: 33676
2007-01-30 23:22:39 +00:00
Chris Lattner
59ba02e557 Change constant folding APIs to take an optional TargetData, and change
ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array
of operands + size, instead of an std::vector.

llvm-svn: 33669
2007-01-30 23:12:47 +00:00
Reid Spencer
4428c3483b For PR950:
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.

llvm-svn: 32751
2006-12-23 06:05:41 +00:00
Jeff Cohen
e1003da1a2 Unbreak VC++ build.
llvm-svn: 31464
2006-11-05 19:31:28 +00:00
Chris Lattner
65f872288d add option to isCriticalEdge
llvm-svn: 31258
2006-10-28 06:58:17 +00:00
Chris Lattner
85bc826ca6 Expose a smarter way to break critical edges.
llvm-svn: 31256
2006-10-28 06:44:56 +00:00
Chris Lattner
0f5ef733cc Force anything that #includes llvm/Transforms/Utils/UnifyFunctionExitNodes.h
to link in the implementation.  Thanks to Anton Korobeynikov for figuring out
what was going on here.

llvm-svn: 28660
2006-06-02 18:40:06 +00:00
Chris Lattner
fcb019fcb6 Implement a new method: CloneAndPruneFunctionInto, as documented.
llvm-svn: 28518
2006-05-27 01:21:50 +00:00
Chris Lattner
c8b9439f3a Add an interface to constant fold and instruction given it's opcode, type
and operands.

llvm-svn: 28516
2006-05-27 01:17:40 +00:00
Chris Lattner
9a0d02f8f7 Add a CloneModule call that exposes the mapping of values from the old module
to the new module.  Patch provided by Nick Lewycky!

llvm-svn: 28349
2006-05-17 18:05:35 +00:00
Chris Lattner
2070effca0 This is a proper fix for the compiler warning. A termination condition is
not needed, as it can never be reached: an edge must exist.

llvm-svn: 28282
2006-05-14 02:01:22 +00:00
Reid Spencer
e343483440 Fix an infinite loop bug that Vladimir Prus identified.
llvm-svn: 28281
2006-05-13 18:11:32 +00:00
Chris Lattner
0d03d576e4 Remove a level of indirection.
llvm-svn: 26109
2006-02-10 21:32:11 +00:00
Chris Lattner
3e2e2b22ec Teach inline function how to update the callgraph when it makes changes.
llvm-svn: 25318
2006-01-14 20:05:06 +00:00
Chris Lattner
67fb415248 Allow the code cloning interfaces to capture some important info about the
code being cloned if the client wants.

llvm-svn: 25281
2006-01-13 18:39:17 +00:00
John Criswell
0893d5847f Move some constant folding functions into LLVMAnalysis since they are used
by Analysis and Transformation passes.

llvm-svn: 24038
2005-10-27 16:00:10 +00:00
Chris Lattner
dbef366ea5 allow demotion to volatile values
llvm-svn: 23472
2005-09-27 19:38:43 +00:00
Chris Lattner
2a5d66d0e1 add a new function
llvm-svn: 23443
2005-09-26 05:26:32 +00:00
Chris Lattner
1fc1d60d5a add a helper
llvm-svn: 22823
2005-08-17 06:34:37 +00:00
Nate Begeman
ef41400067 Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into
BasicBlock's removePredecessor routine.  This requires shuffling around
the definition and implementation of hasContantValue from Utils.h,cpp into
Instructions.h,cpp

llvm-svn: 22664
2005-08-04 23:24:19 +00:00
Misha Brukman
58c97e67f3 Remove trailing whitespace
llvm-svn: 21412
2005-04-21 20:59:05 +00:00
Chris Lattner
dd0094e4ed Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++.  Patch contributed by Morten Ofstad!

llvm-svn: 17281
2004-10-27 16:14:51 +00:00
Chris Lattner
cd83905b39 Add support for the unreachable instruction
llvm-svn: 17039
2004-10-16 18:06:43 +00:00
Chris Lattner
12d1ccfbd8 Add an optional argument to PromoteMemToReg
llvm-svn: 16346
2004-09-15 01:02:30 +00:00
Misha Brukman
0ae5becf22 Moved to include/llvm/Support
llvm-svn: 14350
2004-06-23 17:24:53 +00:00
Alkis Evlogimenos
fd3b0971bf Declare function defined in namespace llvm as gcc-3.4 doesn't accept a definition in a namespace of a non-declared function.
llvm-svn: 13602
2004-05-19 19:17:48 +00:00
Misha Brukman
d41853bbe2 Aggregating function arguments is now an option. Default is `no', as before.
llvm-svn: 13142
2004-04-23 23:54:34 +00:00
Chris Lattner
2bf8038c69 Add new interfaces
llvm-svn: 12918
2004-04-13 19:28:32 +00:00
Chris Lattner
f5af93a6bb The code extractor needs dominator information, so we provide it.
llvm-svn: 12482
2004-03-18 03:47:46 +00:00
Chris Lattner
fa7a97f573 Make this header file self-contained
llvm-svn: 12480
2004-03-18 03:14:56 +00:00
Chris Lattner
739eb75cd4 cleanup comment
llvm-svn: 12463
2004-03-17 01:29:36 +00:00
Chris Lattner
6d84c5547a Remove dead file
llvm-svn: 12371
2004-03-14 02:13:57 +00:00
Chris Lattner
7ed7f02c3a Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
llvm-svn: 12367
2004-03-14 02:13:07 +00:00
Misha Brukman
057b5d5519 Add prototype for ExtractCodeRegion()
llvm-svn: 12069
2004-03-02 00:20:32 +00:00
Misha Brukman
f5abaea3a5 Add ability to extract a single basic block into a new function.
llvm-svn: 12052
2004-03-01 18:27:13 +00:00
Misha Brukman
13b5b048fb New Function-level transformation utils.
llvm-svn: 11938
2004-02-28 03:33:30 +00:00
Chris Lattner
0d6e2dfd13 Check in header file I forgot before.
llvm-svn: 11115
2004-02-04 03:59:08 +00:00
Chris Lattner
98a45667fb llvm::ConstantFoldInstruction
llvm-svn: 10787
2004-01-12 18:25:56 +00:00
Chris Lattner
c1952a1fd6 Add new function
llvm-svn: 10529
2003-12-19 05:56:28 +00:00