Chris Lattner
631149287e
* Add support for different "PassType's"
...
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3110 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:11:38 +00:00
Chris Lattner
7b499f7303
Factor PassNameParser out of opt.cpp so that analyze and eventually llc can use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:09:10 +00:00
Chris Lattner
00444d0630
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3107 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 19:19:31 +00:00
Chris Lattner
aabff77165
Analysis contructors now no longer take AnalysisID's as their argument,
...
because there is a one-one mapping between classes and analyses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3106 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 19:19:16 +00:00
Chris Lattner
0cbc6c2fd8
Simplify analyses so that there is only one analysis per class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3104 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 18:40:06 +00:00
Chris Lattner
4b757f83ab
Remove dead options
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3096 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 19:59:38 +00:00
Chris Lattner
30bc0547d9
Fix previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3093 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 17:58:58 +00:00
Chris Lattner
f8820c353b
Add typenames
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3092 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 17:55:37 +00:00
Chris Lattner
47d3e26139
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3082 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:39:09 +00:00
Chris Lattner
b2e80a6951
Avoid warning: control reaches end of non-void function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3081 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:39:05 +00:00
Chris Lattner
c6a4bf1251
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3077 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:00:45 +00:00
Chris Lattner
de32fedb8c
GCC 3.1 changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3076 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:00:43 +00:00
Chris Lattner
3f5569152c
GCC 3.1 changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3070 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:34:01 +00:00
Chris Lattner
39d69009d0
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3067 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:20:06 +00:00
Chris Lattner
8dc67168cc
GCC 3.1 fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:20:00 +00:00
Chris Lattner
fe8041ae39
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:53 +00:00
Chris Lattner
7f4dd472e3
Changes to build with GCC 3.1
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3064 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:36 +00:00
Chris Lattner
24e9872732
Use the Support/iterator file to abstract out compiler differences
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3063 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:07:57 +00:00
Chris Lattner
0d219edad2
Use the new include/Support/iterator file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:07:42 +00:00
Chris Lattner
cb6289a73d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3058 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:21:33 +00:00
Chris Lattner
1089790546
Non-standard hash classes are not in the std:: namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3057 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:21:33 +00:00
Chris Lattner
09ff1126da
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3056 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:21:32 +00:00
Chris Lattner
417d31c202
Move hash_* extension headers from ext/ to Support/ so that we can support
...
GCC 2.95, GCC 3.0.4 and GCC 3.1 all concurrently, without having to delete
headers after a chackou.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:16:42 +00:00
Chris Lattner
7f5e6cd751
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3053 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:44:02 +00:00
Chris Lattner
a1cb4737b0
Changes to make it GCC 3.1 compatible
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3052 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:44:01 +00:00
Chris Lattner
5a6d63ae29
Add missing typename's that GCC3.1 is whining about.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3051 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:22:09 +00:00
Chris Lattner
e2c677fd9c
Disable the operator= in Value
...
Disable the copy ctor and operator= in Annotation.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3048 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:01:57 +00:00
Chris Lattner
f6a1328e4c
Remove assert hack now that I'm using the right GDB. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3045 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:21:36 +00:00
Chris Lattner
ab955c3359
Move many files into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:58 +00:00
Chris Lattner
ac20beb546
Move contents of these files into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3041 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:24 +00:00
Chris Lattner
5c5db0eeb4
* Rename to IPO.h
...
* Add ConstantMerge.h contents
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3032 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:56:27 +00:00
Chris Lattner
28fe8ce18f
Add a version of the bytecode writer pass that has a default ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3031 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:56:03 +00:00
Chris Lattner
3c19b92389
Incorporate into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3030 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:51:10 +00:00
Chris Lattner
03917ccb0c
Prepare the file to become IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3029 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:48:52 +00:00
Chris Lattner
378fb1df55
Merge the contents of ChangeAllocations.h into Scalar.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:37:38 +00:00
Chris Lattner
4c76fc048b
Break part of Pass.h out into PassAnalysisSupport.h
...
Add PassSupport.h which contains code for Pass registration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3010 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:59:55 +00:00
Chris Lattner
f1ac9f6a7f
Allow comparison against null
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3009 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:59:02 +00:00
Chris Lattner
dedcc76fda
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3008 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:44 +00:00
Chris Lattner
f113b854d0
Pass creator requires a TargetData member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3007 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:42 +00:00
Chris Lattner
8bf58bbc69
Regularize the Print*Passes so they have default ctors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3006 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:09 +00:00
Chris Lattner
c1b5d092a0
Initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3005 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:56:53 +00:00
Chris Lattner
af7e82184d
Add support for removing an option from a genericparser
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2998 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:15:09 +00:00
Chris Lattner
ae1257a77b
Change to avoid bug in GCC 3.0.4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2997 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 00:44:37 +00:00
Mehwish Nagda
c4e9a14847
Moved to Reoptimizer/Mapping directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2991 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 22:06:56 +00:00
Chris Lattner
331de23705
Checkin CommandLine 2.0
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2982 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:07:59 +00:00
Anand Shukla
9bdf841ef1
changed first arg of parseBytecodeBuffer to unsigned char
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2978 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-21 09:31:59 +00:00
Anand Shukla
9cd186c4c1
changed first arg og parseBytecodeBuffer to uchar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2977 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-21 09:26:32 +00:00
Chris Lattner
2dfbe3a751
Rename removeDeadNodes to removeTriviallyDeadNodes
...
Add new removeDeadNodes method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2968 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 18:18:40 +00:00
Chris Lattner
a990291462
Simplify saveOrigFunctionCalls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2967 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 16:23:02 +00:00
Vikram S. Adve
6aa0d62cb9
Add support for a top-down propagation pass.
...
Each DSGraph now keeps a list of pending callers that have not
been inlined into the function represented by that graph.
It also keeps a copy of the original call nodes before the BU pass
eliminates some of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2965 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 16:12:08 +00:00
Chris Lattner
b195911eab
* s/method/function
...
* BIG CHANGE: The root of the call "graph" is considered to be the external
node, not the "Root". This means that users using graph iterators like
df_begin() will start from the external node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 04:42:35 +00:00
Chris Lattner
84428e1892
First cut at implementing bottom up analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2944 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 00:11:28 +00:00
Chris Lattner
1aa7132700
Make getelementptr ConstExpr take a vector of constants not values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2943 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 00:11:08 +00:00
Chris Lattner
1416089f44
Fix prototype to make function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2939 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-17 21:34:20 +00:00
Mehwish Nagda
0226fdb6e7
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2912 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-15 23:56:27 +00:00
Vikram S. Adve
ab6317a1e5
Ensure ConstExpr constants are unique.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2910 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-15 18:20:50 +00:00
Vikram S. Adve
5814008f4b
Create a static version of Instruction::getOpcodeName(opCode) that
...
can be invoked with only an opcode (i.e., without an instruction).
Move all opCode->opCodeName translations there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2892 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-14 22:48:20 +00:00
Vikram S. Adve
29ab9f8348
Added subclass ConstantExpr to represent expressions consructed from
...
constants using operators such as cast, getelementptr, add, shl, etc.
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr. This is why isConstantExpr() is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2891 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-14 22:47:54 +00:00
Vikram S. Adve
4a717d4a47
Add a couple of virtual functions to support subclass ConstantExpr.
...
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr. This is why isConstantExpr() is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2890 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-14 22:46:32 +00:00
Anand Shukla
0135729303
initial version: for emitfuncs pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2886 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-12 20:28:22 +00:00
Chris Lattner
1dc15b7997
* Nodes now keep track of any global variables contained within them
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2877 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-11 20:30:18 +00:00
Anand Shukla
24787fa2ed
added std:: to vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2874 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-11 00:16:28 +00:00
Chris Lattner
cd0b36fb07
New implementation of data structure analysis
...
This diff is completely meaningless because this is a replacement
implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2872 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 22:42:17 +00:00
Vikram S. Adve
975f6d4f44
Bug fix: cast (bool) has higher precedence than %... who knew!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2864 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:51:46 +00:00
Vikram S. Adve
69cacd4710
Add support for marking each operand as a %hh, %hm, %lm or %lo.
...
Represent previous bools and these ones with flags in a single byte
per operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2863 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:50:57 +00:00
Vikram S. Adve
e694366259
Added a few more methods for creating instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2862 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:49:38 +00:00
Vikram S. Adve
9d22cd4535
Put caller-saving code *before* argument copying code!
...
(This file has a minor change required for this fix.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2854 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:30:17 +00:00
Vikram S. Adve
bba2485c70
Minor change in comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2853 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:29:22 +00:00
Chris Lattner
46f824f21d
Allow specifying a module for context instead of a slot calculator directly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2851 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 16:48:14 +00:00
Anand Shukla
e086f4e897
added std:: to hash_set
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2846 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-09 19:18:16 +00:00
Chris Lattner
53e9983790
Include header in the compiler-neutral location
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2843 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-09 16:50:24 +00:00
Vikram S. Adve
5023bd4a64
cpMem<->Reg functions now support CC registers (int and FP) correctly.
...
A scratch register has to be provided when needed to do the copy.
Also, cpMem<->Reg functions now return a vector of machine instructions.
Added several get{Class,Type} functions.
Suggest/Color methods may modify the MachineInstr (and always did),
so don't make that argument const!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2824 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:44:14 +00:00
Vikram S. Adve
deb9654056
Interface to class MachineCodeForBasicBlock.
...
Moved here from MachineInstr.h to make it an annotation on BasicBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2823 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:40:34 +00:00
Vikram S. Adve
7a4be9580e
Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.
...
An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2821 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:38:45 +00:00
Vikram S. Adve
c920dc714d
Added two more helper functions for instruction creation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2819 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:33:45 +00:00
Vikram S. Adve
08272fbdb2
Moved MachineCodeForBB to be an annotation on BasicBlock.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2818 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:31:11 +00:00
Anand Shukla
4b244ac1b4
Add new << to allow printing modules by reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2814 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-03 16:52:15 +00:00
Chris Lattner
8137a203f3
Fix comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2803 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-30 15:50:09 +00:00
Anand Shukla
60a786e9e9
added include<iostream> for cerr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 22:04:00 +00:00
Chris Lattner
0d1fa55200
We must with with GCC 2.95 :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2787 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:33:28 +00:00
Anand Shukla
4a9f933751
changes to make it compatible with 64bit gcc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2786 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:22:25 +00:00
Anand Shukla
0bdbfe0b15
Added setSuccessor() method to terminator instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2784 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:17:40 +00:00
Chris Lattner
7e70829632
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
18961504fc
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:12:52 +00:00
Chris Lattner
a51b767df4
Allow const bb's to be checked for containment in a loop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2754 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-03 22:10:48 +00:00
Chris Lattner
a338016c7c
Simplify the interface to local dce and constprop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2750 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-26 20:18:35 +00:00
Chris Lattner
85c5465e07
Convert RegClass::IsColorUsedArr from a dynamically allocated array to
...
a vector. This makes asserting on array bounds easier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2731 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23 15:50:03 +00:00
Chris Lattner
195755ced7
Add a new setSuccessor method to terminator instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2730 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23 15:48:41 +00:00
Chris Lattner
e87adaac31
Avoid #including CommandLine.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2710 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:06:56 +00:00
Chris Lattner
4435ac0097
Implement a new command line option, -debug, which is meant to unify all of
...
the random debugging macros scattered throughout llvm.
The new DEBUG(x) macro should be used instead of special purpose debug macros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2709 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:06:20 +00:00
Chris Lattner
71fb71628a
Add ability to update existing variables with values read from the command line
...
to certain classes. This is nice because it means that in header files we can
just declare a value, and still have that value be set based on a command-line
argument. The difference is now that the #include of CommandLine.h does not
need to go into the header file as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2708 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:03:05 +00:00
Chris Lattner
76ae3445f8
Simplify interface to ConstantFoldTerminator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:04:50 +00:00
Chris Lattner
b8bcb086f7
Expose CFG simplification pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2696 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:04:15 +00:00
Chris Lattner
54ea60c69e
Cleanups, rename IsPowerOf2 to isPowerOf2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2662 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 21:19:55 +00:00
Vikram S. Adve
bcfa423e3d
Added log2 for log-base-2 and also modified IsPower2 to use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2653 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:46:52 +00:00
Vikram S. Adve
14e3c44486
Added parameter IntRegSize for standard general-purpose register size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2652 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:44:07 +00:00
Vikram S. Adve
c864fde15c
New function CreateSignExtensionInstructions.
...
Methods now take MachineCodeForInstruction& as an argument and record
temporary values in it directly, instead of return the temps.
Really simplifies callers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2651 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:43:31 +00:00
Vikram S. Adve
febfae46a7
Many functions that returned a single MachineInstr now take a
...
vector of MachineInstr* to return multiple ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2650 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:42:21 +00:00
Vikram S. Adve
67d6208d05
Better interface to generating machine instr for common cases
...
(many places still need to be updated to use this interface).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2648 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:40:41 +00:00
Vikram S. Adve
8eb04905e8
MachineInstr now inherits from Annotable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2647 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:39:59 +00:00