Chris Lattner
98a6e485b0
* isFirstClassType is now provided by the Type class
...
* Add ReplaceInstWithInst
llvm-svn: 1468
2001-12-14 16:39:22 +00:00
Chris Lattner
553ec6b72f
* add ReplaceInstWithInst
...
* Add support for pointer indexing
* Fix minor bugs that are majorly annoying
llvm-svn: 1467
2001-12-14 16:38:59 +00:00
Chris Lattner
9e6ccdd858
Remove unsized array support
...
llvm-svn: 1466
2001-12-14 16:38:04 +00:00
Chris Lattner
cd134c6891
* Support pointer indexing
...
* Unsized arrays are a thing of the past, remove DoInsertArrayCast family
* Remove cases were we would get into infinite loops because we would insert a cast
which would then be removed, inserting a different cast, ad infinitum...
* Remove some code that should be redundant with ExprTypeConvert code
llvm-svn: 1465
2001-12-14 16:37:52 +00:00
Chris Lattner
1dc9744cc7
Many many changes and bugfixes:
...
* Remove support for unsized arrays
* Add pointer indexing support
* Allow more arbitrary malloc type changes (which are too generous currently
and should be fixed in the future)
* Allow more and better conversions
llvm-svn: 1464
2001-12-14 16:35:53 +00:00
Chris Lattner
315df5b058
The proper prototype for malloc returns a pointer, not an unsized array
...
llvm-svn: 1463
2001-12-14 16:32:20 +00:00
Chris Lattner
831b4ac558
Allow pointer indexing
...
llvm-svn: 1462
2001-12-14 16:31:26 +00:00
Chris Lattner
43c92f9dbd
Remove unsized array support
...
llvm-svn: 1461
2001-12-14 16:30:51 +00:00
Chris Lattner
8ab6f31913
Add pointer indexing support
...
llvm-svn: 1460
2001-12-14 16:30:09 +00:00
Chris Lattner
2cd50171de
Don't waste as much horizontal space on #uses flag when printing
...
llvm-svn: 1459
2001-12-14 16:29:12 +00:00
Chris Lattner
a1ba456c49
* Fix cases where we were calling Type->getName() instead of Type->getDescription()
...
* Remove unsized array support
* Malloc/alloca do not require that the first element be an unsized array to be an
array allocation
llvm-svn: 1458
2001-12-14 16:28:42 +00:00
Chris Lattner
6b2dc21b63
* Refactor trace values to work as a proper pass. Before it used to add
...
methods while the pass was running which was a no no. Now it adds the
printf method at pass initialization
* Revamp code to use printf calls instead of the old style print_<type>
calls.
* Simplify code
llvm-svn: 1457
2001-12-14 16:26:05 +00:00
Chris Lattner
df8324304d
Refactor trace values to work as a proper pass. Before it used to add
...
methods while the pass was running which was a no no. Now it adds the
printf method at pass initialization
llvm-svn: 1456
2001-12-14 16:23:53 +00:00
Chris Lattner
44cede05ee
* Remove support for unsized arrays.
...
* Free instruction does not accept a name
* MemAccessInst can now be used with cast/isa/dyn_cast/...
llvm-svn: 1455
2001-12-14 16:22:56 +00:00
Chris Lattner
b2e8f44166
PointerType and ArrayType now subclass Sequential type, which contains addressability logic for indexing. Unsized arrays have been removed.
...
llvm-svn: 1454
2001-12-14 16:20:21 +00:00
Ruchira Sasanka
58691e18af
added a section on how to modify live variable code to use LLVM instructions
...
instead of machine instructions.
llvm-svn: 1451
2001-12-13 21:25:46 +00:00
Chris Lattner
e5172702f4
Not just arrays are unsized
...
llvm-svn: 1450
2001-12-13 00:46:11 +00:00
Chris Lattner
488f202019
Assertion could never fail because another one would in it's place. :)
...
llvm-svn: 1449
2001-12-13 00:45:40 +00:00
Chris Lattner
44a0bf36c6
Some programs are using BB's as values, until we resolve this. Disable the assert
...
llvm-svn: 1448
2001-12-13 00:45:06 +00:00
Chris Lattner
eed30bc7da
Build runtime library with local GCCAS
...
llvm-svn: 1447
2001-12-13 00:44:23 +00:00
Chris Lattner
c513c2ef29
Implement strlen strdup strcmp
...
llvm-svn: 1446
2001-12-13 00:44:09 +00:00
Chris Lattner
472385127d
Implement sprintf
...
llvm-svn: 1445
2001-12-13 00:43:47 +00:00
Chris Lattner
9a7dd44f2c
Swap operands now preserves the semantics of the binary operator by changing
...
the opcode of the instruction if possible.
llvm-svn: 1444
2001-12-13 00:43:03 +00:00
Chris Lattner
9d4207dbaf
Add debugging to make a more useful message if a value gets constructed with a null type
...
llvm-svn: 1443
2001-12-13 00:41:27 +00:00
Chris Lattner
9cad2a10b4
Implement some nice functions useful for looking at types
...
llvm-svn: 1442
2001-12-13 00:40:16 +00:00
Chris Lattner
fee8f19bbe
Implement proper iterator tags
...
llvm-svn: 1441
2001-12-13 00:39:49 +00:00
Chris Lattner
b2e2570645
Subclasses can change the opcode of an instruction
...
llvm-svn: 1440
2001-12-13 00:39:33 +00:00
Chris Lattner
c717d96290
Constants KNOW they are of a derived type
...
llvm-svn: 1439
2001-12-13 00:38:57 +00:00
Vikram S. Adve
bd94ac530c
Added TRACEM option. Use -g when building native code for tests.
...
llvm-svn: 1438
2001-12-12 15:19:55 +00:00
Ruchira Sasanka
d77a05ef95
Documentation (draft) for reg alloc
...
llvm-svn: 1437
2001-12-09 20:21:49 +00:00
Chris Lattner
7a41b0f4b0
Use _LOCAL_ gccas to build instead of Chris's
...
llvm-svn: 1436
2001-12-09 16:55:43 +00:00
Ruchira Sasanka
05aed40cfa
Added more comments. Added code to destructor in MethodLiveVarInfo to delete
...
LiveVarSet caches.
llvm-svn: 1435
2001-12-08 21:05:27 +00:00
Ruchira Sasanka
9d26f00cfb
Added comments are more documentation info
...
llvm-svn: 1434
2001-12-08 21:04:22 +00:00
Chris Lattner
b0b2af33c7
Tell the user if a file is corrupt or not... not that the file cannot be
...
found.
llvm-svn: 1433
2001-12-08 20:31:32 +00:00
Chris Lattner
d76171a512
Implement more general conversions for getelementptr instructions
...
llvm-svn: 1432
2001-12-07 04:40:30 +00:00
Chris Lattner
9ae054fd1a
Remove code that is superceeded by code in ExprTypeConvert.cpp
...
llvm-svn: 1431
2001-12-07 04:39:01 +00:00
Chris Lattner
e3b8fb7426
Don't insert scales of 1 :)
...
llvm-svn: 1430
2001-12-07 04:26:02 +00:00
Chris Lattner
6d97b3a7be
Run DCE before cleanupGCCoutput which will cause some dead types (like FILE) to be removed
...
llvm-svn: 1429
2001-12-07 04:25:36 +00:00
Chris Lattner
9421444244
Do not pessimize users of this function. Fix logic.
...
llvm-svn: 1428
2001-12-06 18:06:37 +00:00
Chris Lattner
e3b57cfe8f
We can do cast-add elimination even on casts that reinterpret
...
llvm-svn: 1427
2001-12-06 18:06:13 +00:00
Chris Lattner
e23b6591f9
Fix bug that caused invalid transformations to be applied
...
llvm-svn: 1426
2001-12-06 18:05:55 +00:00
Chris Lattner
d89106f96b
Actually return true when a change has been made
...
llvm-svn: 1425
2001-12-05 19:41:33 +00:00
Chris Lattner
8ca0f9efd6
Handle more complex array indexing expressions
...
llvm-svn: 1424
2001-12-05 19:41:16 +00:00
Chris Lattner
662a17ba5f
Fix pessimizations on sized arrays
...
llvm-svn: 1423
2001-12-05 19:40:32 +00:00
Chris Lattner
57e64f9985
Fix a few bugs. Fix pessimization handling sized arrays
...
llvm-svn: 1422
2001-12-05 19:39:15 +00:00
Chris Lattner
fb6a288211
"fix" problems processing floating point expressions
...
llvm-svn: 1421
2001-12-05 19:38:29 +00:00
Chris Lattner
d1a8ed7d8c
Hrm, don't do debugging output when debugging is off. :(
...
llvm-svn: 1420
2001-12-05 06:40:17 +00:00
Chris Lattner
447d8fd004
Remove unnecesary namespace impot
...
llvm-svn: 1419
2001-12-05 06:35:30 +00:00
Chris Lattner
b1aa7e795d
Simplify induction variables before 'raising' the representation
...
llvm-svn: 1418
2001-12-05 06:34:58 +00:00
Chris Lattner
05fb7c607f
Fixes to type conversion stuff to match induction variables more frequently
...
llvm-svn: 1417
2001-12-05 06:34:00 +00:00