Commit Graph

1328 Commits

Author SHA1 Message Date
Chris Lattner 34dfe56c1a Implement writer support for Loops, Induction Variables, and CallGraphs
llvm-svn: 1372
2001-11-26 18:53:29 +00:00
Chris Lattner b4a7eb10fa Make Mul work right
Make sub work right

llvm-svn: 1371
2001-11-26 18:53:07 +00:00
Chris Lattner a88403bf31 Fix a bad assertion to be correct . The root basic block can be used by PHI nodes.
llvm-svn: 1370
2001-11-26 18:52:02 +00:00
Chris Lattner 03946cd9b6 Implement a new entry node that has edges to all external methods in the module
llvm-svn: 1369
2001-11-26 18:51:25 +00:00
Chris Lattner a5f8480ba2 Remove unused method
llvm-svn: 1368
2001-11-26 18:50:26 +00:00
Chris Lattner 53710e74cf Expose constant prop of an instruction
llvm-svn: 1367
2001-11-26 18:50:11 +00:00
Chris Lattner 0393197f32 Fix field initialization order problem
llvm-svn: 1366
2001-11-26 18:49:54 +00:00
Chris Lattner a57cea2e2e Allow output of manipulators for GCC 2.96 compatibility
llvm-svn: 1365
2001-11-26 18:49:33 +00:00
Chris Lattner d9d9039e13 Add writer support for call graph nodes and loops and induction variables
llvm-svn: 1364
2001-11-26 18:47:46 +00:00
Chris Lattner e409c460bf Implement an entry node for the call graph
llvm-svn: 1363
2001-11-26 18:47:11 +00:00
Chris Lattner 44c3b4f841 Implement "internal vs external linkage" which corresponds to the C notion of static
llvm-svn: 1362
2001-11-26 18:46:40 +00:00
Chris Lattner 876932c5b3 Implement stuff, remove todos
llvm-svn: 1361
2001-11-26 18:42:55 +00:00
Chris Lattner bd422e6686 Implement DCE of global values
llvm-svn: 1360
2001-11-26 18:42:17 +00:00
Chris Lattner 6de9942b92 * Implement dominator based loop identification
* Implement cleaner induction variable identification

llvm-svn: 1359
2001-11-26 18:41:20 +00:00
Chris Lattner bf3bfebb7b Change swapstructs itf
Add nasty hack to be removed later

llvm-svn: 1356
2001-11-26 18:18:53 +00:00
Chris Lattner 5ba757369c * Implement array indexing in lli
* Add external atoi method as well as floor, and srand

llvm-svn: 1355
2001-11-26 18:18:18 +00:00
Chris Lattner 638969c6de Run constprop before -raise
llvm-svn: 1354
2001-11-26 18:16:07 +00:00
Chris Lattner 792dc9978e Test array indexing
llvm-svn: 1349
2001-11-26 17:02:56 +00:00
Chris Lattner 3b30570f9a Support Array Indexing
llvm-svn: 1348
2001-11-26 17:02:05 +00:00
Chris Lattner 1c5e8f5d58 Implement: isLosslesslyConvertableTo and new CompositeType base class
llvm-svn: 1347
2001-11-26 17:01:47 +00:00
Chris Lattner f87b579b9d If a name conflict occurs when inserting a value, rename it.
llvm-svn: 1346
2001-11-26 17:01:18 +00:00
Chris Lattner 330dc57305 Support array indexing
llvm-svn: 1345
2001-11-26 17:00:43 +00:00
Chris Lattner c43c461ca6 Support Composite's, not just structs
llvm-svn: 1344
2001-11-26 17:00:13 +00:00
Chris Lattner 03386ec88b losslessCastableTypes is moved to Type class
getStructOffsetType supports array indexing

