Vikram S. Adve
523eb3f768
Change the way unused regs. are marked and found to consider regType
...
info (since multiple reg types may share the same reg class).
Remove machine-specific regalloc. methods that are no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7328 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 21:01:43 +00:00
Vikram S. Adve
b1e6f05110
Add an assertion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7326 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:58:57 +00:00
Brian Gaeke
00fee61672
Forward-declare class Module to make the header file self-contained.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:20:53 +00:00
Chris Lattner
2e99791a1e
More cassert inclusion for GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7318 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 18:06:53 +00:00
Chris Lattner
be67780f31
#include <cassert> as necessary...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7315 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:58:41 +00:00
Chris Lattner
02a31a5af6
Fix another accessibility problem illuminated by GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7314 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:49:28 +00:00
Chris Lattner
d091d85c15
Fix visibility problem exposed by GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:46:25 +00:00
Chris Lattner
0192e36cc7
Remove inline declarations that GCC 3.3 doesn't like without a body
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7312 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:39:33 +00:00
Chris Lattner
ceef97a535
Regardless of whether C provides assert.h, C++ source can always include
...
<cassert>, making this header unneeded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7311 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:35:03 +00:00
Chris Lattner
d957518b51
Use the C++ <cassert> header, not the C <assert.h> header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7310 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:34:17 +00:00
Chris Lattner
b1512d2a7a
This header works with GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7309 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:33:45 +00:00
Chris Lattner
a44a4cd055
Add includes of assert
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:23:27 +00:00
Chris Lattner
32862da7c7
Fix accessibility problems GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7306 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:23:13 +00:00
Chris Lattner
ab63bd15f5
Add assert.h include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 16:47:07 +00:00
Chris Lattner
9c37f9c7f2
Convert to C++ style comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 15:08:08 +00:00
Vikram S. Adve
7f90b520b4
Include vector into these two files to ensure that specializations like
...
stl_bvector.h are correctly included into *anything* that includes hash_map
or hash_set. ext/hash_map includes stl_vector.h directly and leaves
out the specializations, causing truly nasty bugs due to inconsistent
versions of vector<> being used for vector<bool> in different files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7303 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 14:06:13 +00:00
Brian Gaeke
4166445b7c
Cleanups:
...
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator.
Make Count an unsigned int, and use utostr().
Don't name parameters things that start with underscore.
Mangler.h: All of the above, and also: Add Emacs mode-line. Include <set>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 21:37:57 +00:00
Brian Gaeke
b198ca304b
Factor out name-mangling from X86/Printer, which is derived from CWriter,
...
into this new support class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 20:20:58 +00:00
Chris Lattner
30780ccf15
Add support for ~ operator on constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:21:17 +00:00
Chris Lattner
949a362802
Remove redundant const qualifiers from cast<> expressions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:30:06 +00:00
Chris Lattner
af28ac2201
Add more doxygen comments, add new ConstantInt::getRawValue method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 14:49:06 +00:00
Anand Shukla
6da69e75ec
Added special consideration for instrumentation strategy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-20 15:39:30 +00:00
Vikram S. Adve
a53e3da92c
(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes
...
to clone the subgraph reachable from a set of root nodes, into the
current graph, merging the global nodes into those in the current graph.
(2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the
globals graph into the current graph in both BU and TD passes.
(3) Added hash_set<const GlobalValue*> InlinedGlobals: a set of globals to
track which globals have been inlined into the current graph from
callers or callees. In the TD pass, such globals are up-to-date and
do not need to be rematerialized from the GlobalsGraph.
(4) Added StripIncompleteBit/KeepIncompleteBit to remove incomplete bit
when cloning nodes into the globals graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:45:15 +00:00
Misha Brukman
bc0e998c49
The word separate' only has one
e'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:20:40 +00:00
Vikram S. Adve
4d2faf6307
Values stored in CallArgsDescriptor cannot be const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7156 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 19:46:15 +00:00
Vikram S. Adve
627eb31cd7
Change interface to MachineInstr::substituteValue to specify more precisely
...
which args can be substituted: defsOnly, defsAndUses or usesOnly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7154 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 19:45:07 +00:00
Misha Brukman
b5c520bfb6
Lowercase versions of `occurrence' need to be spelled correctly, too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7142 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 17:05:26 +00:00
Misha Brukman
dd6cb6a43b
Occurrence' has no
a' and the `r' is doubled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7140 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:49:51 +00:00
Chris Lattner
3915da3e0f
INCLUDE_PARENT_GRAPH is required
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7089 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:57:21 +00:00
Chris Lattner
a523e22a20
Remove dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7083 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:43:06 +00:00
Chris Lattner
8fd2715098
Add new methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7057 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:37:00 +00:00
Chris Lattner
73440f6a15
Disable the parent graph code when not compiled in DEBUG mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7056 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:33:55 +00:00
Vikram S. Adve
daee2b492f
Leak fix: delete old objects before reallocation in an assignment operator!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7055 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 01:25:44 +00:00
Chris Lattner
c019f9bba5
TD pass keeps track of which functions have complete arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7048 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:12:10 +00:00
Chris Lattner
b512b24442
Add new operator= impl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7047 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:11:59 +00:00
Chris Lattner
e2fe664e8f
Ok, I'm a moron. Fixed now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7035 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 17:15:11 +00:00
Chris Lattner
985d31215c
Fix major problem that was causing all kinds of nasty foldings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7034 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 17:10:50 +00:00
Chris Lattner
17d5d863b2
Add new methods to BUDS for keeping track of a precise call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:27:15 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
a9d6566e36
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:57:30 +00:00
Chris Lattner
332f0aa425
Be more const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7004 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:27:05 +00:00
Chris Lattner
fa45c7a938
Constness changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7002 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:10:09 +00:00
Chris Lattner
17fefa3ac3
Substantial revamp: DSGraphs now may contain the graphs for multiple functions
...
in the same graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6991 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:14:23 +00:00
Chris Lattner
1a36443c2f
Add argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6990 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:13:36 +00:00
Chris Lattner
0baec255a7
Remove prototype for dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6989 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:13:28 +00:00
Chris Lattner
62b5c167de
Add support for gathering sets of must aliases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6971 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 00:23:11 +00:00
Chris Lattner
35de11f3b1
Add new DSGraph::ScalarMapTy typedef to avoid pulling representation issues
...
into callers of getScalarMap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:57:13 +00:00
Chris Lattner
2769e6ca92
Add new 'isComplete' method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6943 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:56:42 +00:00
Chris Lattner
d2a6fc397e
Add support for 'unsigned' command line arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6928 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 15:47:20 +00:00
Brian Gaeke
d7908f679e
Nice tasty llc fixes. These should fix LLC for x86 for everything in
...
SingleSource except oopack and Oscar. (Sorry, Oscar.)
include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add
accessors for ImplicitUses/Defs.
lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you
really wanted this, just use MI->print(O, TM); instead...
lib/Target/X86:
FloatingPoint.cpp: ...like this.
X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses
target-specific flag bit.
X86InstrInfo.def: Add the PrintImplUses flag to all the instructions
which implicitly use CL, because the assembler needs to see the CL in
order to generate the right instruction.
Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName
to name constants in the constant pool for each function instead. This
avoids keeping state between runOnMachineFunction() invocations, which
is a no-no. Having MangledGlobals be global is a bogon I'd like to get
rid of too, but making it a static member of Printer causes link errors
(why???).
Make NumberForBB into a member of Printer instead of a global, too.
Make printOp and printMemReference into methods of Printer.
X86InstrInfo::print is now Printer::printMachineInstruction, because
TargetInstrInfo::print is history. (Because of this, we have to qualify
the names of some TargetInstrInfo methods we call.)
Print out the ImplicitUses field of any instruction we print that has
the PrintImplUses bit set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6924 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-27 00:00:48 +00:00
Chris Lattner
9b2a14b6f1
Add argument to DAE to allow operation on non-internal functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6895 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-25 04:12:49 +00:00
Chris Lattner
1ee7855dfa
Add prototype for tail-dup pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6847 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 20:10:42 +00:00
Chris Lattner
680a7c2d1a
Get rid of WORDSIZE macro which can pollute untold numbers of translation units
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6843 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:09:10 +00:00
Chris Lattner
3889a2cb05
Remove a ton of extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:08:05 +00:00
Chris Lattner
18345bb93f
Whoops, accidentally lost a #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6841 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:04:58 +00:00
Chris Lattner
5bb8776ece
Remove support for the MultiObject flag, which was just fundamentally broken
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6839 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:03:24 +00:00
Chris Lattner
160cf48671
Lots of changes to make the NodeType field private to DSNode.
...
Add new MultiObject flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 21:14:22 +00:00
Chris Lattner
936f771e25
Update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6785 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 17:03:00 +00:00
Chris Lattner
893f025262
Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6774 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 19:22:36 +00:00
Chris Lattner
697a00fbf0
* Add new CallSite::get factory method
...
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:16:59 +00:00
Chris Lattner
a599f871af
Add new op_erase method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6757 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:15:55 +00:00
Chris Lattner
57ec659810
Make sure accessor is properly doxygenized. It wants two lines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:51 +00:00
Chris Lattner
95ab3d4bc4
Add accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:31 +00:00
Chris Lattner
ad110d2bb4
Make CallSite's default constructable, copyable, and assignable (explicitly)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:50:28 +00:00
Brian Gaeke
a9f6e4ae0e
Regularize the names of #include-guards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 00:35:55 +00:00
Brian Gaeke
ad95d9ef50
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:54:01 +00:00
Brian Gaeke
5c91898e57
Whoops. I didn't mean to step on John's changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6722 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:18:20 +00:00
Brian Gaeke
6d3b7fa80e
This version supports FreeBSD.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6721 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:14:57 +00:00
Chris Lattner
1989d34b3b
Add prototype for the new DAE pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6703 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:16:52 +00:00
John Criswell
a277ca84e0
Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
...
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 19:44:51 +00:00
John Criswell
be583b914d
Included assert.h so that the code compiles under newer versions of GCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Sumant Kowshik
9271ade15b
Made changes suggested by Chris
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6606 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:03:57 +00:00
Sumant Kowshik
a3e5764984
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:00:05 +00:00
Chris Lattner
9dad6d7411
Add new setCondition member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6603 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 05:08:31 +00:00
Chris Lattner
b05497e0ca
Minor cleanups:
...
* Document the MOTy namespace correctly for doxygen
* Eliminate usage of the MachineOpCode typedef, which should eventually
be eliminated entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6584 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:42:53 +00:00
Chris Lattner
4052cf998f
Remove use of enum
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6582 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:41:45 +00:00
Chris Lattner
0c0583a765
There are now no uses of NonCopyableV
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6580 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:48 +00:00
Chris Lattner
bf0ac3fe69
Add doxygen comment for namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6579 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:37 +00:00
Chris Lattner
0519bdcd3d
Add comment for doxygen for namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6578 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:13 +00:00
Chris Lattner
5b595b9421
Minor cleanups:
...
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:01 +00:00
Chris Lattner
4ade9ed40f
Remove noncopyable base class as it was making the doxygen docs harder to read
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:29:12 +00:00
Chris Lattner
17035c0edf
Remove noncopyableV base classes, as they were confusing the doxygen documentation,
...
making it harder to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6575 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:28:40 +00:00
Chris Lattner
9452b0797a
Remove NonCopyable base class to clean up doxygen output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 22:07:37 +00:00
Chris Lattner
f2e364ad3a
Hack up MachineCodeEmitter to actually be target independent.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01 23:20:02 +00:00
Tanya Lattner
658c5bcdb2
Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6476 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 20:01:37 +00:00
Vikram S. Adve
3fd7bf4257
Made a single common InvalidRegNum = -1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:44:07 +00:00
Vikram S. Adve
2263df029a
Renamed a variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6472 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:43:41 +00:00
Vikram S. Adve
9f495b54fa
Support for annul/pred and other future flags on op codes.
...
Support for recording the physical register for implcit references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:43:01 +00:00
Vikram S. Adve
f3d3ca18b5
Added MachineCodeForInstruction object as an argument to
...
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6469 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:41:24 +00:00
Misha Brukman
da3a8b19ce
Added saveBBreferences() for BasicBlock resolution.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:45 +00:00
Tanya Lattner
7cf322f51b
Sorry, correcting small typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:53:50 +00:00
Tanya Lattner
2c49fc023e
Added support for cloning a trace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:48:23 +00:00
Sumant Kowshik
87a991eea3
Implementation of Equivalence Classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:44:25 +00:00
Sumant Kowshik
5e587d7a23
Changes to support function pointers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:43:46 +00:00
Chris Lattner
f0afa50b6c
Don't require the user to do something like isa<foo>(II->get()). The ->get
...
should be implicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6395 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:08:33 +00:00
Chris Lattner
1ff1da7ac9
dyn_cast_or_null should work just the same as dyn_cast does
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:07:48 +00:00
Chris Lattner
aa101c3147
Doxygenify comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6393 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:06:40 +00:00
Misha Brukman
e5841daa79
Fixed misspelling and broke a line that was wrapping.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6391 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 05:00:14 +00:00
Misha Brukman
6b5e0549ca
Defines a pass-through debugging emitter -- it writes to a file for inspection
...
and to memory to test execution (using a passed-in code emitter).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6365 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:46:56 +00:00
Misha Brukman
504905fd4b
Allow allocation of a Sparc TargetMachine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6364 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:46:07 +00:00
Chris Lattner
a161f0c7c9
Expose proto for SRoA pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6348 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 15:52:45 +00:00
Vikram S. Adve
bfebd79dd1
(1) Added special register class containing (for now) %fsr.
...
Fixed spilling of %fcc[0-3] which are part of %fsr.
(2) Moved some machine-independent reg-class code to class TargetRegInfo
from SparcReg{Class,}Info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6343 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:07:13 +00:00
Vikram S. Adve
a22eace55b
Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
...
and related functions and flags. Fixed several bugs where only
"isDef" was being checked, not "isDefAndUse".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6342 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:06:48 +00:00
Vikram S. Adve
28fc440bc6
Make case of GetNumOfInt/FloatArgRegs functions to be use lower case
...
like all the other functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6326 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-25 16:02:05 +00:00
Misha Brukman
12745c55e1
Reword to remove reference to how things worked in the past.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6323 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 01:08:43 +00:00
Misha Brukman
00b05bd703
NOP instructions are pseudo-instructions. We should not have them explicitly in
...
our representation, since they are usually special cases of already-existing
instructions.
This abstracts away methods that let a pass create and verify a NOP instruction,
without relying on a `NOP' enum to be in existence in the target's instruction
info descriptor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:08:39 +00:00
Chris Lattner
6cc89aad25
Remove some cruft, add some methods to allow implementation of bugfix for
...
Bug: Linker/2003-04-26-NullPtrLinkProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 20:02:05 +00:00
Chris Lattner
baf850a51a
Minor rewording/cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6311 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 17:13:15 +00:00
Chris Lattner
7594b29c75
Remove long dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 22:00:54 +00:00
Chris Lattner
b3b729b69b
Add support for a new "CommaSeparated" modifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:25:57 +00:00
Chris Lattner
67d8e1aabc
New method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21 17:49:08 +00:00
Misha Brukman
82c89b9f3a
Hopefully, the final fix for `[Pp]ropogate'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 21:01:22 +00:00
Misha Brukman
f117cc9ee6
s/convertable/convertible/g
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:45:36 +00:00
Misha Brukman
d5bd008265
The plural of `Pass' is Passes, not Pass's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:39:06 +00:00
Chris Lattner
c436b37262
Add support for setjmp/longjmp primitives
...
Patch checked in for Bill Wendling :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-17 22:26:33 +00:00
Chris Lattner
17aefb168f
Add some methods to make type safety a bit easier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6198 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 17:49:52 +00:00
Chris Lattner
bc4a15f6fa
Beef up interface, move getVarInfo out-of-line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6114 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 14:23:04 +00:00
Chris Lattner
9c341366a7
Expand API for updating live var info.
...
Expose iterators, not const-iterators.
Rename method that was VERY misleading
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6108 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 03:51:30 +00:00
Chris Lattner
56adf152f6
Make sure that globals are emitted AFTER the passmanager is set up for the JIT,
...
because the globals may refer to functions that need to be compiled!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 02:14:34 +00:00
Joel Stanley
b450b20bcf
Fixed comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6072 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 01:56:42 +00:00
Chris Lattner
fbe3ecdb2c
Update out of date comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6070 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 22:16:18 +00:00
Chris Lattner
806cebc562
Updates to match recent timer updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6069 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 20:44:22 +00:00
Chris Lattner
70bca51f92
Add new method to check to see if a global is available
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6058 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 03:29:03 +00:00
Chris Lattner
e0e72177c0
Allow const functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6056 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 03:27:41 +00:00
Chris Lattner
eccf8d05ee
Fix bug in last checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6055 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 22:00:52 +00:00
Chris Lattner
1f25d8801f
Add new methods for stub generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6053 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 21:53:57 +00:00
Chris Lattner
f88b9a6397
Add a pointersize/endianness safe load routine to match the store routine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 16:52:16 +00:00
Chris Lattner
4804824047
Initial support for intrinsic functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6033 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 03:34:12 +00:00
Chris Lattner
eea35433d2
Initial checkin for LLVM intrinsic functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6032 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 03:33:54 +00:00
Chris Lattner
97b315a585
Add support for the new VarArgInst instruction, reindent some stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:43:06 +00:00
Chris Lattner
fb892e51ed
Add new VarArgInst class for the va_arg instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:42:50 +00:00
Chris Lattner
8a88563a32
Add comments, add a vector to keep track of which registers are allocatable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-07 20:07:58 +00:00
Chris Lattner
6a4e6341f2
Fix memory corruption problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6003 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-06 18:45:02 +00:00
Misha Brukman
1d06fbe893
It's 'separate'. The 'i.e.' is kinda nit-picking, but think of it this way:
...
'separate' is the one causing you to recompile all your passes anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5992 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:31:06 +00:00
Chris Lattner
10daaa1416
Remove two fields from TargetData which are target specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:11:09 +00:00
Chris Lattner
6ad5a31324
Revert last checkin. Note that PHI nodes can use basic blocks also!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5956 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 17:38:26 +00:00
Chris Lattner
90117cbb6f
Remove long-dead obsolete cruft
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5955 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 23:39:08 +00:00
Chris Lattner
322bc2b5aa
Fix method name type-o
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5933 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:23:27 +00:00
Chris Lattner
eca8e8f111
*** Huge: Make constantexprs be handled correctly, conservatively
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5923 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:51:46 +00:00
Chris Lattner
d6cbe339af
Default ctor doesn't provide name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:50:19 +00:00
Chris Lattner
4bc8e640b8
Add new targetdata ctor to create a targetdata appropriate to the module
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5902 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 19:08:45 +00:00
Chris Lattner
baf64b1e1c
Remove support for "targetdata pass ctors"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5901 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:41:30 +00:00
Chris Lattner
5705f0c2ea
LevelRaise now gets TD from passmanager
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5897 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:25:42 +00:00
Chris Lattner
d55e98673a
Kill unneccesary &*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5870 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:35:30 +00:00
Chris Lattner
3b1ca40d5d
Add stub to create lowerSwitches pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5866 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:24:19 +00:00
Chris Lattner
011ce8d2e4
Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5862 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:53 +00:00
Chris Lattner
ea0f49e524
Allow dyn_cast to operate on things that aren't OBVIOUSLY a pointer type.
...
These things can be converted to a pointer, like ilist_iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5861 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:28 +00:00
Chris Lattner
bf4ff33e22
Add information about the module source
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5837 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 18:03:13 +00:00
Chris Lattner
678c6a089d
Add support for tracking whether a module is 64/32 bit and big/little endian
...
Also add a moduleID field which can be used for diagnostics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5834 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 18:02:04 +00:00
Chris Lattner
23e0a58c5a
Add prototype to read .a files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5821 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 21:45:52 +00:00
Chris Lattner
a107e5f11c
Add prototype for new CloneBasicBlock function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5804 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 03:49:22 +00:00
Chris Lattner
fd73cf895c
Don't force a ConstantPointer to be returned
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5799 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-17 19:22:47 +00:00
Chris Lattner
fb242b6edc
Change the interface to constant expressions to allow automatic folding
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 22:40:51 +00:00
Chris Lattner
076e2ae92f
Revert modulo scheduling change that should be part of the modulo-sched pass itself,
...
not part of the Instruction class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:30:02 +00:00
Chris Lattner
4ad02e726d
Add new linkage types to support a real frontend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:28:45 +00:00
Misha Brukman
4bd8b24470
Must use std::pair instead of just 'pair'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5767 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-07 00:25:09 +00:00
Guochun Shi
681220dc3c
added a function and a member to the TargetSchedInfo class
...
which is used by Modulo Scheduling pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5766 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-07 00:00:36 +00:00
Guochun Shi
105cb77d6f
added some memory for clone function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5765 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-06 23:58:44 +00:00
Chris Lattner
d76370b306
Add getAnalysisUsage method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 17:29:18 +00:00
Chris Lattner
f1ab454b71
Add helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:41:02 +00:00
Chris Lattner
6f2ec7f59d
Update comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5752 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:40:39 +00:00
Chris Lattner
e33b796851
Add more graph traits specializations for dominator tree nodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-20 21:21:05 +00:00
Chris Lattner
1b079f9685
Add new chunk type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-19 20:48:27 +00:00
Chris Lattner
8fb1fe16b7
Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-17 18:11:27 +00:00
Chris Lattner
1680312867
Fix ConstantUInt::isAllOnesValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5734 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 22:39:02 +00:00
Chris Lattner
a5ae71a137
Extend struct and array constants to support isNullValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5719 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 21:02:43 +00:00
Chris Lattner
fade83f62f
Generalize interface a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5711 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:50:21 +00:00
Chris Lattner
566f0ee4ed
Add new getIncomingValueForBlock method
...
Relax a bit about constness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5709 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:36:28 +00:00
Chris Lattner
05ddff9b98
Simplify some of the PHI node interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5700 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 21:15:12 +00:00
Chris Lattner
b75f9dda9e
Add a few new 'add' methods. Move the iterator around
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5690 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:27:52 +00:00
Chris Lattner
fb743a937f
Change the mem2reg interface to accept a TargetData argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:25:18 +00:00
Chris Lattner
af68ccefeb
Don't apply type information to loads
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:13:22 +00:00
Chris Lattner
f972cbd98c
Add dump method for loops
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:54:37 +00:00
Chris Lattner
1db0a40037
Add graph traits specializations for loop nesting information...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 03:05:15 +00:00
Chris Lattner
6bc4281336
Add new Loop::hasExitBlock helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:48:28 +00:00
Chris Lattner
f2e2925f95
Change behavior of changeExitBlock function to replace all instances of exit block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:37:44 +00:00
Chris Lattner
ef05100950
Make the interface to update a little more efficient
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 20:24:17 +00:00
Chris Lattner
fe3ae1ed66
* LoopInfo now keeps track of exit blocks from the loop
...
* New LoopInfo::isLoopHeader method
* Remove some #if 0 code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 00:37:22 +00:00
Chris Lattner
31a9d185bf
Make the aliassettracker much more precise by actually tracking size
...
information for various accesses. What a concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 22:11:00 +00:00
Chris Lattner
f8783fadb4
BasicAA doesn't need a public header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:41:46 +00:00
Chris Lattner
13b6f22f04
Tweak to work with new AA implementation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:25:04 +00:00
Chris Lattner
1c56b730a6
Checkin of new alias analysis interface:
...
* Takes into account the size of the memory reference to determine aliasing.
* Expose mod/ref information in a more consistent way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:24:47 +00:00
Chris Lattner
d2c0b28c33
* Un "protect" the getAnalysis<> functions
...
* Add a new initializePass() method to ImmutablePass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:10:28 +00:00
Chris Lattner
f288ff7774
Add new helper template function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 00:00:50 +00:00
Chris Lattner
f0a93ed9c5
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5620 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:48:32 +00:00
Chris Lattner
9971ac4a36
This is a substantial rewrite of the AliasSetTracker class which now uses
...
a union-find based algorithm, is significantly faster, and is more general.
It will also scale to handle call instructions correctly, which is a nice
added bonus.
This includes a new pass -print-alias-sets which can be used to show how
alias sets are formed for a particular analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:37:56 +00:00
Chris Lattner
93a7e08d1f
Initial checkin of CallSite wrapper for Call/Invoke instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:35:45 +00:00
Chris Lattner
24e03d32ff
Fix #endif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5615 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 04:40:35 +00:00
Chris Lattner
a430bc7569
Add support for the slist extension
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5614 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 04:31:49 +00:00
Chris Lattner
782752b7a2
Add a new interface file for the PromoteMemToReg interface in the Utils library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-22 23:04:52 +00:00
Chris Lattner
731b2d7df5
Move node forwarding code from being inlined to being out-of-line.
...
This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 19:09:00 +00:00
Chris Lattner
72d29a4b00
Implement a "union-findy" version of DS-Analysis, which eliminates the
...
Referrers list on DSNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5536 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 23:11:51 +00:00
Chris Lattner
d3c2e3237c
Fix uninitialized member problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5534 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 06:36:00 +00:00
Chris Lattner
1fcc101b1c
Bugfix for calling dump() after the links vector has been cleared
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5533 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 22:46:47 +00:00
Chris Lattner
ed14f8283a
Move getNode() out of line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5531 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:19:41 +00:00
Chris Lattner
c40c905d63
Implement a new method "viewGraph" which can be used to instantly view a graph from GDB.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:17:38 +00:00
Chris Lattner
d4aabcb0d0
TD Pass now does not cause globals to mark nodes incomplete.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5512 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 18:40:25 +00:00
Chris Lattner
923fc05b3a
Implement optimization for direct function call case. This dramatically
...
reduces the number of function nodes created and speeds up analysis by
about 10% overall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 21:59:58 +00:00
Chris Lattner
a329733f47
Allow the addition of edge source labels
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 19:40:59 +00:00
Chris Lattner
f52ade928c
Add sanity check
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:03:57 +00:00
Chris Lattner
4923d1be91
Hack to work around deficiency in pass infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5485 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 22:51:28 +00:00
Chris Lattner
5a939029d5
Eliminate unused resolving caller stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5475 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:11:04 +00:00
Chris Lattner
f9962812d0
* Add a bunch of stuff for checking the integrity of the graph
...
* remove the isNodeDead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5474 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:10:24 +00:00
Chris Lattner
9a64084a84
Remove pool alloc accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:08:33 +00:00
Chris Lattner
4ab6aefe44
Expose information about pool allocation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:07:46 +00:00
Chris Lattner
8bac08bf04
Allow modifying a global variables constness property
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-02 16:40:40 +00:00
Chris Lattner
41c04f730b
Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
...
This change provides a small (3%) but consistent speedup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5460 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:52:08 +00:00
Chris Lattner
7f306c8dcf
Add hash_multimap support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5457 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:14:28 +00:00
Chris Lattner
cb98327142
Add new composition mask
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5454 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 03:28:26 +00:00
Joel Stanley
0eea1d5b7e
Added protos for two alternate, convenient CallInst constructors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 00:41:27 +00:00
Chris Lattner
fe9664ce7c
Add new function to allow removal of typed named elements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 20:54:03 +00:00
Chris Lattner
9e4b15b1a1
New API for traversing graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 21:09:59 +00:00
Chris Lattner
fd373cb944
Initial checking: defult the make_vector function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:01:16 +00:00
Chris Lattner
a892a3a08e
New helper header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-27 22:08:52 +00:00
Chris Lattner
381977d191
* Eliminate boolean arguments in favor of using enums
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 22:06:33 +00:00
Chris Lattner
9085d8a9a9
Print machine frame objects with the frame offset intrinsic to the machine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5329 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 18:35:57 +00:00
Chris Lattner
795ba6cabd
Move sparc specific code into the Sparc backend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5317 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:36:50 +00:00
Chris Lattner
0a166155e7
Simplify the interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:13:32 +00:00
Chris Lattner
a9dcd3cceb
Move private headers into private regalloc directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 20:26:32 +00:00
Chris Lattner
d77fa74a0c
Move private header to private dir
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:50:32 +00:00
Chris Lattner
b66fdc2934
Remove obsolete ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:47:02 +00:00
Chris Lattner
1be114be3a
Remove internal helper fn
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:46:39 +00:00
Chris Lattner
83435fbaf9
ADd support for CC registers for Sparc BE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5297 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:22:23 +00:00
Chris Lattner
4d69c8e369
Add support for the CC registers for Sparc BE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5296 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:22:06 +00:00
Chris Lattner
4091233dfd
Remove more unused methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5295 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:21:50 +00:00
Chris Lattner
73df3bfb68
Remove a ton of functions that are no longer used, instead using BuildMI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5290 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 17:35:44 +00:00
Chris Lattner
e387de3084
Add new helper method addRegDef
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5289 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 17:18:22 +00:00
Chris Lattner
ed4fb8f3ec
* Eliminate a bunch of inline functions.
...
* Convert callers to use BuildMI instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5286 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 00:02:41 +00:00
Chris Lattner
9f2b7ffe05
Move to include/llvm/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5285 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 23:05:31 +00:00
Chris Lattner
8143d8f91a
Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5282 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:56:37 +00:00
Chris Lattner
b9eca537d0
New header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5280 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:37:41 +00:00
Chris Lattner
a1767182de
Move to Instrumentation.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:36:15 +00:00
Chris Lattner
77f088b114
REmove unused header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5275 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:29:57 +00:00
Chris Lattner
d15a1da5eb
Remove unused header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:28:22 +00:00
Chris Lattner
3501feab81
Rename MachineInstrInfo -> TargetInstrInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:00:31 +00:00
Chris Lattner
d640a6b4cf
Move llvm/Annotation.h to Support/Annotation.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:39:04 +00:00
Chris Lattner
cb09cc268b
Move annotation to support library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
97ca95d1e7
Must #include assert.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:52 +00:00
Chris Lattner
db00065fc8
Add new files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 01:01:31 +00:00
Chris Lattner
2584ba5867
Rename MachineInstrInfo -> TargetInstrInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5214 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:21:32 +00:00
Chris Lattner
075b4a066d
* Start renaming MachineInstrInfo -> TargetInstrInfo
...
* Add new M_TERMINATOR_FLAG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5213 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:21:19 +00:00
Chris Lattner
09d4fd57de
Add new getName method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5212 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:19:44 +00:00
Chris Lattner
e836bae30c
Simplify interface to creating a register
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5211 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:19:18 +00:00
Chris Lattner
9d4f9b9902
* Add support for new types of operands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5210 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:18:44 +00:00
Chris Lattner
3c8cbe6567
* Add 3 new types of MachineOperand: ConstantPoolIndex ExternalSymbol and GlobalAddress's
...
* Add new isPCRelative modifier flag which should be used in place of MO_PCRelativeDisp type.
* Fix a bug in isPhysicalRegister
* Add new setOpcode and RemoveOperand methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5209 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:18:17 +00:00
Chris Lattner
40a75577ea
* Add a constant pool to hold per-function constants which must be spilled to memory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:16:10 +00:00
Chris Lattner
09a5b0b6a3
* Add utility methods which make common cases easier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:15:24 +00:00
Chris Lattner
29dd209228
* Add support for values in the constant pool
...
* Add support for functions referenced by name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5206 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:14:55 +00:00
Chris Lattner
d0f166a486
More renamings of Target/Machine*Info to Target/Target*Info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5204 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-29 03:13:05 +00:00
Chris Lattner
f27eeea54f
Rename MachineOptInfo to TargetoptInfo
...
Rename MachineCacheInfo to TargetCacheInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5203 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-29 02:50:35 +00:00