Joel Stanley
8f7c838ee2
- Made distinction between object->iterator and iterator->object
...
conversion more clear.
- Added content to "Iterating over Instructions in a Function"
section.
llvm-svn: 3634
2002-09-09 15:50:33 +00:00
Vikram S. Adve
1b1f2b2f5e
Silly bug fix: Machine code vector could be empty for a no-op cast instruction,
...
e.g., cast double to double.
llvm-svn: 3633
2002-09-09 14:54:21 +00:00
Chris Lattner
88cb1d97e8
Clean up the isa section stub. It should not be listed twice
...
llvm-svn: 3632
2002-09-09 05:53:21 +00:00
Chris Lattner
2b81a76156
Stub out another couple sections that it looks like 426's MP1 will really
...
need.
llvm-svn: 3631
2002-09-09 05:49:39 +00:00
Chris Lattner
332d3cd40e
Fix minor typo
...
llvm-svn: 3630
2002-09-09 03:48:46 +00:00
Chris Lattner
2e9fc50086
Testcase no longer applicable since shifts of pointers are no longer allowed
...
llvm-svn: 3629
2002-09-09 03:43:09 +00:00
Chris Lattner
349050906a
Eliminate multiply of pointer type
...
llvm-svn: 3628
2002-09-09 03:42:14 +00:00
Chris Lattner
4b8ce3aed2
Factor silly code duplication out
...
llvm-svn: 3627
2002-09-08 21:47:54 +00:00
Chris Lattner
c1de581f8e
Fix Bug: test/Regression/Transforms/InstCombine/2002-09-08-PointerShiftBug.ll
...
llvm-svn: 3626
2002-09-08 21:39:07 +00:00
Chris Lattner
71447ecb91
New testcase for a bug identified by Vikram
...
llvm-svn: 3625
2002-09-08 21:37:49 +00:00
Chris Lattner
22bcab6bd5
Make sure the leakdetector is told about temporary Phi nodes also, so it doesn't
...
erroneously report them as leaks
llvm-svn: 3624
2002-09-08 21:19:29 +00:00
Chris Lattner
1c2e1ebb5c
Inform the memory leak detector that TmpInstruction objects should not be
...
subject to memory leak checking.
llvm-svn: 3623
2002-09-08 21:08:43 +00:00
Chris Lattner
2550723883
Move TmpInstruction ctor to InstrSelection.cpp file
...
llvm-svn: 3622
2002-09-08 21:07:51 +00:00
Chris Lattner
ba447dd0a3
Enable "garbage detection" of LLVM objects. Check for leaks after running
...
every pass.
llvm-svn: 3621
2002-09-08 19:00:07 +00:00
Chris Lattner
3d630b954f
Enable "garbage detection" of LLVM objects. Now users should be obnoxious
...
warnings. If they accidentally leak LLVM Value's.
llvm-svn: 3620
2002-09-08 18:59:35 +00:00
Chris Lattner
c30029172a
Minor simplification
...
llvm-svn: 3619
2002-09-08 18:55:04 +00:00
Chris Lattner
24e420fd81
Checkin initial support for automatic memory leak detection routines
...
llvm-svn: 3618
2002-09-08 18:51:16 +00:00
Chris Lattner
15ac530194
Checkin initial support for automatic memory leak detection routines
...
llvm-svn: 3617
2002-09-08 18:51:12 +00:00
Chris Lattner
fb6bb789a1
* Add capability to recognize alias properties of the following common cases:
...
- A[c1] cannot alias A[c2] where constants c1 != c2
- A[i] cannot alias B[j] if A & B are provably different arrays
This should help out array based codes. For example, from bzip2 from spec,
3 additional loads can be GCSE'd, and _21_ additional loads can be LICMd due
to this change.
In a test example from the Spec GAP benchmark (vecffe.c), this change allows
_52_ additional loads to be GCSE'd and _224_ additional LICM'd loads.
Not bad for such a simple change. Other testcases show no change at all
because they just don't use arrays. Not too suprising there.
llvm-svn: 3616
2002-09-08 18:45:18 +00:00
Chris Lattner
d562a01cf2
New testcase that tests for array pointer analysis type stuff
...
llvm-svn: 3615
2002-09-08 18:08:36 +00:00
Chris Lattner
0333d57a31
Fix bug in testcase now that load-vn is not built into gcse
...
llvm-svn: 3614
2002-09-07 22:50:41 +00:00
Chris Lattner
67dd76548b
Fix broken test
...
llvm-svn: 3613
2002-09-07 22:48:30 +00:00
Chris Lattner
7387b3279b
Test commit
...
llvm-svn: 3612
2002-09-07 05:33:45 +00:00
Joel Stanley
f578d97be3
*** empty log message ***
...
llvm-svn: 3611
2002-09-06 23:42:40 +00:00
Joel Stanley
46379f314e
Fixed typos and added </>/& tags where appropriate
...
llvm-svn: 3610
2002-09-06 23:05:12 +00:00
Chris Lattner
b57608f62c
* Fix a couple more <>&'s
...
* Correct an extremely minor technical point about a deprecated interface.
llvm-svn: 3609
2002-09-06 22:51:10 +00:00
Chris Lattner
d1f99a6d49
Minor fixes html type fixes: & -> & > -> > etc.
...
Hopefully permission thing works this time.
llvm-svn: 3608
2002-09-06 22:12:58 +00:00
Chris Lattner
091759e549
Minor fix, test that web autoupdate works for people non-chris
...
llvm-svn: 3607
2002-09-06 22:09:21 +00:00
Joel Stanley
e7a9343ccf
Added subsections to 'Basic Inspection and Traversal Routines':
...
* Iterating over the BasicBlocks in a Function
* Iterating over the Instructions in a BasicBlock
* Turning an iterator into a class pointer
* Finding call sites: a more complex example
llvm-svn: 3606
2002-09-06 21:55:13 +00:00
Chris Lattner
c1e61532a0
Move code out of header files into .cpp files to make future changes easier
...
llvm-svn: 3605
2002-09-06 21:33:15 +00:00
Chris Lattner
85cf7de5b9
* Clean up some comments
...
* Move code out of header file to .cpp files, to make future changes easier
* Add arguments to classes so that they can be automatically inserted into their
parent structure upon creation.
llvm-svn: 3604
2002-09-06 21:31:57 +00:00
Chris Lattner
c99b571ab1
Fix script due to new www/ top level directory
...
llvm-svn: 3603
2002-09-06 21:04:36 +00:00
Chris Lattner
8a10c9cef2
Remove obsolete script
...
llvm-svn: 3602
2002-09-06 21:04:22 +00:00
Chris Lattner
1de93e0830
* Clean up indentation a bit
...
* Fix broken comments (copy and pasto)
* Remove irrelevant comment
* Add extra argument to function that causes it to get inserted into a module
automatically.
llvm-svn: 3601
2002-09-06 20:47:31 +00:00
Chris Lattner
01f30bf2a0
* Remove extraneous #includes
...
* Add extra argument to Function ctor to allow automatic insertion into module
llvm-svn: 3600
2002-09-06 20:46:32 +00:00
Chris Lattner
bd03f18e04
Initial checkin of Correlated Expression Elimination Pass
...
llvm-svn: 3599
2002-09-06 18:41:55 +00:00
Chris Lattner
29714643f9
* No longer need to run die after instcombine
...
* Run new correlated expressions pass
* Simplify the CFG (removing dead blocks, merging blocks, eliminating branches
on constant booleans, etc) after correlated exprs pass.
llvm-svn: 3598
2002-09-06 18:41:33 +00:00
Chris Lattner
1cf6da5815
Include stub for correlated expression elimination pass
...
llvm-svn: 3597
2002-09-06 18:39:29 +00:00
Chris Lattner
bd29e0b165
Add skeleton to the section contents so that Joel knows what to fill in
...
llvm-svn: 3596
2002-09-06 18:31:18 +00:00
Chris Lattner
34a9998594
Add new section
...
llvm-svn: 3595
2002-09-06 16:40:10 +00:00
Chris Lattner
72465626c3
Trivial change to test CVS checkout scripts
...
llvm-svn: 3594
2002-09-06 16:33:54 +00:00
Chris Lattner
37485b356c
Commit Vikram's changes for 426 class
...
llvm-svn: 3593
2002-09-06 16:26:13 +00:00
Chris Lattner
826e67c7a9
Add information about the GlobalVariable and Module classes
...
llvm-svn: 3592
2002-09-06 14:50:55 +00:00
Chris Lattner
bf38fcf5ee
Fix file header to be accurate, instead of something I just copied and pasted.
...
llvm-svn: 3591
2002-09-06 03:59:56 +00:00
Chris Lattner
78a3ebaa18
Fix bug with critical edge splitting code where it wouldn't update PHI nodes
...
in the old destination block to indicate that the value flows from the new
edge splitting block, not from the original multi-successor block.
llvm-svn: 3590
2002-09-06 03:51:45 +00:00
Chris Lattner
9ce40b8ed7
Initial checkin of the first part of the Programmer's Manual
...
There is still much to be done, but it's a good start.
llvm-svn: 3589
2002-09-06 02:50:58 +00:00
Chris Lattner
c3c754062f
Check in the implementation of critical edge detection and splitting
...
llvm-svn: 3588
2002-09-06 02:35:34 +00:00
Chris Lattner
c8554b6352
- Rename BreakCriticalEdge to the slightly more standard SplitCriticalEdge
...
llvm-svn: 3587
2002-09-06 02:35:11 +00:00
Chris Lattner
66c5dd4050
* Doxygenize API
...
* Add new functions for identifying and breaking critical edges
llvm-svn: 3586
2002-09-06 02:19:25 +00:00
Chris Lattner
d8e9501bf5
- Doxygenize comments
...
- Add new method to dominatorset: properlyDominates
- Add synonmys for operator[] to classes so that pointers to dominator
information can be used more easily.
- Add API's to update dominator information
llvm-svn: 3585
2002-09-06 02:16:27 +00:00