Chris Lattner
4ad8720f91
Add support for the unwind instruction
...
llvm-svn: 8408
2003-09-08 18:54:55 +00:00
Chris Lattner
049cadf854
Read volatile loads/stores
...
llvm-svn: 8401
2003-09-08 18:20:14 +00:00
Chris Lattner
cd6bbd3823
Remove a gross hack that was there to support bytecode files that are over a year old.
...
If you still have these suckers laying around, you have GOT to rebuild them. geeze.
llvm-svn: 8395
2003-09-08 18:04:16 +00:00
Chris Lattner
bc7004d26a
Add support for writing volatile load/stores
...
llvm-svn: 8394
2003-09-08 17:58:37 +00:00
Chris Lattner
a70297a209
Fix reading of invoke instrs
...
llvm-svn: 8365
2003-09-05 18:25:29 +00:00
Chris Lattner
1bb427b0a7
Whoa, we were misreading invoke instructions "normal" destinations quite badly.
...
llvm-svn: 8363
2003-09-05 05:27:58 +00:00
Chris Lattner
4caa92eca5
Non-functional change
...
llvm-svn: 8352
2003-09-04 23:47:07 +00:00
Chris Lattner
0b78090518
Avoid printing meaningless numbers
...
llvm-svn: 8342
2003-09-03 20:25:27 +00:00
Chris Lattner
4e722bde53
Follow the pattern of all other atu's
...
llvm-svn: 8340
2003-09-03 16:01:54 +00:00
Chris Lattner
03980a2b30
Allow modules to have 'any' pointer size and endianness. Luckily, we had
...
some space for extra flags, so we don't need to bump the revision number.
llvm-svn: 8118
2003-08-24 13:47:36 +00:00
Chris Lattner
f35db86ae4
Rename SwitchInst::dest_push_back -> addCase
...
llvm-svn: 8089
2003-08-23 23:14:52 +00:00
Misha Brukman
56f7db4178
Spell `necessary' correctly.
...
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
1351c304dc
Remove redundant const qualifiers from cast<> expressions
...
llvm-svn: 7253
2003-07-23 15:30:06 +00:00
Chris Lattner
63ea851f94
Remove explicit const qualifiers
...
llvm-svn: 7245
2003-07-23 14:54:33 +00:00
Misha Brukman
5de3e14206
The word separate' only has one
e'.
...
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
John Criswell
258dfc0319
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
75e1e892a6
Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
...
llvm-svn: 6774
2003-06-18 19:22:36 +00:00
Chris Lattner
23450e834e
Fix bug: Assembler/2003-06-17-InvokeDisassemble.llx
...
"yes, invoke instructions can have just three arguments"
llvm-svn: 6736
2003-06-17 13:31:10 +00:00
Chris Lattner
0b18a0d886
Fix bug: Assembler/2003-05-03-BytecodeReaderProblem.llx
...
by emitting the type planes before any constants (which could be constant
expressions involving undefined types!)
llvm-svn: 6285
2003-05-22 18:35:38 +00:00
Chris Lattner
f354fef44b
Do not assert fail or crash when a bytecode parse fails!
...
llvm-svn: 6284
2003-05-22 18:26:48 +00:00
Chris Lattner
bb4bd699e0
Eliminate the uchar typedef, use unsigned char explicitly
...
llvm-svn: 6283
2003-05-22 18:08:30 +00:00
Chris Lattner
a8490da0eb
Fix Bug: Assembler/2003-05-12-MinIntProblem.llx
...
llvm-svn: 6123
2003-05-12 15:13:52 +00:00
Chris Lattner
e1faff42f4
Add support for the new va_arg instruction
...
llvm-svn: 6029
2003-05-08 02:44:12 +00:00
Misha Brukman
c881f68151
Fixed 'prevalent'.
...
llvm-svn: 5860
2003-04-23 02:59:05 +00:00
Chris Lattner
08a79481cd
Add support for reading and writing pointersize/endianness to and from bytecode
...
llvm-svn: 5839
2003-04-22 18:15:10 +00:00
Chris Lattner
3327cb03d4
Preserve module source information in the ModuleID
...
llvm-svn: 5836
2003-04-22 18:02:52 +00:00
Chris Lattner
c1da4513e0
Initial support for reading standard .a files
...
llvm-svn: 5820
2003-04-19 21:45:34 +00:00
Chris Lattner
8b1c27945b
Add support for reading unaligned bytecode buffers
...
llvm-svn: 5819
2003-04-19 21:45:17 +00:00
Chris Lattner
8453f87c9c
Fix a big bad bug I checked in yesterday :(
...
llvm-svn: 5807
2003-04-18 04:11:56 +00:00
Chris Lattner
545bebf00c
Add support to the bytecode reader/writer for the new linkage types
...
llvm-svn: 5790
2003-04-16 21:16:05 +00:00
Chris Lattner
fa4f750f3e
Add new linkage types to support a real frontend
...
llvm-svn: 5786
2003-04-16 20:28:45 +00:00
Chris Lattner
839f5a9077
Changes to the V2 bytecode format:
...
- Null values are implicitly encoded instead of explicitly, this makes
things more compact!
- More compactly represent ConstantPointerRefs
- Bytecode files are represented as:
Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab
instead of
Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab
which makes a lot of things simpler.
Writer changes:
- We now explictly encode versioning information in the bytecode files.
- This allows new code to read bytecode files produced by old code, but
new bytecode files can have enhancements such as the above. Although this
makes the reader a bit more complex (having to deal with old formats), the
writer only needs to be able to produce the most recent version.
llvm-svn: 5749
2003-03-19 20:56:46 +00:00
Chris Lattner
dd194d3844
* Bug fixes:
...
- Fix problems where the constant table would not get updated when
resolving constants causes other constants to change.
Changes to the V2 bytecode format
- Null values are implicitly encoded instead of explicitly, this makes
things more compact!
- More compactly represent ConstantPointerRefs
- Bytecode files are represented as:
Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab
instead of
Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab
which makes a lot of things simpler.
Changes to the reader:
- Function loading code is much simpler. We now no longer make function
PlaceHolderHelper objects to be replaced with real functions.
llvm-svn: 5748
2003-03-19 20:54:26 +00:00
Chris Lattner
1bb2b2b8c9
Infrastructure for more compact bytecode files and REAL support for versioning
...
llvm-svn: 5716
2003-03-06 17:55:45 +00:00
Chris Lattner
70b5574318
s/Method/Function in variable and method names
...
llvm-svn: 5715
2003-03-06 17:18:14 +00:00
Chris Lattner
66c7c883d3
Continue simplifying error handling, s/method/function
...
llvm-svn: 5714
2003-03-06 17:15:19 +00:00
Chris Lattner
5210697f31
Cleanup error handling constructs
...
llvm-svn: 5713
2003-03-06 17:03:28 +00:00
Chris Lattner
84c6e94784
Pull common code out
...
llvm-svn: 5712
2003-03-06 16:50:32 +00:00
Chris Lattner
f9b71aab86
Use the std namespace explicitly
...
llvm-svn: 5708
2003-03-06 16:32:25 +00:00
Chris Lattner
5282326985
Don't keep track of # big vs #small instructions seperately
...
llvm-svn: 5385
2003-01-21 20:13:49 +00:00
Chris Lattner
b5027095e5
- Eliminated the deferred symbol table stuff in Module & Function, it really
...
wasn't an optimization and it was causing lots of bugs.
llvm-svn: 4779
2002-11-20 18:36:02 +00:00
Chris Lattner
dd74dc44b6
- Fix a really nasty bug in the bytecode reader that caused it to fail
...
reading bytecode files with > 255 types in them, but only when optimization
is enabled. This was caused by GCC shrinking an enum to a single byte
instead of a whole word.
llvm-svn: 4266
2002-10-23 00:51:54 +00:00
Chris Lattner
a2c2d8af59
Wow, for some reason, when reading bytecode from stdin, we were only reading
...
4 bytes at a time. Change this to read blocks of 4k
llvm-svn: 4265
2002-10-22 23:55:24 +00:00
Chris Lattner
6ee0d4ed15
Clean up code a bit, no functionality changes.
...
llvm-svn: 4162
2002-10-14 03:34:17 +00:00
Chris Lattner
33988dc76d
There is no way to guarantee that constants are not forward referenced.
...
Handle forward referenced constants in a general way. This fixes bug:
Assembler/2002-10-13-ConstantEncodingProblem.llx and allows the SPEC
197.parser benchmark to be built
llvm-svn: 4161
2002-10-14 03:33:02 +00:00
Chris Lattner
82f54dca49
- Change Function's so that their argument list is populated when they are
...
constructed. Before, external functions would have an empty argument list,
now a Function ALWAYS has a populated argument list.
llvm-svn: 4149
2002-10-13 20:57:00 +00:00
Chris Lattner
fdf2ca9468
- Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to
...
reflect the fact that it's a range being defined.
llvm-svn: 4147
2002-10-13 19:39:16 +00:00
Chris Lattner
7cf9f6f4b1
Updates to work with recent Statistic's changes:
...
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
* Updated ProgrammersManual with new semantics.
llvm-svn: 4002
2002-10-01 22:38:41 +00:00
Anand Shukla
da24f223d3
Changed uchar to unsigned char in function ParseBytecodeBuffer, because seemingly it affects opt in uncertain ways :)
...
llvm-svn: 3866
2002-09-20 20:57:54 +00:00
Misha Brukman
ab67f309cd
On the quest of eliminating unnecessary includes.
...
llvm-svn: 3715
2002-09-14 02:18:57 +00:00