Commit Graph

2621 Commits

Author SHA1 Message Date
Brian Gaeke
9e089c115d M_DUMMY_PHI_FLAG is no longer used to distinguish V9::PHI. Get rid of it and
its TargetInstrInfo accessor.

llvm-svn: 15907
2004-08-18 20:04:28 +00:00
Chris Lattner
4987b24267 All targets are now allowed to have their own MachineFunctionInfo objects,
also, make getInfo do some checking and cast to the appropriate concrete type.

llvm-svn: 15903
2004-08-18 18:13:16 +00:00
Brian Gaeke
af14dcae5d M_PSEUDO_FLAG is no longer used. Get rid of it and its accessor.
llvm-svn: 15902
2004-08-18 17:44:17 +00:00
Chris Lattner
17411aae8b 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!

llvm-svn: 15896
2004-08-18 02:22:34 +00:00
Chris Lattner
34334091d5 new method
llvm-svn: 15895
2004-08-17 21:38:51 +00:00
Chris Lattner
75aa7f2853 Add an overload
llvm-svn: 15889
2004-08-17 19:17:10 +00:00
Chris Lattner
659175521b Add support for alignment
llvm-svn: 15888
2004-08-17 19:14:29 +00:00
Chris Lattner
41fd07b81e Add punctuation, add a new method
llvm-svn: 15886
2004-08-17 19:12:44 +00:00
Misha Brukman
011325fa18 Add itostr(long) for our furry 64-bit friends.
llvm-svn: 15885
2004-08-17 18:08:52 +00:00
Misha Brukman
d89d44e7ec Ultra-doxygenify some function header comments.
llvm-svn: 15884
2004-08-17 17:52:36 +00:00
Chris Lattner
05683db298 Allow targets to specify a comment character
llvm-svn: 15879
2004-08-17 16:26:36 +00:00
Chris Lattner
1c87acdfa8 Add missing \t
llvm-svn: 15871
2004-08-17 06:48:34 +00:00
Chris Lattner
0b1a8c9b57 Add some hooks
llvm-svn: 15867
2004-08-17 06:36:27 +00:00
Chris Lattner
43960d806a Allow an arbitrary prefix.
llvm-svn: 15864
2004-08-17 06:06:37 +00:00
Chris Lattner
1362ba130b We now allow targets to use any prefix they want for global symbols. Lets
hear it for ".".

llvm-svn: 15863
2004-08-17 06:06:19 +00:00
Chris Lattner
5420524642 Some asmweriters want an _ prefix
llvm-svn: 15844
2004-08-17 02:28:12 +00:00
Chris Lattner
aac51aa3d8 Initial implementation of the asmprinter base class
llvm-svn: 15838
2004-08-16 23:15:22 +00:00
Chris Lattner
195a408814 Fit into 80 lines, add a gross hack for MachineFunctionInfo
llvm-svn: 15832
2004-08-16 22:35:26 +00:00
Chris Lattner
e6de0fa4a8 These files now live in lib/Target/SparcV9
llvm-svn: 15831
2004-08-16 21:56:15 +00:00
Reid Spencer
8b1c93c9fb Back out include/llvm/System changes until a satisfactory solution can
be determined.

llvm-svn: 15817
2004-08-16 07:10:09 +00:00
Chris Lattner
94c82ae3a2 Flags and TSFlags were (thankfully) never used, so remove them. But wait,
not so fast, add some fields for spill slot size and alignment

llvm-svn: 15803
2004-08-16 01:07:53 +00:00
Chris Lattner
0d16641abb Add new TargetRegisterClass::contains method
llvm-svn: 15783
2004-08-15 22:19:38 +00:00
Chris Lattner
6f1512829d Implement a long overdue FIXME, by changing these methods to return void.
llvm-svn: 15778
2004-08-15 22:14:19 +00:00
Chris Lattner
f0e1b33f6c Remove helper method
llvm-svn: 15776
2004-08-15 22:02:36 +00:00
Chris Lattner
9e7147dc23 Eliminate the RegisterClass argument, since it can easily be derived from
the regno

llvm-svn: 15773
2004-08-15 21:55:29 +00:00
Alkis Evlogimenos
dbe432aee7 Make this compile on gc 3.4.1 (static_cast to non-const type was not
allowed).

