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
Chris Lattner
2196acc9f2
Change method to return void. Inline dtor
...
llvm-svn: 14982
2004-07-19 00:55:19 +00:00
Chris Lattner
40107200fc
Remove dead file
...
llvm-svn: 14981
2004-07-18 23:44:15 +00:00
Reid Spencer
a9c7165018
Add a missing space to align comments.
...
llvm-svn: 14955
2004-07-18 00:56:58 +00:00
Reid Spencer
79ff7a8ec9
Fix typeos in comments.
...
llvm-svn: 14954
2004-07-18 00:55:49 +00:00
Reid Spencer
d7fbd79a5b
bug 122:
...
remove redundant isa<GlobalValue>
ensure isa<GlobalValue> case is processed before is<Constant>
llvm-svn: 14926
2004-07-17 23:36:58 +00:00
Reid Spencer
fe177d219a
bug 122:
...
- Add ValueListTy to TypeTy so that the bcreader can have its own User
category that won't get factored into any optimizations or cleanup.
- Correct an isa_impl to correctly include GlobalValue now that it isa
Constant.
llvm-svn: 14925
2004-07-17 23:34:47 +00:00
Reid Spencer
b0ee45b970
bug 122:
...
Remove redundancy in User::classof(Value*); GlobalValue isa Constant now.
llvm-svn: 14924
2004-07-17 23:32:11 +00:00
Reid Spencer
e45193c610
Fix a comment.
...
llvm-svn: 14923
2004-07-17 23:30:45 +00:00
Reid Spencer
c197914ffd
bug 122:
...
We don't need to keep track of CPRs any more.
llvm-svn: 14922
2004-07-17 23:30:11 +00:00
Reid Spencer
058e3a12ce
bug 122:
...
Now that GlobalVariable is a constant (via derivation from GlobalValue),
override the replaceUsesOfWithOnConstant method.
llvm-svn: 14921
2004-07-17 23:29:46 +00:00
Reid Spencer
bedeb65525
bug 122:
...
- derive from Constant
- declare needed overrides from Constant class
llvm-svn: 14920
2004-07-17 23:28:28 +00:00
Reid Spencer
51fd2506ad
****** ABOLISH ConstantPointerRef *****
...
llvm-svn: 14919
2004-07-17 23:26:57 +00:00
Reid Spencer
cb46bb8158
Extend constructor so that it can support GlobalValue's (with names).
...
Make GlobalValue a "classof" Constant
Fix the classof(Value*) to include GlobalValue's
llvm-svn: 14918
2004-07-17 23:26:12 +00:00
Reid Spencer
0338d6578b
Constant value not needed after CPR's disappear.
...
llvm-svn: 14917
2004-07-17 23:23:30 +00:00
Reid Spencer
38fe11e63e
Added a README to point users to the documentation on the design of this
...
library which is a prerequisite for maintaining the library.
llvm-svn: 14909
2004-07-17 08:39:53 +00:00
Chris Lattner
d853be2cff
link.h causes problems on some platforms and is not needed on solaris, where
...
the comment came from.
llvm-svn: 14905
2004-07-17 03:09:12 +00:00
Chris Lattner
720ae1e5b3
Remove dead file
...
llvm-svn: 14904
2004-07-17 02:56:48 +00:00
Alkis Evlogimenos
ddd1db50f9
Add convinience constructor for function calls with two args.
...
llvm-svn: 14885
2004-07-16 12:04:28 +00:00
Chris Lattner
ea8ae81bf9
Add a new macro to be used for the end of enum lists.
...
llvm-svn: 14862
2004-07-16 00:01:05 +00:00
Chris Lattner
1f83f10da7
Give SetVector range support
...
llvm-svn: 14855
2004-07-15 08:18:31 +00:00
Chris Lattner
c19f2134fc
Final fix for PR341: eliminate operator<<(ostream, Value*). Clients should
...
now send references to ostreams instead of pointers. Sending pointers to
ostreams will print their addresses.
llvm-svn: 14849
2004-07-15 02:54:36 +00:00
Chris Lattner
94212f7102
Fixes for PR341
...
llvm-svn: 14847
2004-07-15 02:51:31 +00:00
Chris Lattner
5ab6b23a7d
Fix for PR341
...
llvm-svn: 14846
2004-07-15 02:50:38 +00:00
Chris Lattner
26e5829b8f
Yeah, how about those 'primative' types huh?
...
llvm-svn: 14836
2004-07-15 01:15:53 +00:00
Chris Lattner
9e4dad1400
Make PATypeHolder and friends return non-const pointers to the types they
...
hold. Because types are basically immutable anyway, they should not be
referenced as "const Type*" everywhere. Just "Type*" should suffice!
llvm-svn: 14824
2004-07-14 20:10:26 +00:00
Chris Lattner
91169a26b5
* Change code to use a static_cast instead of reinterpret_cast
...
* Add comments
* Add two new gep ctors for the very common case of creating a two operand
GEP instruction.
llvm-svn: 14820
2004-07-14 18:13:54 +00:00
Chris Lattner
10686c55cc
Add a helper method. The StructType element is completely redundant in most
...
cases
llvm-svn: 14777
2004-07-12 20:36:08 +00:00