Reid Spencer
b89a2237ea
Initial implementation of the Path operating system concept.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-25 06:20:07 +00:00
Reid Spencer
95e4cceaff
Add a function that gets just the dependent libraries from a bytecode file.
...
Doxygenify comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16039 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 22:49:07 +00:00
Reid Spencer
44407c4503
Provide a method for wholesale extraction of the dependent libraries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16038 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 22:47:39 +00:00
Reid Spencer
1f079267dc
Give the -time-passes tool option a global storage location so that its
...
value can be discovered by the various LLVM tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16032 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 17:52:35 +00:00
Reid Spencer
26642771c8
Dump the DependentLibsBlockID, its not a block, its just a list inside the
...
globals info block. Add an enumerator for getting the number of enumerators
so we can range check in assertions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:42:28 +00:00
Reid Spencer
b586c08d53
Add new methods:
...
- get the total number of types in the global type list
- handle dependent libraries
- handle target triple
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15978 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:41:12 +00:00
Reid Spencer
e6df25cbcd
Bytecode Analyzer cleanup:
...
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15977 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:40:08 +00:00
Reid Spencer
ff22c42e0e
Changes resulting from change in autoconf/configure.in (rename a #define)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:10:31 +00:00
Reid Spencer
1cd3bee548
Added various LLVM_* strings that are configured to provide the user's
...
choice of installation directories. Programs can then automagically know
where the installation files are located.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15944 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:05:15 +00:00
Brian Gaeke
715c90ba52
Packed types, brought to you by Brad Jones
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 06:00:58 +00:00
Misha Brukman
8831db745b
Instead of int64_t, overload itostr with `long long' parameter.
...
This appeases both SparcV9 and 64-bit PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15910 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 22:56:12 +00:00
Brian Gaeke
d6640951c2
M_DUMMY_PHI_FLAG is no longer used to distinguish V9::PHI. Get rid of it and
...
its TargetInstrInfo accessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 20:04:28 +00:00
Chris Lattner
8bdf87d1d8
All targets are now allowed to have their own MachineFunctionInfo objects,
...
also, make getInfo do some checking and cast to the appropriate concrete type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 18:13:16 +00:00
Brian Gaeke
b406d84dd8
M_PSEUDO_FLAG is no longer used. Get rid of it and its accessor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15902 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 17:44:17 +00:00
Chris Lattner
b6e678b1c8
Alkis pointed out that this is not a character (we actually support strings)
...
and as such, we should use self revealing names. Hey, makes sense to me!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15896 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 02:22:34 +00:00
Chris Lattner
30bad4af40
new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15895 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 21:38:51 +00:00
Chris Lattner
e265504e82
Add an overload
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15889 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:17:10 +00:00
Chris Lattner
bfddc2030a
Add support for alignment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15888 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:14:29 +00:00
Chris Lattner
cdab78f036
Add punctuation, add a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15886 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:12:44 +00:00
Misha Brukman
b5e1decefb
Add itostr(long) for our furry 64-bit friends.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 18:08:52 +00:00
Misha Brukman
274ba03f49
Ultra-doxygenify some function header comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15884 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 17:52:36 +00:00
Chris Lattner
75585268a7
Allow targets to specify a comment character
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15879 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 16:26:36 +00:00
Chris Lattner
800ade1e19
Add missing \t
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:48:34 +00:00
Chris Lattner
46d6126e66
Add some hooks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:36:27 +00:00
Chris Lattner
2c2475296d
Allow an arbitrary prefix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15864 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:06:37 +00:00
Chris Lattner
af2bf0ab30
We now allow targets to use any prefix they want for global symbols. Lets
...
hear it for ".".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:06:19 +00:00
Chris Lattner
f1cb795394
Some asmweriters want an _ prefix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15844 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:28:12 +00:00
Chris Lattner
a80ba71efe
Initial implementation of the asmprinter base class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:15:22 +00:00
Chris Lattner
2fcd451a5e
Fit into 80 lines, add a gross hack for MachineFunctionInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15832 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:35:26 +00:00
Chris Lattner
5a6074053d
These files now live in lib/Target/SparcV9
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15831 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 21:56:15 +00:00
Reid Spencer
d771c5340a
Back out include/llvm/System changes until a satisfactory solution can
...
be determined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15817 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:10:09 +00:00
Chris Lattner
303603f758
Flags and TSFlags were (thankfully) never used, so remove them. But wait,
...
not so fast, add some fields for spill slot size and alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15803 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:07:53 +00:00
Chris Lattner
f02b37da6f
Add new TargetRegisterClass::contains method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:19:38 +00:00
Chris Lattner
da34645b2b
Implement a long overdue FIXME, by changing these methods to return void.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15778 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:14:19 +00:00
Chris Lattner
913cbd65dc
Remove helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15776 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:02:36 +00:00
Chris Lattner
ed6655920f
Eliminate the RegisterClass argument, since it can easily be derived from
...
the regno
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 21:55:29 +00:00
Alkis Evlogimenos
8c9b4de574
Make this compile on gc 3.4.1 (static_cast to non-const type was not
...
allowed).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 09:18:55 +00:00
Reid Spencer
d5cda87995
First version of a class to represent the notion of an operating system
...
path to a file or directory and some rudimentary operations on them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:13:01 +00:00
Reid Spencer
da5f2abcb7
First version of a class to represent operating system and lib/System
...
error codes in a platform independent way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:12:14 +00:00
Nate Begeman
5de0f7aa14
Elminiate MachineFunction& argument from eliminateFrameIndex
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15736 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:00:10 +00:00
Reid Spencer
1e13fd23d3
Allow any cl::opt to use the method getPosition() to retrieve the option's
...
absolute position on the command line. Similarly allow any cl::list to
use the method getPosition(n) to retrieve the absolute position of the nth
option in the list. This provides support for two things: (a) options like
-l that are actually positional and their order of occurrence matters when
they are intermixed with positional arguments like "a.o"; and (b) options
like -x LANG which affect only the positional arguments that come after
the option. In both cases, knowing the absolute position of a given option
helps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 19:47:30 +00:00
Chris Lattner
45df557348
Add a pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 03:03:44 +00:00
Chris Lattner
09431e187f
Allow targets to specify particular stack slots that certain physregs must
...
be spilled into.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-12 19:01:55 +00:00
Chris Lattner
28690ea285
Remove dead methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15698 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-12 18:37:15 +00:00
Chris Lattner
484577a870
Remove dead methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-12 17:58:27 +00:00
Misha Brukman
80b90cd191
Add new constructor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15632 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 23:10:21 +00:00
Chris Lattner
af8a42445c
Add standard print/dump methods to CallGraph classes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15569 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-08 03:27:49 +00:00
Chris Lattner
ff4c183790
Move method out of line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15497 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 18:49:52 +00:00
Alkis Evlogimenos
706515727c
Clean up whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15490 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 09:46:56 +00:00
Alkis Evlogimenos
1a8ea01f01
Convert indentation to 2 spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15489 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 09:46:26 +00:00
Alkis Evlogimenos
3e0ef89279
Remove uneeded getValues() functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15488 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:47:21 +00:00
Brian Gaeke
93ad2cf910
getResultPos() is dead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15484 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:06:30 +00:00
Brian Gaeke
826b19b4ec
These headers have been moved/merged into other files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15477 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:37:56 +00:00
Chris Lattner
b6197611d5
New methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15462 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 04:45:42 +00:00
Chris Lattner
7c136c3f8b
Minor efficiency improvements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15461 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 04:45:29 +00:00
Chris Lattner
13b03586d2
Now that ConstantPointerRef is gone, it is the case that all operands of constants
...
are themselves constants. This should allow us to reduce a significant amount
of casting in the sourcebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15459 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 02:43:00 +00:00
Chris Lattner
0f42ba6777
Add a special version of getType for ConstantPointerNull, exposing the fact
...
that all Null pointers have pointer type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15458 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 02:42:17 +00:00
Chris Lattner
064e9a9ef8
The Type* is redundant with the TypeSlot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15451 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 00:18:37 +00:00
Tanya Lattner
5714f44fdf
Adding friend MSSchedule for ModuloScheduling pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 18:57:38 +00:00
Chris Lattner
c2df129da9
Fix warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15406 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 18:17:36 +00:00
Chris Lattner
f1fccfd6a8
Expose breakcriticaledges as a functionpass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 10:02:24 +00:00
Chris Lattner
36c29dbbee
New pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 09:59:14 +00:00
Chris Lattner
f24d879520
Expose some helpful methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 09:59:04 +00:00
Alkis Evlogimenos
e4d32f6cf9
Change signature to take two basic blocks: the target and the one
...
where the goto will be appended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15361 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 09:37:52 +00:00
Alkis Evlogimenos
0cad9f53b1
Doxygenify some comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15360 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 08:57:27 +00:00
Alkis Evlogimenos
096f58b09a
Remove const from iterators passed by value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 08:55:23 +00:00
Alkis Evlogimenos
905f7af59c
Add declarations for insertGoto and reverseBranchCondition.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 08:52:30 +00:00
Chris Lattner
2441d6a895
Add new M_BARRIER_FLAG flag, and isBarrier() method to TargetInstrInfo
...
opCode -> Opcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 02:06:48 +00:00
Chris Lattner
dc4a4922d3
Add some machine CFG related stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15352 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 01:59:11 +00:00
Misha Brukman
b714fdccdb
Enable compilation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15344 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 14:33:07 +00:00
Chris Lattner
524d8f1722
Check in some useful helper routines for doing ML-style pattern matching on
...
the LLVM IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15341 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 07:45:00 +00:00
Chris Lattner
ff8c1b3dc6
I demand the ability to say 'if (isa<Value>(V))'!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15340 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 06:59:15 +00:00
Alkis Evlogimenos
eb62bc77b6
Merge i*.h headers into Instructions.h as part of bug403.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 12:17:34 +00:00
Brian Gaeke
3638e9918c
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 04:22:30 +00:00
Brian Gaeke
b2f30a3792
TargetInstrInfo::hasOperandInterlock() is always true, because it is
...
never overridden by any target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15308 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-28 19:24:48 +00:00
Brian Gaeke
de0ceb58ba
ConstantTypeMustBeLoaded has been incorporated into SparcV9PreSelection, its
...
only user.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 21:43:38 +00:00
Brian Gaeke
1b4aeb5cec
As it happens, none of these TargetInstrInfo methods which are only
...
used in the SparcV9 backend really have anything to do with
TargetInstrInfo, so we're converting them into regular old global
functions and moving their declarations to SparcV9InstrSelectionSupport.h.
(They're mostly used as helper functions for SparcV9InstrSelection.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15277 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 17:43:22 +00:00
Brian Gaeke
96d4bf7aee
Make the create...() functions for some of these passes return a FunctionPass *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15276 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 17:43:21 +00:00
Chris Lattner
1c2b1294d3
Add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15257 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 04:00:54 +00:00
Chris Lattner
8a1478b6d7
Fix out of date comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15256 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 03:04:30 +00:00
Chris Lattner
558cb5f4a1
New methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15229 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-26 05:50:09 +00:00
Reid Spencer
641588bb3e
Reduce the footprint of the dependent library interface
...
Document the dependent library interface
Constify the std::string& parameters in the dep lib interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15215 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 21:28:19 +00:00
Reid Spencer
af8ea13dd6
bug 263:
...
The necessary changes to module in order to support both target triples and
a list of dependent libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15207 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 17:52:27 +00:00
Reid Spencer
7105f4ae8c
bug 402:
...
A new set of block identifiers has been added for version 1.3 so that the
range of values can fit within 5 bits. This aids in halving the size of
block headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15206 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 17:50:00 +00:00
Chris Lattner
f90fcaf572
Add back() and pop_back() methods to SetVector
...
Move clear to the end of the class
Add assertions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15203 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 11:07:02 +00:00
Chris Lattner
5c88260f70
Add support for free instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15197 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 07:57:37 +00:00
Chris Lattner
d3a205eab5
Make a method const, no functionality changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 06:23:01 +00:00
Alkis Evlogimenos
3f86193cd2
Remove implementation of operator= and make it private so that it is
...
not used accidentally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 18:55:15 +00:00
Alkis Evlogimenos
a1613db62f
Change std::map<unsigned, LiveInterval*> into a std::map<unsigned,
...
LiveInterval>. This saves some space and removes the pointer
indirection caused by following the pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15167 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 11:44:15 +00:00
Chris Lattner
62c91fcda5
Provide timeout values to all abstract interpreters
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:48:50 +00:00
Chris Lattner
de0213b9f5
Add support for killing the program if it executes for too long.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15158 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:41:31 +00:00
Chris Lattner
4df98e546d
Completely eliminate the intervals_ list. instead, the r2iMap_ maintains
...
ownership of the intervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 03:32:06 +00:00
Chris Lattner
0f4c076140
Add a new differingRegisterClasses method
...
make overlapsAliases take pointers instead of references
fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15153 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 02:53:43 +00:00
Chris Lattner
abf295fc6c
Little stuff:
...
* Fix comment typeo
* add dump() methods
* add a few new methods like getLiveRangeContaining, removeRange & joinable
(which is currently the same as overlaps)
* Remove the unused operator==
Bigger change:
* In LiveInterval, instead of using a boolean isDefinedOnce to keep track of
if there are > 1 definitions in a particular interval, keep a counter,
NumValues to keep track of exactly how many there are.
* In LiveRange, add a new ValId element to indicate which of the numbered
values each LiveRange belongs to. We now no longer merge LiveRanges if
they are of differing value ID's even if they are neighbors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15152 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 02:52:23 +00:00
Chris Lattner
f35fef7060
More minor changes:
...
* Inline some functions
* Eliminate some comparisons from the release build
This is good for another .3 on gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15144 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 21:24:19 +00:00
Chris Lattner
b26c215c05
Change addRange and join to be a little bit smarter. In particular, we don't
...
want to insert a new range into the middle of the vector, then delete ranges
one at a time next to the inserted one as they are merged.
Instead, if the inserted interval overlaps, just start merging. The only time
we insert into the middle of the vector is when we don't overlap at all. Also
delete blocks of live ranges if we overlap with many of them.
This patch speeds up joining by .7 seconds on a large testcase, but more
importantly gets all of the range adding code into addRangeFrom.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15141 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 19:38:44 +00:00
Chris Lattner
e6ad392802
New helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15138 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 18:39:12 +00:00
Chris Lattner
4dc54ae0d9
Speedup debug builds a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 18:38:52 +00:00
Chris Lattner
ebd7e6c54d
Instead of searching for a live interval pair, search for a location. This gives
...
a very modest speedup of .3 seconds compiling 176.gcc (out of 20s).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 18:13:24 +00:00
Chris Lattner
a3b8b5c0e0
Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15135 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 17:56:30 +00:00