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
Vikram S. Adve
7e684a956a
Annotation class for MachineInstr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2643 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:30:21 +00:00
Vikram S. Adve
f66723fc4b
Add integer register size field.
...
Make all sizes and offsets uint64_t instead of uint.
Fixed GetIndexedOffset to handle mixed array and struct indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2641 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:28:02 +00:00
Chris Lattner
017489cfa2
Invoke inst has side effects!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2619 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-14 04:20:25 +00:00
Chris Lattner
ef704a23b4
Add method to check to see if two _Instructions_ dominate each other
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2616 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-13 22:03:16 +00:00
Chris Lattner
0fe2153507
Add prototype for LICM pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2612 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:44:16 +00:00
Chris Lattner
dd63a37c87
Make sure to call the derived visit versions from the ranged iterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2607 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:21:05 +00:00
Chris Lattner
b498cce6b2
Add explicit abort so optimized build knows that the function does not return
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2605 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 18:53:55 +00:00
Chris Lattner
cba7a1545a
Add an explicit abort so that the optimized build knows the function does
...
not return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2604 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 18:53:21 +00:00
Chris Lattner
fa10fdf5eb
Initial checkin of Statistic class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2599 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 15:36:56 +00:00
Chris Lattner
9f7fab5feb
remove deprecated getInstType() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2595 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 13:28:47 +00:00
Chris Lattner
531823f125
Add prototype for the PiNodeInserter pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2592 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 05:40:37 +00:00
Chris Lattner
540d63cbc7
Add expr reassociation pass prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2558 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 22:19:01 +00:00
Sumant Kowshik
9ddc86c6e5
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2552 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 18:09:58 +00:00
Chris Lattner
1ea5c56795
Spell aggressive right
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2549 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 22:12:52 +00:00
Chris Lattner
a7980c0a08
Fix misspelling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2548 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 22:12:36 +00:00
Chris Lattner
3bcf74e298
These files are supersumed by include/llvm/Transforms/Scalar.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2534 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:38:42 +00:00
Chris Lattner
332f3679d0
New header file to replace all of the Scalar/*.h files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2533 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:37:18 +00:00
Chris Lattner
148a0bfcea
Checkin headers for Utils library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2528 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:52:48 +00:00
Chris Lattner
96bcfc30dc
Cleanup implementation a bit + comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2527 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:51:44 +00:00
Chris Lattner
efbe5d682b
Update header after moving file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:34:57 +00:00
Chris Lattner
2d95aa29f8
Remove long dead file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2521 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:20:10 +00:00
Chris Lattner
88d15ab0d6
Factor code out to the Transform Utils library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2519 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:18:00 +00:00
Chris Lattner
4445519fab
Add support for passes to announce that they only depend on the CFG of a
...
function. This is crude but effective
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2505 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 19:31:16 +00:00
Chris Lattner
a803899af5
Move a bunch of code to a .cpp file, don't #include Instruction.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2499 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 17:54:50 +00:00
Chris Lattner
4dedcb2670
* Add getPrimitiveSize method
...
* Remove isPointerType, isMethodType, etc... methods. Use isa<> instead
* Added specialization of isa for pointer types so that DerivedTypes.h doesn't
have to be #included to use isa<PointerType>(..)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2483 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 16:12:53 +00:00
Chris Lattner
11fe8dfff7
Void and Label values cannot be acted on directly so they have zero size
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2481 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 15:10:15 +00:00
Chris Lattner
4c1061f58c
Implement constant propogation of shift instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2471 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:01:37 +00:00
Chris Lattner
fac8a7052f
Add a range remove method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2468 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 02:59:52 +00:00
Chris Lattner
bdd15ad565
Implement remainder
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2463 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 21:40:37 +00:00
Chris Lattner
ea1e8c70eb
Make the range insert operation return an iterator, even though the STL
...
range insert doesn't
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2413 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 21:23:30 +00:00
Chris Lattner
94cf3b1c67
Remove unused files: This is the old induction varaible cannonicalization
...
pass built on top of interval analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2411 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 20:18:00 +00:00
Chris Lattner
ee9c7d528d
Change to allow iMemory.h to avoid including DerivedTypes.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2403 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 18:46:22 +00:00
Chris Lattner
f3e3247429
Remove analysis namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2399 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 18:12:52 +00:00
Chris Lattner
c6f3ae5c66
Eliminate duplicate or unneccesary #include's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 17:42:12 +00:00
Chris Lattner
96c466b06a
Add new optional getPassName() virtual function that a Pass can override
...
to make debugging output a lot nicer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 14:57:45 +00:00
Chris Lattner
63f824ce18
Stub functions for timing support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2393 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 04:02:50 +00:00
Chris Lattner
0ad0d0e09a
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFG
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2385 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:26:51 +00:00
Chris Lattner
3330e5be7a
Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2384 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:25:41 +00:00
Chris Lattner
d30efaf56e
* Add a stub to FunctionPass so that subclasses can declare that they do not
...
modify the CFG. It currently does nothing, but will in the future.
* Changes to make the public PassManager.h be MUCH smaller, and devoid of
implementation details. Now PassManager is just a Pimpl class that wraps
PassManagerT<Module>, but lib/VMCore/Pass.cpp is now the only class that
has to #include PassManagerT.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2383 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:46:05 +00:00
Chris Lattner
b6dcbfc6d1
Use forward decl instead of #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2380 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:40:25 +00:00
Chris Lattner
31bcdb822f
Split ConstantVals.h into Constant.h and Constants.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:55:58 +00:00
Chris Lattner
9ae93cdcc8
Fix two FIXME's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2377 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:49:58 +00:00
Chris Lattner
8fc2f2072d
Remove all contents of the cfg namespace to the global namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2369 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:19:42 +00:00
Chris Lattner
876509614b
Remove obsolete namespace from example
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2368 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:18:32 +00:00
Chris Lattner
dbb1735673
Initial checkin of new "Internalize" pass for GCCLD
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2362 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:43:27 +00:00
Chris Lattner
f4467b8ebc
SymTabValue class incorporated into Function and Module classes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2359 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:56:59 +00:00
Chris Lattner
dae4a36849
Include an operator<<, to print modules
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2358 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:56:28 +00:00
Chris Lattner
09a60ac9fe
Remove forward def'ns that are already in Value.h
...
Do not support output of Modules directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2349 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:47:33 +00:00
Chris Lattner
20ad298c74
s/Method/Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2348 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:47:06 +00:00
Chris Lattner
356b79320b
Module's are no longer Value's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2347 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:46:29 +00:00
Chris Lattner
853737706f
The interesting contents of SymTabValue were incorporated into Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2346 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:46:07 +00:00
Chris Lattner
6b5689ed55
* Module's are no longer Value's
...
* Incorporate SymTabValue contents into the Module class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2345 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:45:48 +00:00
Chris Lattner
785bfcca13
Add a forward defn for Module since it's no longer in Value.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2344 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:45:05 +00:00
Chris Lattner
8c310c7548
* Incorporate the functionality of SymTabValue into Function
...
* s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2343 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:44:40 +00:00
Chris Lattner
d80e973cec
Initial checkin of simple&fast SSA based GCSE algorithm
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2338 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:47:11 +00:00
Chris Lattner
a298d27808
Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
...
const BasicBlocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:15:57 +00:00
Chris Lattner
483e14ee04
s/Method/Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 07:27:19 +00:00
Chris Lattner
3b743f9fb3
s/Method/Function in classname
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2335 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:59:56 +00:00
Chris Lattner
d0cbb94cce
Remove old file that will never be used
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2334 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:57:52 +00:00
Chris Lattner
f57b845547
* Rename MethodPass class to FunctionPass
...
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:56:12 +00:00
Chris Lattner
59c2614eae
Change the semantics of getSuccessor to FAIL if an out of range successor # is attempted.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2330 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 03:14:12 +00:00
Chris Lattner
12be9749d6
Support array allocations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2326 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 02:27:11 +00:00
Chris Lattner
f270c1ba27
Rename getNullConstant to getNullValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2321 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 02:22:42 +00:00
Vikram S. Adve
a8ac3fca6f
Added functions to compute the offset of a given incoming or outgoing
...
argument. These are no longer allocated as they are discovered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2320 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-25 04:48:54 +00:00
Vikram S. Adve
7b3640bd12
Optional args are no longer allocated as they are discovered.
...
(This can be improved to avoid making the initial pass over the method.)
Also, ensure automatic vars and reg. spills areas are not extended
if their sizes are used for computing some other offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2319 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-25 04:47:26 +00:00
Chris Lattner
fe6d2ced0e
Changes to make print pass work!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2306 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 22:11:12 +00:00
Chris Lattner
922a392565
New api for signal handling for LLVM tools
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2301 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 19:53:34 +00:00
Chris Lattner
10586abe9a
Remove getStrValue method from Constant implementations. The AssemblyWriter
...
now knows how to write out a constant, not the constants themselves. This is
fixed due to the move of the AsmWriter to the VMcore library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2297 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 18:51:39 +00:00
Chris Lattner
0e743b8397
* Add a comment to the header giving a breif overview of how to return a
...
value from a visit function
* Define a (file local) DELEGATE macro to make the code easier to read/maintain
* Define per-opcode delegation functions so that users can override specific
instances of BinaryOperator for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2290 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 16:16:16 +00:00
Chris Lattner
536fe85d6d
* Make dtor virtual
...
* Add a new defaulted argument that allows the instruction visitation
visitors to return a non-void value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2289 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 15:46:40 +00:00
Chris Lattner
8beec9da6c
* StoreInst's shouldn't take names (they are _always_ void type)
...
* Remove two methods that are not used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2281 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 14:42:27 +00:00
Chris Lattner
a146183c21
Make data structure acurately get ALL edges, even loads of null fields of
...
nodes that are not shadow nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2273 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-17 03:24:47 +00:00
Chris Lattner
28c238636e
Remove the concept of a critical shadow node
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2265 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-16 20:39:23 +00:00
Chris Lattner
da022cd143
* Eliminate ArgDSNode's completely, rely now on Scalar map
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2256 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-16 03:41:22 +00:00