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
Chris Lattner
528291513f
Add a missing #include
...
llvm-svn: 14773
2004-07-12 20:25:33 +00:00
Chris Lattner
2bf0308d44
Fix warning compiling with VC++
...
llvm-svn: 14772
2004-07-12 20:25:04 +00:00
Chris Lattner
4d2009965c
Implement a new method useful for things like the inliner
...
llvm-svn: 14768
2004-07-12 01:17:52 +00:00
Chris Lattner
050495885f
Add a new listener class for things that want to be informed about new
...
targets that are loaded
llvm-svn: 14758
2004-07-11 06:02:59 +00:00
Chris Lattner
2ea95d837e
Delete the allocate*TargetMachine functions. Move options to a header file
...
that makes sense.
llvm-svn: 14754
2004-07-11 04:15:52 +00:00
Chris Lattner
2a79beb587
Add a new TargetNameParser class, which is useful for parsing options.
...
Add two methods which are useful for autoselecting targets.
llvm-svn: 14748
2004-07-11 03:59:46 +00:00
Chris Lattner
3f154d5c7c
Provide better support for pointer-valued command line arguments
...
llvm-svn: 14746
2004-07-11 03:18:30 +00:00
Chris Lattner
195638502a
First cut at TargetMachineRegistry and RegisterTarget classes
...
llvm-svn: 14742
2004-07-11 02:43:43 +00:00
Chris Lattner
8b4d801eab
Add two new "virtual static" methods to the TargetMachine class
...
llvm-svn: 14741
2004-07-11 02:43:07 +00:00
Chris Lattner
55cd4a8b7b
Add a new header
...
llvm-svn: 14737
2004-07-11 01:03:57 +00:00
Chris Lattner
a46346890c
Removed unneeded forward decl
...
llvm-svn: 14727
2004-07-09 17:02:57 +00:00
Chris Lattner
d3f73edc53
Remove unused method
...
llvm-svn: 14726
2004-07-09 16:48:13 +00:00
Chris Lattner
235331d922
Eliminate the UID field in the Type class, bringing it down to 28 bytes.
...
llvm-svn: 14709
2004-07-08 22:31:37 +00:00
Chris Lattner
c03416c90a
Add a new method
...
llvm-svn: 14705
2004-07-08 22:09:07 +00:00
Reid Spencer
abd8f7a30f
Get rid of some cruft in the insert method.
...
llvm-svn: 14704
2004-07-08 21:50:33 +00:00
Reid Spencer
6996ff8254
First version of a vector with uniqueness constraints (or a set with
...
deterministic, insertion-order iteration).
llvm-svn: 14702
2004-07-08 19:36:21 +00:00
Misha Brukman
54115c22de
Fix spelling of `equivalent'
...
llvm-svn: 14697
2004-07-08 17:45:18 +00:00
Chris Lattner
1aeb7ed7e4
isSigned/isUnsigned/isInteger methods do not need to be virtual
...
llvm-svn: 14694
2004-07-08 17:29:36 +00:00
Chris Lattner
74df119be3
Update comment.
...
Remove unused forward decl of Value.h
Make Type 32 bytes instead of 36 bytes
llvm-svn: 14692
2004-07-08 16:09:38 +00:00
Chris Lattner
c301c035d2
This file uses the Value class without a forward decl
...
llvm-svn: 14691
2004-07-08 15:54:29 +00:00
Alkis Evlogimenos
e7e19f771f
Add viewCFG() and viewCFGOnly() APIs.
...
llvm-svn: 14679
2004-07-08 00:47:58 +00:00
Chris Lattner
c2b3e11473
All of these now live in the DataStructure directory
...
llvm-svn: 14664
2004-07-07 06:32:53 +00:00
Chris Lattner
bd3218fef2
Move DSA headers into Analysis/DataStructure to make it more obvious
...
what is implemented by the DataStructure library.
llvm-svn: 14662
2004-07-07 06:29:26 +00:00
Chris Lattner
fb2f56c7c8
As much as I hate to say it, the whole setNode interface for DSNodeHandles
...
is HOPELESSLY broken. The problem is that the embedded getNode call can
change the offset of the node handle in unpredictable ways.
As it turns out, all of the clients of this method really want to set
both the node and the offset, thus it is more efficient (and less buggy)
to just do both of them in one method call. This fixes some obscure bugs
handling non-forwarded node handles.
llvm-svn: 14660
2004-07-07 06:12:52 +00:00
Reid Spencer
3e8a01d80f
Remove definition and use of OtherVal enumerator. This just fixes a thinko.
...
llvm-svn: 14634
2004-07-06 01:30:36 +00:00
Reid Spencer
37b31cbcba
Move SlotCalculator.h to lib/Bytecode/Writer since that is the only place
...
that needs it after the Type != Value changes (bug 122).
llvm-svn: 14605
2004-07-04 11:36:31 +00:00
Reid Spencer
725398ad54
Make all the virtual function (except destructor) inline so there are
...
default implementations without taking up a ton of space in a .cpp file.
llvm-svn: 14603
2004-07-04 11:29:56 +00:00
Reid Spencer
a53681ae93
Add a new, compatible, interface function for writing types as operands.
...
This is necessary because Types are no longer Values.
llvm-svn: 14598
2004-07-04 10:59:05 +00:00
Reid Spencer
925f7fd54c
Added #include <iostream> since this header is no longer picked up from
...
the Value.h header.
llvm-svn: 14597
2004-07-04 10:58:20 +00:00
Reid Spencer
678b551d2b
- Remove enumerator TypeVal since Values can't be types any more
...
- Remove isa_impl relationship between Types and Values
- Add OtherVal so "other" users can interact with Values.
llvm-svn: 14596
2004-07-04 10:52:28 +00:00
Reid Spencer
eb12af7769
There is no longer a "Type" primitive type because Values and Types are
...
now distinct.
llvm-svn: 14595
2004-07-04 10:50:43 +00:00
Reid Spencer
ff486345fd
Constify usage of Type* on the interface to ensure SymbolTable doesn't
...
modify types (it never should). Clean up some comments.
llvm-svn: 14594
2004-07-04 10:49:41 +00:00
Reid Spencer
037f53dadd
Remove all of the classof(const Value*) methods of the derived types since
...
the Type base class no longer derives from Value.
llvm-svn: 14593
2004-07-04 10:48:27 +00:00
Reid Spencer
01068980b7
Make Type have no base classes. Previously it inherited Value. Also
...
removed the TypeTyID and TypeTy members so that the notion of the
"Type Type" is no longer present in LLVM. Various other adjustments
resulting from these changes were also made.
llvm-svn: 14592
2004-07-04 10:46:49 +00:00
Alkis Evlogimenos
b60ef8f308
Add more operators.
...
llvm-svn: 14589
2004-07-04 01:30:54 +00:00
Chris Lattner
f0af72ac49
Fix Type::isSized() to realize that "{ opaque }" is not sized
...
llvm-svn: 14585
2004-07-02 23:20:17 +00:00
Chris Lattner
d61ef00bc5
Since we are in the department of redundancy department, at least be correct
...
llvm-svn: 14582
2004-07-02 18:41:18 +00:00
Chris Lattner
c71f8fcb8e
Add a new pass for code generators to use
...
llvm-svn: 14562
2004-07-02 05:44:13 +00:00
Misha Brukman
3f5007bdd0
* Doxygenify comments
...
* Tabs-to-spaces
llvm-svn: 14549
2004-07-01 20:42:00 +00:00
Chris Lattner
4a33b02af8
Move init methods out of line to enable better assertions, contributed
...
by Vladimir Merzliakov!
llvm-svn: 14545
2004-07-01 20:22:31 +00:00
Chris Lattner
08fb05fe14
Now that we have happy mappings from MBBs->numbers, use them instead of keeping
...
a LV private map
llvm-svn: 14522
2004-07-01 06:14:57 +00:00
Chris Lattner
d9411df2c0
Change the implementation of the autonumbering for MBB's a bit to provide
...
the reverse mapping as well as the mapping from MBB->unsigned
llvm-svn: 14519
2004-07-01 06:01:36 +00:00
Reid Spencer
54405c93a8
Provide support for the BytecodeHandler interface which will be called by
...
the bcreader if one is supplied to the bytecode reader's interface
functions.
llvm-svn: 14489
2004-06-29 23:20:03 +00:00
Reid Spencer
30929e9de2
Fix include guard
...
Adjust comments
Make handlers for constants provide useful information.
llvm-svn: 14488
2004-06-29 23:18:52 +00:00
Reid Spencer
4007ca4da9
Adjust comments to match code.
...
Allow analysis to return the module created by the bcreader.
llvm-svn: 14487
2004-06-29 23:17:34 +00:00
Chris Lattner
89393e9cfd
Add new header
...
llvm-svn: 14461
2004-06-28 06:31:26 +00:00
Chris Lattner
8f4173433d
Remove dead file
...
llvm-svn: 14459
2004-06-28 00:46:54 +00:00
Chris Lattner
adff3f7355
Remove two dead passes
...
llvm-svn: 14456
2004-06-28 00:43:25 +00:00
Chris Lattner
7de3acb655
Move file to lib/Analysis/DataStructure
...
llvm-svn: 14454
2004-06-28 00:40:43 +00:00
Chris Lattner
08f4d224e7
Moved to lib/analysis/datastructure
...
llvm-svn: 14451
2004-06-28 00:30:29 +00:00
Chris Lattner
552cc597c5
Moved to lib/Analysis/DataStructure
...
llvm-svn: 14449
2004-06-28 00:27:34 +00:00
Chris Lattner
de1c8b455c
Moved to lib/Analysis/DataStructure
...
llvm-svn: 14447
2004-06-28 00:20:39 +00:00
Chris Lattner
78e3b3650e
Now that the SparcV9 specific MachineCodeForInstruction class uses it's own
...
map on the side, Instruction no longer has to be Annotable. This reduces
the size of the Instruction class by another 4 bytes (on a 32-bit system).
llvm-svn: 14439
2004-06-27 18:57:34 +00:00
Chris Lattner
b6b8d6e242
This class is no longer an annotation
...
llvm-svn: 14437
2004-06-27 18:50:49 +00:00
Chris Lattner
642e65c537
Add a map of MachineCodeForInstruction objects to MachineFunctionInfo
...
llvm-svn: 14436
2004-06-27 18:50:30 +00:00
Chris Lattner
dd7c37af2e
Eliminate the Instruction::iType field, folding it into the Value::VTy field.
...
This reduces the size of the instruction class by 4 bytes, and means that
isa<CallInst>(V) (for example) only needs to do one load from memory instead
of two.
llvm-svn: 14434
2004-06-27 18:38:24 +00:00
Chris Lattner
f0870ad57b
Get rid of Annotable's vtable. If anyone deletes an object through an Annotable*,
...
they get what they deserve.
This reduces the size of Instruction & Function by 4 bytes each.
llvm-svn: 14433
2004-06-27 18:36:39 +00:00
Chris Lattner
19e5c047c7
Make it obvious that this file is bad bad bad
...
llvm-svn: 14432
2004-06-27 18:21:20 +00:00
Chris Lattner
2926c33e27
Make ctor inline, change ValueTy ->unsigned
...
llvm-svn: 14430
2004-06-27 18:01:15 +00:00
Chris Lattner
b6833e4a48
Consider anything with a ValueType that is >= Instruction to be an instruction
...
llvm-svn: 14429
2004-06-26 20:51:50 +00:00
Chris Lattner
e7d0c7576f
Rearrange some code.
...
llvm-svn: 14427
2004-06-26 20:33:27 +00:00
Chris Lattner
322e7a8990
Hey, why not just make 'new ReturnInst(BB)' DTRT?
...
llvm-svn: 14422
2004-06-25 23:10:30 +00:00
Chris Lattner
c466f996ca
new ReturnInst(BB) does not "do the right thing". Add an assert to catch it
...
sooner rather than later.
llvm-svn: 14421
2004-06-25 23:06:57 +00:00
Chris Lattner
2420a80afa
Prototype for new ConstantExpr lowering pass, contributed by Vladimir Prus!
...
llvm-svn: 14397
2004-06-25 07:41:06 +00:00
Reid Spencer
776fdd441f
- Changed Handler.h -> BytecodeHandler.h
...
- Fixed some small coding standard compliance issues in BytecodeHandler.h
llvm-svn: 14393
2004-06-25 02:32:27 +00:00
Chris Lattner
73f4c9fcd2
Okay, Module have not been known as 'C' for a LONG time now
...
llvm-svn: 14392
2004-06-25 00:42:23 +00:00
Chris Lattner
c5c6255889
Unbreak the build. tsk tsk
...
llvm-svn: 14390
2004-06-25 00:18:02 +00:00
Tanya Lattner
da38dc5180
Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.
...
llvm-svn: 14389
2004-06-25 00:13:11 +00:00
Misha Brukman
a2b7b5b128
Add a LowercaseString() utility function, courtesy of brg.
...
llvm-svn: 14383
2004-06-24 23:38:52 +00:00
Reid Spencer
fd6af2f261
Definition of the Bytecode Handler interface. Subclasses can override just
...
the methods they are interested in to perform out-of-band tasks while the
BytecodeReader is constructing a module. Handlers should *not* modify any
of the LLVM IR objects during this process.
llvm-svn: 14380
2004-06-24 23:05:07 +00:00
Chris Lattner
228e6d64d0
Remove distasteful method which is really part of the indvars pass
...
llvm-svn: 14359
2004-06-24 06:52:20 +00:00
Misha Brukman
0ae5becf22
Moved to include/llvm/Support
...
llvm-svn: 14350
2004-06-23 17:24:53 +00:00
Brian Gaeke
251a2b53ec
Provide prototypes for IsNAN() wrapper.
...
llvm-svn: 14339
2004-06-23 00:25:24 +00:00
Brian Gaeke
68ace5fc48
Regenerated.
...
It looks to me like people haven't been running AutoRegen.sh. Grumble grumble.
llvm-svn: 14337
2004-06-22 23:47:23 +00:00
John Criswell
43a84d337d
Added the llvm/test/Programs/Makefile.test Makefile.
...
Added a check for isnan() while I was at it.
llvm-svn: 14333
2004-06-22 21:35:10 +00:00
Misha Brukman
e38f7ed2cc
Spell out `NoFramePointerElim' for readability.
...
llvm-svn: 14299
2004-06-21 21:17:44 +00:00
Misha Brukman
2b3c4ca665
Make a single `NoFPElim' switch available to all targets.
...
llvm-svn: 14296
2004-06-21 21:07:51 +00:00
Misha Brukman
03cf1fc233
Let's be consistent: listing format `os/arch'.
...
llvm-svn: 14293
2004-06-21 18:43:23 +00:00
Chris Lattner
3a8e3bce6c
Make ConstantBool act like a 1 bit ConstantInt, in order to simplify client
...
code. Patch contributed by Vladimir Prus.
llvm-svn: 14280
2004-06-21 12:12:12 +00:00
Chris Lattner
6f6b95abe2
Header moved into the CodeGen directory
...
llvm-svn: 14267
2004-06-20 07:50:32 +00:00
Chris Lattner
9da4181217
Start moving IntrinsicLowering out of VMCore into libcodegen, as per PR346
...
llvm-svn: 14264
2004-06-20 07:40:46 +00:00
Chris Lattner
ba933051e3
Add methods like BinaryOperator::createAdd that take an instruction to insert
...
before.
llvm-svn: 14261
2004-06-20 05:02:56 +00:00
Chris Lattner
49af533d57
Initial checkin of the StableBasicBlockNumbering, a little helper class for computing
...
(strangely enough) a stable (determinstic) numbering for basic blocks.
llvm-svn: 14246
2004-06-19 08:41:59 +00:00
Misha Brukman
d3a8478981
Add a target-independent way to query page size.
...
llvm-svn: 14232
2004-06-18 15:30:25 +00:00
Chris Lattner
0cd29ae2cd
Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()
...
llvm-svn: 14201
2004-06-17 18:19:28 +00:00
Brian Gaeke
9f7f63256d
I'm afraid this doesn't exist.
...
llvm-svn: 14193
2004-06-16 00:26:45 +00:00
Chris Lattner
7c3600a50e
isnan is dead
...
llvm-svn: 14191
2004-06-15 21:52:58 +00:00
Alkis Evlogimenos
9b28aef6cb
Add the isunordered intrinsic.
...
llvm-svn: 14159
2004-06-12 19:19:14 +00:00
Chris Lattner
a8fd205112
It is no longer 2001
...
llvm-svn: 14157
2004-06-11 21:12:22 +00:00
Misha Brukman
4fdc92647b
Fix grammar: 's is for possessive only.
...
llvm-svn: 14155
2004-06-11 16:50:21 +00:00
Reid Spencer
efdd7cd3ac
Implement tracking of bytecode instruction size and the number of long
...
instructions generated.
llvm-svn: 14154
2004-06-11 15:10:38 +00:00
Reid Spencer
7172b26a18
Revert an unneeded interface change to Instruction.h
...
llvm-svn: 14137
2004-06-11 03:06:43 +00:00
Chris Lattner
b07bf147cd
I misled Alkis: LLVM should have isnan, not isunordered.
...
isunordered(X, Y) === isnan(X) | isnan(Y)
Remove isunordered, add isnan.
llvm-svn: 14132
2004-06-11 02:29:43 +00:00
Alkis Evlogimenos
1ae8b4e7c4
Add the isunordered intrinsic.
...
llvm-svn: 14127
2004-06-11 01:08:18 +00:00
Reid Spencer
b2f8a70990
Updated the BytecodeAnalysis data structure to contain additional fields
...
needed for analysis of individual functions.
llvm-svn: 14125
2004-06-10 22:28:11 +00:00
Reid Spencer
aa6ccbcdee
Added an isPhiNode(unsigned) static method to determine if an opcode is
...
a PhiNode or not. Needed by Bytecode Analyzer.
llvm-svn: 14124
2004-06-10 22:27:10 +00:00
Misha Brukman
d3374cf482
Remove extra space.
...
llvm-svn: 14117
2004-06-10 12:51:35 +00:00
Reid Spencer
ce1adf1ff0
Implemented the bulk of the functionality. Cleaned up the code.
...
llvm-svn: 14113
2004-06-10 08:09:13 +00:00
Chris Lattner
9a3779e0a0
Add new BinaryOperator::createAdd/Sub/... methods to avoid having to type
...
llvm::Instruction:: all of the time.
llvm-svn: 14105
2004-06-10 01:43:29 +00:00
Reid Spencer
149dc84ce8
Add some new fields for bytecode analysis.
...
llvm-svn: 14092
2004-06-09 06:18:53 +00:00
Reid Spencer
323cc6283d
Cleaned up a dead header file to prevent duplicate definition warnings
...
in doxygen.
llvm-svn: 14084
2004-06-09 04:38:34 +00:00
Chris Lattner
2e3aa45491
I checked and no clients expect this to return null for unconditional branches
...
Simplify code and make it more uniform.
llvm-svn: 14077
2004-06-08 22:03:05 +00:00
Brian Gaeke
fb83999991
Add a forwarding method pop_front() that allows you to delete instructions
...
from the beginning of a MBB.
llvm-svn: 14074
2004-06-08 18:52:47 +00:00
Brian Gaeke
4b0b12c188
Add a TmpInstruction ctor that doesn't take a MCFI.
...
llvm-svn: 14073
2004-06-08 18:52:46 +00:00
Chris Lattner
95ac084df9
Apparently a particular vendor compiler uses the struct/class tag to MANGLE
...
symbols with. Therefore, if you do not use struct/class consistently, you can
get LINK ERRORS. grr.
This fixes the link errors for libsupport and vmcore.
-Chris
llvm-svn: 14070
2004-06-08 17:44:21 +00:00
Misha Brukman
db138d0f67
Fix case of doxygen directive `\p': it's lowercase.
...
llvm-svn: 14068
2004-06-08 13:49:17 +00:00
Chris Lattner
0c385225b2
Add documentation to the TargetFrameInfo class, contributed by Vladimir Prus
...
llvm-svn: 14060
2004-06-08 06:23:17 +00:00
Reid Spencer
03ec821b37
Clean up documentation and make it possible for the BytecodeAnalyzer to
...
store the output of the bytecode dumper.
llvm-svn: 14058
2004-06-08 05:55:53 +00:00
Reid Spencer
329505d08b
Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This tool
...
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader. This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.
llvm-svn: 14048
2004-06-07 17:53:43 +00:00
John Criswell
ed7b25499c
Added checks for mkstemp and getrusage.
...
llvm-svn: 14047
2004-06-07 14:26:24 +00:00
Chris Lattner
169b067879
Macros are baaad.
...
llvm-svn: 14039
2004-06-05 00:54:11 +00:00
Chris Lattner
757a99eb41
Don't #include <unistd.h> directly, go through the config files
...
llvm-svn: 14038
2004-06-05 00:27:38 +00:00
Chris Lattner
202207c83f
Warning foo
...
llvm-svn: 14035
2004-06-05 00:17:13 +00:00
Misha Brukman
b07dadab93
Revert ostream back to reference: the only user (llvm-tv) no longer needs it.
...
llvm-svn: 14029
2004-06-04 21:10:35 +00:00
Chris Lattner
6ec14eee8b
Add some constants for VC
...
llvm-svn: 14028
2004-06-04 20:58:34 +00:00
Chris Lattner
1cfb453364
Fix a *really* dumb warning on VC
...
llvm-svn: 14025
2004-06-04 20:47:19 +00:00
Chris Lattner
68ee80d686
Fix more warnings
...
llvm-svn: 14024
2004-06-04 20:39:05 +00:00
Chris Lattner
192d223d78
Remove support for printing strings from the cached writer
...
llvm-svn: 14023
2004-06-04 20:34:51 +00:00
Chris Lattner
73c62c067f
GCC doesn't like prefix form of cast with two identifiers I guess.
...
llvm-svn: 14021
2004-06-04 20:21:53 +00:00
Chris Lattner
db1b83334e
Silence a warning
...
llvm-svn: 14019
2004-06-04 20:10:17 +00:00
Chris Lattner
494d2b2caa
Add ssize_t for VC++
...
llvm-svn: 14018
2004-06-04 20:06:33 +00:00
Chris Lattner
0a5701bc3d
<io.h> provides read/write/open/...
...
llvm-svn: 14017
2004-06-04 20:05:35 +00:00
Chris Lattner
52d1b9e247
Visual C has something resembling a stat function, but it doesn't provide S_ISREG
...
llvm-svn: 14016
2004-06-04 20:03:06 +00:00
Chris Lattner
4db85f02c4
Make this work on VC++, pull the HAVE_ALLOCA_H case out instead of duplicating
...
it. This code can probably be dramatically simplified, as I suspect that the
pragma and other stuff is not needed with C++ compilers.
llvm-svn: 14015
2004-06-04 19:25:50 +00:00
Chris Lattner
646490b874
Add more needed typedefs
...
llvm-svn: 14014
2004-06-04 19:11:04 +00:00
Chris Lattner
bfe3149bf3
Add explicit casts to silence warnings. There is no need to use snprintf here.
...
llvm-svn: 14013
2004-06-04 19:10:30 +00:00
Chris Lattner
0dc2095242
Make this work with VC++
...
llvm-svn: 14012
2004-06-04 19:01:49 +00:00
Chris Lattner
11d0f8d30e
Fix a nasty bug that caused areAliases to always return false.
...
Bug fix courtesy of Anshu Dasgupta
llvm-svn: 14011
2004-06-04 17:03:11 +00:00
Misha Brukman
d608ac24d7
Clarify documentation and use correct doxygen comment form /// vs. // .
...
Thanks to Vladimir Prus for corrections.
llvm-svn: 14009
2004-06-04 14:51:25 +00:00
Chris Lattner
ee9db04c44
The prototype for ParseCommandLineOptions changed at some point, but this
...
was never updated. I guess GCC just ignores the prototype
llvm-svn: 13995
2004-06-03 22:07:26 +00:00
Chris Lattner
a079b13320
Adjust argument to match destination data type
...
llvm-svn: 13993
2004-06-03 21:14:56 +00:00
Chris Lattner
54280727f7
Don't use identifiers that start with an _
...
llvm-svn: 13992
2004-06-03 21:12:02 +00:00
Chris Lattner
00604592aa
Only use the non-standards-compliant std::distance on the compiler that is
...
buggy, not for all compilers that are not GCC 3
llvm-svn: 13990
2004-06-03 18:48:59 +00:00
Misha Brukman
0366f47359
Fix case of doxygen directive \p.
...
llvm-svn: 13985
2004-06-03 15:14:00 +00:00
Brian Gaeke
e3e792cefa
Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
...
only concrete implementation.
llvm-svn: 13977
2004-06-03 02:45:09 +00:00
Chris Lattner
2963942e84
Delete the V9 specific findOptimalStorageSize method, inlining it into all callers.
...
Substantially clean up all target implementations by having the OPTIONAL get*Info
methods return a pointer instead of a reference. This allows us to have default
implementations!
llvm-svn: 13950
2004-06-02 05:53:25 +00:00
Chris Lattner
4ce125fa2c
Add a new CopyFile function
...
llvm-svn: 13944
2004-06-02 00:51:20 +00:00
Chris Lattner
3b0942f64e
On win32, process.h provides some of the traditional stuff that unistd
...
provides. This seems like a relatively clean way to get it.
llvm-svn: 13936
2004-06-01 23:47:00 +00:00
Alkis Evlogimenos
4ca4d3e7c9
Add comparator useful for natural comparisons on collections with
...
pointers to objects.
llvm-svn: 13909
2004-05-30 07:45:09 +00:00
Chris Lattner
6548651756
Fix bizzare problems when you include Config/dlfcn and Config/windows.h in
...
the same xlation unit
llvm-svn: 13885
2004-05-28 21:07:11 +00:00
Chris Lattner
66a81809ff
Eliminate this form of SymbolTable::remove. It ignores the type argument
...
anyway. Add a form that takes a type_iterator for the C backend.
llvm-svn: 13873
2004-05-28 05:30:29 +00:00
Chris Lattner
a691850f26
Add a new function for the JIT
...
llvm-svn: 13869
2004-05-28 00:58:48 +00:00
Chris Lattner
77bd6789a8
Add a pair of functions to hide system specific details of mapping a file in for reading.
...
llvm-svn: 13863
2004-05-28 00:23:48 +00:00
Chris Lattner
93ec1684c5
An "autoconf wrapper" for the infamous windows.h file
...
llvm-svn: 13849
2004-05-27 20:51:22 +00:00
John Criswell
4b96ba79aa
Added a check for a new header file.
...
My apologies for changing config.h.in. Now you will all have to
re-configure.
llvm-svn: 13846
2004-05-27 20:40:39 +00:00
Chris Lattner
60be6e4483
Beta-test moving a header from include/Support into the llvm hierarchy:
...
it seems to work :)
llvm-svn: 13814
2004-05-27 05:42:33 +00:00
Chris Lattner
04dd3fe76d
Moved header from include/Support/ to include/llvm/System
...
llvm-svn: 13810
2004-05-27 05:30:18 +00:00
Alkis Evlogimenos
2c463a8a99
Add constructors that take a BasicBlock to append to, to the rest of
...
the llvm::Instruction hierarchy.
llvm-svn: 13800
2004-05-27 00:15:23 +00:00
Alkis Evlogimenos
bf27c54995
Inline trivial constructors.
...
llvm-svn: 13797
2004-05-26 22:07:18 +00:00
Reid Spencer
9a0451787d
Provide the correct patch for bug 345. The solution is to add a setTypeName
...
function to llvmAsmParser.y and then use it in the one place in the grammar
that needs it. Also had to make Type::setName public because setTypeName
needs it in order to retain compatibility with setValueName.
llvm-svn: 13795
2004-05-26 21:48:31 +00:00
Reid Spencer
e4f0ec88eb
Tighten up checking on SymbolTable interface to make it illegal to pass a
...
Type* where a Value* is expected.
llvm-svn: 13794
2004-05-26 21:46:18 +00:00
Alkis Evlogimenos
edff018f18
Refactor common initialization code in private init() functions.
...
This is a first step in supplying append to basic block constructors
for all instruction types.
llvm-svn: 13793
2004-05-26 21:41:09 +00:00
Misha Brukman
d6ce85d48c
Fix spelling of doxygen directive.
...
llvm-svn: 13791
2004-05-26 17:42:51 +00:00
Reid Spencer
dccf1747a1
Part of bug 122:
...
This change removes the BuildBytecodeInfo flag from the SlotCalculator
class. This flag was needed to distinguish between the Bytecode/Writer
and the AsmWriter. Now that AsmWriter doesn't use SlotCalculator, we can
remove this flag and simplify some code. Also, some minor name changes
to CachedWriter.h needed to be committed (missed in previous commit).
llvm-svn: 13785
2004-05-26 07:37:11 +00:00
Reid Spencer
8e6d7148c1
Make the constructor explicit so we can't implicitly convert bool to
...
SlotTable.
llvm-svn: 13766
2004-05-25 19:09:25 +00:00
Reid Spencer
92adcaf58c
Adding the initial implementation of the SlotTable class. This class is
...
the Abstract Data Type that holds slot number values and associates them
with Type* and Value*. The SlotTable is simply the holder of the slot
numbers and provides a controlled interface for building the table. It does
not enforce any particular idiom or functionality for manipulating the slot
numbers.
This is part of bug_122. The SlotCalculator and SlotMachine classes will
follow.
llvm-svn: 13764
2004-05-25 18:44:51 +00:00
Reid Spencer
122d536042
Removed unused, useless header file.
...
llvm-svn: 13757
2004-05-25 17:28:35 +00:00
Reid Spencer
495ac831bb
Give Type its own dump() method in preparation for Type != Value.
...
llvm-svn: 13746
2004-05-25 08:46:04 +00:00
Reid Spencer
987a052f3a
Completely rewrote the class. SymbolTable now separates Type* from Value* in preparation\
...
for making Type not derive from Value. There are now separate interfaces \
for looking up, finding, and inserting Types and Values. There are also \
three separate iterator interfaces, one for type planes, one for the types \
(type type plane), and one for values within a type plane. See the \
documentation in the Header file.
llvm-svn: 13745
2004-05-25 08:45:53 +00:00
Reid Spencer
33a58c0a10
Convert dump() method to call Type::dump() instead of Value::dump().
...
llvm-svn: 13744
2004-05-25 08:45:42 +00:00
Chris Lattner
0185a86e38
Add some helpers
...
llvm-svn: 13737
2004-05-25 05:32:13 +00:00
Tanya Lattner
7cf16701f7
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
llvm-svn: 13718
2004-05-24 07:14:35 +00:00
Tanya Lattner
aabaaec037
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
llvm-svn: 13716
2004-05-24 06:11:51 +00:00
Tanya Lattner
55477a5af1
Changed clone to be const.
...
Changed copy constructor to set parent, prev, and next pointers to null.
llvm-svn: 13706
2004-05-24 03:14:18 +00:00
Chris Lattner
a65df8b576
Add the new GC intrinsics
...
llvm-svn: 13686
2004-05-23 21:16:33 +00:00
Chris Lattner
f9d9fd95bd
Add a new prototype
...
llvm-svn: 13685
2004-05-23 21:16:13 +00:00
Chris Lattner
bdc2cf6dec
Several *major* changes to the AA interfaces:
...
1. Provide interfaces so that clients can update alias analyses to reflect
the changes made by the transformations.
2. Change how alias analysis implementations work overall. In particular,
now clients will automatically forward to chained AA implementations: they
don't have to remember to do it themselves.
llvm-svn: 13678
2004-05-23 21:12:38 +00:00
Chris Lattner
fe63a87a98
Add interfaces to update value numbering results
...
llvm-svn: 13677
2004-05-23 21:11:17 +00:00
Chris Lattner
0588bd19d2
Rename a method
...
llvm-svn: 13676
2004-05-23 21:10:58 +00:00
Tanya Lattner
e755fc6689
Fixed up my changes to add support for cloning Machine Instructions.
...
llvm-svn: 13665
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos
b8938f3fec
Remove virtual destructor from InstVisitor. This class should never be
...
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.
llvm-svn: 13664
2004-05-23 20:54:39 +00:00
Tanya Lattner
2848065a29
Adding support to clone MachineInstr
...
llvm-svn: 13661
2004-05-23 19:35:12 +00:00
Vikram S. Adve
35a7240e8a
Remember the set of leaders. Also compute on demand and cache the equiv
...
class for each leader. Finally, rename Elem2ECLeaderMap to Elem2LeaderMap
(most of the changed lines are only due to the latter).
llvm-svn: 13651
2004-05-23 08:05:14 +00:00
Vikram S. Adve
f4fed4aaa2
Add getCaller() method.
...
llvm-svn: 13650
2004-05-23 08:02:45 +00:00
Vikram S. Adve
893c53a559
Fix size/offset assertion to allow negative offsets and folded nodes.
...
llvm-svn: 13644
2004-05-23 07:34:53 +00:00
Brian Gaeke
f00f4ca846
Fix a typo in the head-of-file comment.
...
Rewrite the comments about the different versions of BuildMI, to
better emphasize their differences.
llvm-svn: 13642
2004-05-23 05:04:00 +00:00
Chris Lattner
628e839194
It's not clear to me whether the old version was correct C++ code, but in
...
any case it's not portable.
llvm-svn: 13621
2004-05-21 18:38:16 +00:00
Chris Lattner
068c3a1858
Starting an identifier with an _ is not legal C/C++ code.
...
llvm-svn: 13620
2004-05-21 18:37:13 +00:00
Alkis Evlogimenos
fd3b0971bf
Declare function defined in namespace llvm as gcc-3.4 doesn't accept a definition in a namespace of a non-declared function.
...
llvm-svn: 13602
2004-05-19 19:17:48 +00:00
Misha Brukman
eb2d4f5589
Minor aesthetic alignments; no functional changes.
...
llvm-svn: 13593
2004-05-17 22:28:21 +00:00
Misha Brukman
d32edbdc09
* Minor aesthetic alignment of iterator declarations
...
* Removed redundant function comments
llvm-svn: 13592
2004-05-17 22:25:12 +00:00
Brian Gaeke
6e9dd8d3cc
Define erase forwarding method on traces
...
llvm-svn: 13591
2004-05-17 21:17:21 +00:00
Brian Gaeke
b964085c4c
Fix a comment.
...
llvm-svn: 13518
2004-05-12 21:57:23 +00:00
Brian Gaeke
0315644cd7
Add a NextMBBNumber field w/ incrementing accessor method, for
...
function-level unique numbering of MBBs.
llvm-svn: 13513
2004-05-12 21:35:21 +00:00
Brian Gaeke
a0d9f814da
Add a Number field w/ accessor method, for function-level unique numbering
...
of MBBs.
Add non-const MachineBasicBlock::getParent() accessor method.
llvm-svn: 13512
2004-05-12 21:35:20 +00:00
Chris Lattner
337ea7709a
Add support for inserting all prototypes up-front
...
llvm-svn: 13431
2004-05-09 04:29:49 +00:00
Tanya Lattner
c69bb49340
Fixed up sched graph.
...
llvm-svn: 13428
2004-05-08 16:14:24 +00:00
Tanya Lattner
9b4ee61855
Registering the ModuloScheduling pass.
...
llvm-svn: 13427
2004-05-08 16:14:02 +00:00
Tanya Lattner
f97f4f8760
Changed CPUResource to allow access to max num users for a resource.
...
Also added ModuloScheduling as a friend.
llvm-svn: 13426
2004-05-08 16:13:26 +00:00
Chris Lattner
49980050b5
Add the enum corresponding to the source change I made earlier
...
llvm-svn: 13395
2004-05-07 02:27:32 +00:00
Alkis Evlogimenos
6345ab33dd
Fix for gcc3.4: invalid use of forward delacred class on line 93
...
llvm-svn: 13370
2004-05-06 02:07:42 +00:00
Brian Gaeke
dfe0d9af07
Move the stuff that fixes the size, orientation & fonts of graphs to
...
the debugging functions that call "dot". These fixed settings have
various problems: for example, the fixed size that is set in the graph
traits classes is not appropriate for turning the dot file into a PNG,
and if TrueType font rendering is being used, the 'Courier' TrueType font
may not be installed. It seems easy enough to specify these things on the
command line, anyhow.
llvm-svn: 13366
2004-05-05 06:10:06 +00:00
Brian Gaeke
2165451812
Apply simplification suggested by Chris: why assign() when operator = will do?
...
llvm-svn: 13364
2004-05-04 22:02:41 +00:00