llvm-svn: 15766
2004-08-15 09:18:55 +00:00
Reid Spencer
4f35f90cec 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.

llvm-svn: 15762
2004-08-15 08:13:01 +00:00
Reid Spencer
bbd423eea8 First version of a class to represent operating system and lib/System
error codes in a platform independent way.

llvm-svn: 15761
2004-08-15 08:12:14 +00:00
Nate Begeman
cbc21460f2 Elminiate MachineFunction& argument from eliminateFrameIndex
llvm-svn: 15736
2004-08-14 22:00:10 +00:00
Reid Spencer
45d12b6601 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.

llvm-svn: 15725
2004-08-13 19:47:30 +00:00
Chris Lattner
872e4a14da Add a pass
llvm-svn: 15713
2004-08-13 03:03:44 +00:00
Chris Lattner
009bda369a Allow targets to specify particular stack slots that certain physregs must
be spilled into.

llvm-svn: 15702
2004-08-12 19:01:55 +00:00
Chris Lattner
837ab8fcf6 Remove dead methods
llvm-svn: 15698
2004-08-12 18:37:15 +00:00
Chris Lattner
8af864daa3 Remove dead methods
llvm-svn: 15691
2004-08-12 17:58:27 +00:00
Misha Brukman
eac800ff93 Add new constructor.
llvm-svn: 15632
2004-08-10 23:10:21 +00:00
Chris Lattner
0b9b58e550 Add standard print/dump methods to CallGraph classes.
llvm-svn: 15569
2004-08-08 03:27:49 +00:00
Chris Lattner
c53f15303d Move method out of line
llvm-svn: 15497
2004-08-04 18:49:52 +00:00
Alkis Evlogimenos
f846e483bb Remove uneeded getValues() functions.
llvm-svn: 15488
2004-08-04 08:47:21 +00:00
Brian Gaeke
69f47e236f getResultPos() is dead.
llvm-svn: 15484
2004-08-04 08:06:30 +00:00
Brian Gaeke
464b5b8f1a These headers have been moved/merged into other files.
llvm-svn: 15477
2004-08-04 07:37:56 +00:00
Chris Lattner
a5d89de2da New methods
llvm-svn: 15462
2004-08-04 04:45:42 +00:00
Chris Lattner
83c911936d Minor efficiency improvements
llvm-svn: 15461
2004-08-04 04:45:29 +00:00
Chris Lattner
9b6089d893 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.

llvm-svn: 15459
2004-08-04 02:43:00 +00:00
Chris Lattner
a81b270e18 Add a special version of getType for ConstantPointerNull, exposing the fact
that all Null pointers have pointer type

llvm-svn: 15458
2004-08-04 02:42:17 +00:00
Chris Lattner
ee276368a4 The Type* is redundant with the TypeSlot
llvm-svn: 15451
2004-08-04 00:18:37 +00:00
Tanya Lattner
763a90b5fa Adding friend MSSchedule for ModuloScheduling pass.
llvm-svn: 15407
2004-08-01 18:57:38 +00:00
Chris Lattner
e8b9d3f67c Fix warning
llvm-svn: 15406
2004-08-01 18:17:36 +00:00
Chris Lattner
00ff5a4e35 Expose breakcriticaledges as a functionpass
llvm-svn: 15370
2004-07-31 10:02:24 +00:00
Chris Lattner
ab1daf9f8a New pass
llvm-svn: 15367
2004-07-31 09:59:14 +00:00
Chris Lattner
0829da11d7 Expose some helpful methods
llvm-svn: 15366
2004-07-31 09:59:04 +00:00
Alkis Evlogimenos
e28642a6a5 Change signature to take two basic blocks: the target and the one
where the goto will be appended.

llvm-svn: 15361
2004-07-31 09:37:52 +00:00
Alkis Evlogimenos
b338ca7306 Doxygenify some comments.
llvm-svn: 15360
2004-07-31 08:57:27 +00:00
Alkis Evlogimenos
6308a8a8e0 Remove const from iterators passed by value.
llvm-svn: 15359
2004-07-31 08:55:23 +00:00
Alkis Evlogimenos
2ca8d29454 Add declarations for insertGoto and reverseBranchCondition.
llvm-svn: 15358
2004-07-31 08:52:30 +00:00
Chris Lattner
d46a44390f Add new M_BARRIER_FLAG flag, and isBarrier() method to TargetInstrInfo
opCode -> Opcode

