1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

3496 Commits

Author SHA1 Message Date
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 &lt/&gt/&amp 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: & -> &amp; > -> &gt; 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
Chris Lattner
205af87264 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
8cb7abfc07 * 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
055207a945 Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
llvm-svn: 3582
2002-09-05 18:36:41 +00:00
Vikram S. Adve
58e8292647 Add new function UltraSparcInstrInfo::CreateZeroExtensionInstructions.
llvm-svn: 3581
2002-09-05 18:34:31 +00:00
Vikram S. Adve
e9990478f0 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
94b41af2f3 -- 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
e7aa2bf095 -- 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
fa03431b04 Minor bug fix.
llvm-svn: 3577
2002-09-03 23:12:40 +00:00
Chris Lattner
c78ae565ef 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
4470e33494 Make sure that setcc is implemented for bools.
llvm-svn: 3575
2002-09-03 20:09:23 +00:00
Chris Lattner
3ce5b343c5 - 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
904f214a13 - 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
e4bba98678 - 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
9fc380645d Implement operator== and != for ranges
llvm-svn: 3571
2002-09-03 01:05:31 +00:00
Chris Lattner
3f5cd179cb Add distinction between integer and integral types.
llvm-svn: 3570
2002-09-03 00:52:52 +00:00