Chris Lattner
4f986cebfd
Checkin initial support for automatic memory leak detection routines
...
llvm-svn: 3618
2002-09-08 18:51:16 +00:00
Chris Lattner
57c6a2123d
Checkin initial support for automatic memory leak detection routines
...
llvm-svn: 3617
2002-09-08 18:51:12 +00:00
Chris Lattner
30214c23aa
* 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
3ea7da13bb
New testcase that tests for array pointer analysis type stuff
...
llvm-svn: 3615
2002-09-08 18:08:36 +00:00
Chris Lattner
1567ab4059
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
439f5d5ef7
Fix broken test
...
llvm-svn: 3613
2002-09-07 22:48:30 +00:00
Chris Lattner
340182e523
Test commit
...
llvm-svn: 3612
2002-09-07 05:33:45 +00:00
Joel Stanley
ad37a452ce
*** empty log message ***
...
llvm-svn: 3611
2002-09-06 23:42:40 +00:00
Joel Stanley
ed8bfd97f5
Fixed typos and added </>/& tags where appropriate
...
llvm-svn: 3610
2002-09-06 23:05:12 +00:00
Chris Lattner
f9d779ae66
* 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
7bf5b1d17a
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
32b15d908d
Minor fix, test that web autoupdate works for people non-chris
...
llvm-svn: 3607
2002-09-06 22:09:21 +00:00
Joel Stanley
64cfdbb8a0
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
9ed7aef651
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
809375647d
* 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
88cb597cbc
Fix script due to new www/ top level directory
...
llvm-svn: 3603
2002-09-06 21:04:36 +00:00
Chris Lattner
b6aae148d2
Remove obsolete script
...
llvm-svn: 3602
2002-09-06 21:04:22 +00:00
Chris Lattner
43a240e346
* 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
6213ae0028
* 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
1871472e14
Initial checkin of Correlated Expression Elimination Pass
...
llvm-svn: 3599
2002-09-06 18:41:55 +00:00
Chris Lattner
c70222dc15
* 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
1ff9162127
Include stub for correlated expression elimination pass
...
llvm-svn: 3597
2002-09-06 18:39:29 +00:00
Chris Lattner
cb29fd5695
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
5caa28123b
Add new section
...
llvm-svn: 3595
2002-09-06 16:40:10 +00:00
Chris Lattner
58f6d727ce
Trivial change to test CVS checkout scripts
...
llvm-svn: 3594
2002-09-06 16:33:54 +00:00
Chris Lattner
dd9dab3fd7
Commit Vikram's changes for 426 class
...
llvm-svn: 3593
2002-09-06 16:26:13 +00:00
Chris Lattner
2127213cf1
Add information about the GlobalVariable and Module classes
...
llvm-svn: 3592
2002-09-06 14:50:55 +00:00
Chris Lattner
6a5364e46f
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
50dd6724a2
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
bcf337b0a6
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
c2cd504569
Check in the implementation of critical edge detection and splitting
...
llvm-svn: 3588
2002-09-06 02:35:34 +00:00
Chris Lattner
00b95cc534
- Rename BreakCriticalEdge to the slightly more standard SplitCriticalEdge
...
llvm-svn: 3587
2002-09-06 02:35:11 +00:00
Chris Lattner
579bb9b527
* Doxygenize API
...
* Add new functions for identifying and breaking critical edges
llvm-svn: 3586
2002-09-06 02:19:25 +00:00
Chris Lattner
3684289913
- 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
Chris Lattner
c0396b8b9e
Make getAnalysisToUpdate<AnalysisType>() public so that transformation APIs
...
can update analysis information.
llvm-svn: 3584
2002-09-06 02:14:47 +00:00
Chris Lattner
8a97c8ab10
* Remove notes at the top of the file
...
* Add information about how to debug a dynamically loaded pass.
llvm-svn: 3583
2002-09-06 02:02:58 +00:00
Vikram S. Adve
e6834a1ce5
Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
...
llvm-svn: 3582
2002-09-05 18:36:41 +00:00
Vikram S. Adve
f5d585d185
Add new function UltraSparcInstrInfo::CreateZeroExtensionInstructions.
...
llvm-svn: 3581
2002-09-05 18:34:31 +00:00
Vikram S. Adve
549489aa77
Bug fixes in casting between floats and ints smaller than 64 bits.
...
Add UltraSparcInstrInfo::CreateZeroExtensionInstructions to help with that.
llvm-svn: 3580
2002-09-05 18:33:59 +00:00
Vikram S. Adve
7bc45123d3
-- Use size of pointer element type instead of pointer type in array offsets!
...
-- A few bug fixes in casting between floats and ints.
-- Use SRL reg, 0 instead of AND reg, 0xffffffff to clear high 32 bits.
llvm-svn: 3579
2002-09-05 18:32:13 +00:00
Vikram S. Adve
93407286ed
-- Bug fix: use byte offsets not typed offsets in output assembly!
...
-- Add support for ConstantExpr constants (only cast and add operators so far)
-- Avoid generating label Bbss.bss, which sometimes came out twice.
llvm-svn: 3578
2002-09-05 18:28:10 +00:00
Chris Lattner
d4645902e6
Minor bug fix.
...
llvm-svn: 3577
2002-09-03 23:12:40 +00:00
Chris Lattner
07507a4ccb
Implement setcc for booleans. Fixes bug:
...
test/Regression/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll
llvm-svn: 3576
2002-09-03 20:09:49 +00:00
Chris Lattner
80c0964fc9
Make sure that setcc is implemented for bools.
...
llvm-svn: 3575
2002-09-03 20:09:23 +00:00
Chris Lattner
b0b412e66e
- Renamed Type::isIntegral() to Type::isInteger()
...
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
llvm-svn: 3574
2002-09-03 01:08:28 +00:00
Chris Lattner
bc6bdc2992
- Renamed Type::isIntegral() to Type::isInteger()
...
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
llvm-svn: 3573
2002-09-03 01:07:35 +00:00
Chris Lattner
2d42bbf5d0
- Renamed Type::isIntegral() to Type::isInteger()
...
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
SCVS: ----------------------------------------------------------------------
llvm-svn: 3572
2002-09-03 01:05:48 +00:00
Chris Lattner
7a558ad672
Implement operator== and != for ranges
...
llvm-svn: 3571
2002-09-03 01:05:31 +00:00
Chris Lattner
d490909a1c
Add distinction between integer and integral types.
...
llvm-svn: 3570
2002-09-03 00:52:52 +00:00
Chris Lattner
5d2bce8555
Fix bugs
...
llvm-svn: 3569
2002-09-02 20:49:27 +00:00