llvm-svn: 15353
2004-07-31 02:06:48 +00:00
Chris Lattner
6f4beb3664 Add some machine CFG related stuff
llvm-svn: 15352
2004-07-31 01:59:11 +00:00
Misha Brukman
33a80cd54d Enable compilation.
llvm-svn: 15344
2004-07-30 14:33:07 +00:00
Chris Lattner
ace669f381 Check in some useful helper routines for doing ML-style pattern matching on
the LLVM IR.

llvm-svn: 15341
2004-07-30 07:45:00 +00:00
Chris Lattner
a5e7a83fa9 I demand the ability to say 'if (isa<Value>(V))'!
llvm-svn: 15340
2004-07-30 06:59:15 +00:00
Alkis Evlogimenos
fb27f702ca Merge i*.h headers into Instructions.h as part of bug403.
llvm-svn: 15325
2004-07-29 12:17:34 +00:00
Brian Gaeke
67380b8333 Fix typo in comment.
llvm-svn: 15318
2004-07-29 04:22:30 +00:00
Brian Gaeke
99f18cc97f TargetInstrInfo::hasOperandInterlock() is always true, because it is
never overridden by any target.

llvm-svn: 15308
2004-07-28 19:24:48 +00:00
Brian Gaeke
1ec15e0428 ConstantTypeMustBeLoaded has been incorporated into SparcV9PreSelection, its
only user.

llvm-svn: 15294
2004-07-27 21:43:38 +00:00
Brian Gaeke
a71776e676 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.)

llvm-svn: 15277
2004-07-27 17:43:22 +00:00
Brian Gaeke
45adb41f46 Make the create...() functions for some of these passes return a FunctionPass *.
llvm-svn: 15276
2004-07-27 17:43:21 +00:00
Chris Lattner
de0fddf8ee Add a note
llvm-svn: 15257
2004-07-27 04:00:54 +00:00
Chris Lattner
7d98fd121c Fix out of date comment
llvm-svn: 15256
2004-07-27 03:04:30 +00:00
Chris Lattner
f08a512d4d New methods
llvm-svn: 15229
2004-07-26 05:50:09 +00:00
Reid Spencer
eb9a1c53b7 Reduce the footprint of the dependent library interface
Document the dependent library interface
Constify the std::string& parameters in the dep lib interface.

llvm-svn: 15215
2004-07-25 21:28:19 +00:00
Reid Spencer
2e6721531f bug 263:
The necessary changes to module in order to support both target triples and
a list of dependent libraries.

llvm-svn: 15207
2004-07-25 17:52:27 +00:00
Reid Spencer
415011884f 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.

llvm-svn: 15206
2004-07-25 17:50:00 +00:00
Chris Lattner
6bc4b6c0dd Add back() and pop_back() methods to SetVector
Move clear to the end of the class
Add assertions

llvm-svn: 15203
2004-07-25 11:07:02 +00:00
Chris Lattner
31d9cbf7bb Add support for free instructions
llvm-svn: 15197
2004-07-25 07:57:37 +00:00
Chris Lattner
30a4ae76ad Provide timeout values to all abstract interpreters
llvm-svn: 15159
2004-07-24 07:48:50 +00:00
Chris Lattner
07dc2875c2 Add support for killing the program if it executes for too long.
llvm-svn: 15158
2004-07-24 07:41:31 +00:00
Misha Brukman
29445f8a8b * Add a BoolAlignment field to TargetData, default is 1 byte
* Fix spacing

llvm-svn: 15119
2004-07-23 01:08:13 +00:00
Chris Lattner
d1cfccd01e New prototype
llvm-svn: 15102
2004-07-22 08:07:30 +00:00
Chris Lattner
e3adc34ea7 Clean up reference counting to stop "leaking" alias sets
llvm-svn: 15099
2004-07-22 07:58:18 +00:00
Brian Gaeke
18a3ff1140 Include <iostream> here, because most people using DEBUG() want to use std::cerr too.
This means that users of this file do not also need to include <iostream>.

