Commit Graph

2616 Commits

Author SHA1 Message Date
Reid Spencer
8e66595512 Revise the design of the Path concept per peer review. Too many changes to
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16078 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 05:24:01 +00:00
Alkis Evlogimenos
fec656c44c Add getLastBlock member. This is useful when growing a densemap keyed
on MachineBasicBlocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 04:02:35 +00:00
Alkis Evlogimenos
6177d3f448 Add MachineBasicBlock2IndexFunctor. This is useful for densemaps from
MachineBasicBlocks to an arbitrary type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16068 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 04:00:26 +00:00
Alkis Evlogimenos
fc093bd081 Add size member function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16067 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 03:58:31 +00:00
Alkis Evlogimenos
22a2f6d5b0 Use newly added API in MRegisterInfo and don't expose the allocatable
register set anymore. Its users now use the MRegisterInfo API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16061 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 22:23:32 +00:00
Alkis Evlogimenos
5327801fb8 Use newly added API in MRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 22:22:38 +00:00
Alkis Evlogimenos
bb4bdf4fe4 Add getAllocatableSet() function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 22:21:04 +00:00
Alkis Evlogimenos
5501e568b3 Add default index functor (an identity functor). You could use a
vector directly to get the same functionality but using a DenseMap
makes the code more readable IMO.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 03:37:28 +00:00
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