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