llvm-svn: 1343
2001-11-26 16:59:47 +00:00
Chris Lattner 2cc6d418fa Support selectable structure transformations
llvm-svn: 1342
2001-11-26 16:59:10 +00:00
Chris Lattner f80013a917 Support mutation of array indexing
llvm-svn: 1341
2001-11-26 16:58:33 +00:00
Chris Lattner f9378e7d2d Clean up code, implement array indexing stuff
llvm-svn: 1340
2001-11-26 16:58:14 +00:00
Chris Lattner 1df615c834 Implement array indexing reverse engineering
llvm-svn: 1339
2001-11-26 16:57:31 +00:00
Chris Lattner 63b52693c8 The old getIndices has been deprecated, because it no longer works. It now
is named getIndicesBROKEN() and shall be removed when the codebase is updated
to not call it

llvm-svn: 1338
2001-11-26 16:56:19 +00:00
Chris Lattner 20faede952 Implement array indexing
llvm-svn: 1337
2001-11-26 16:54:55 +00:00
Chris Lattner 476148f95a Implement array indexing with uints
llvm-svn: 1336
2001-11-26 16:54:11 +00:00
Chris Lattner 0ae45bd3f4 * Implement more powerful expr analysis of cast instructions
llvm-svn: 1335
2001-11-26 16:53:50 +00:00
Chris Lattner e1531446aa Rearrange code
llvm-svn: 1334
2001-11-26 16:49:49 +00:00
Chris Lattner fcda44a75d Allow array indexing
llvm-svn: 1333
2001-11-26 16:49:12 +00:00
Chris Lattner 678b377fae Be more const correct
llvm-svn: 1332
2001-11-26 16:48:56 +00:00
Chris Lattner f12d124f42 * Remove the indexVec stuff which gets out of sync with the operands of the
instruction.
* Change the indices to take a vector of Value's instead of ConstPoolVal's
  for array indexing
* Add new idx_ iterator support for iterating over indices

llvm-svn: 1331
2001-11-26 16:48:41 +00:00
Chris Lattner 7e26de46a3 New Method isLosslesslyConvertableTo
llvm-svn: 1330
2001-11-26 16:47:10 +00:00
Chris Lattner ee35c37a0a Add new CompositeType shared baseclass of ArrayType and StructType
llvm-svn: 1329
2001-11-26 16:46:45 +00:00
Chris Lattner 70af97db27 Add casts
llvm-svn: 1328
2001-11-26 16:46:09 +00:00
Ruchira Sasanka edbf52c7f9 commented out popAllTempValues since it leads to a bug - see code
llvm-svn: 1327
2001-11-15 22:03:04 +00:00
Ruchira Sasanka 7dfa1650a2 Commented some popTempArg.. since it leads to a bug
llvm-svn: 1326
2001-11-15 22:02:06 +00:00
Ruchira Sasanka ec62f24009 Added naming to inserted phi copy values - for easy debugging
llvm-svn: 1325
2001-11-15 20:46:40 +00:00
Ruchira Sasanka c97ccc5cb5 changed since names of some methods in PhyRegAlloc changed
llvm-svn: 1324
2001-11-15 20:25:07 +00:00
Ruchira Sasanka 9066899a78 Fixed a bug in setReLRegsUsedByMI
llvm-svn: 1323
2001-11-15 20:23:19 +00:00
Ruchira Sasanka dec9bfd554 Changed some names of methods, added const etc.
llvm-svn: 1322
2001-11-15 20:22:37 +00:00
Chris Lattner f9aea74156 Fix protection probs
llvm-svn: 1321
2001-11-15 15:24:31 +00:00
Vikram S. Adve f8cb028326 Modify method AllocateLocalVar to take size argument.
llvm-svn: 1320
2001-11-15 15:23:02 +00:00
Vikram S. Adve 5c8f573bbf Fix use of AllocateLocalVar for alloca instruction!
llvm-svn: 1319
2001-11-15 15:22:39 +00:00
Vikram S. Adve fbb8a64749 Modify AllocateLocalVar method to take a size argument.
llvm-svn: 1318
2001-11-15 15:22:26 +00:00
Ruchira Sasanka a514745a96 fixed setUsedRegAtMI
llvm-svn: 1317
2001-11-15 15:00:53 +00:00