llvm-svn: 15088
2004-07-21 20:50:22 +00:00
Alkis Evlogimenos
441f3a155d Add greater_ptr functor.
llvm-svn: 15070
2004-07-21 08:38:06 +00:00
Alkis Evlogimenos
b5f60641f4 Add Iterative scan register allocator.
llvm-svn: 15068
2004-07-21 08:24:35 +00:00
Chris Lattner
67c1deddfc Add a bunch of new functionality, primarily to do with removing aliasing
pointers from an AST.

llvm-svn: 15065
2004-07-21 07:03:57 +00:00
Chris Lattner
f9976c5dbf Make the AST interface a bit richer by returning whether an insertion caused
an insertion or not (because the pointer set already existed).

llvm-svn: 15064
2004-07-21 05:18:04 +00:00
Brian Gaeke
2a45315ad0 Regenerated with autoconf/autoheader 2.57
llvm-svn: 15059
2004-07-21 03:33:58 +00:00
Brian Gaeke
38bd15e507 Add prototypes for platform-independent wrappers for isinf().
Patch contributed by Bill Wendling.

llvm-svn: 15055
2004-07-21 03:15:14 +00:00
Brian Gaeke
94394bea47 Regenerated with autoheader-2.57.
Patch contributed by Bill Wendling.

llvm-svn: 15054
2004-07-21 03:15:02 +00:00
Misha Brukman
1c856fcf9e Use C++-style <cstdio> instead of C-style <stdio.h>
llvm-svn: 15042
2004-07-20 16:14:06 +00:00
Misha Brukman
6a7fd4d0a9 Dump the old-fashioned C-style <ctype.h> in favor of new `C++'-style <cctype>
llvm-svn: 15025
2004-07-20 02:18:25 +00:00
Misha Brukman
8b9267b279 isupper() and tolower() are declared in <ctype.h>
llvm-svn: 15016
2004-07-20 00:52:16 +00:00
Misha Brukman
f1dcfcbb96 Tabs to spaces.
llvm-svn: 15010
2004-07-19 21:22:02 +00:00
Misha Brukman
ab7bc6af0d Convert tabs to spaces; fix name of function in assert() description.
llvm-svn: 15009
2004-07-19 21:11:45 +00:00
John Criswell
bc9b933fb9 Added support for stdint.h. It is now automatically included by
DataTypes.h.  So far, it doesn't seem to break Linux, Solaris, or MacOS X.
This should automatically include it for those people who need it.

llvm-svn: 15006
2004-07-19 16:12:29 +00:00
Chris Lattner
58a6310e16 Fix comment
llvm-svn: 15002
2004-07-19 13:28:39 +00:00
Chris Lattner
773c66b02c Delete 4 methods, make clients use hte mark* methods directly
llvm-svn: 14999
2004-07-19 07:52:25 +00:00
Chris Lattner
22728e2f27 There is no need to store the MBB along with the MI any more, we can now
ask instructions for their parent.

llvm-svn: 14998
2004-07-19 07:04:55 +00:00
Chris Lattner
6c34920110 Simplify the interface to LiveVariables::addVirtualRegister(Killed|Dead)
llvm-svn: 14997
2004-07-19 06:55:21 +00:00
Chris Lattner
53fa752649 Remove the DefBlock element of VarInfo. DefBlock is always DefInst->getParent()
llvm-svn: 14996
2004-07-19 06:26:50 +00:00
Chris Lattner
5a4eaff632 inline classof implementations, eliminate use of virtual methods.
classof<ConstantXXX> is now MUCH faster than it used to be.

llvm-svn: 14986
2004-07-19 00:58:47 +00:00
Chris Lattner
64444580a8 eliminate isConstantExpr, changes to isa<Constant> implementation
llvm-svn: 14985
2004-07-19 00:58:02 +00:00
Chris Lattner
07963adecb Add new enum entries for ConstantAggregateZeroVal/ConstantExprVal and
rename ConstantVal to SimpleConstantVal

llvm-svn: 14984
2004-07-19 00:57:40 +00:00