Commit Graph

3531 Commits

Author SHA1 Message Date
Chris Lattner
2aa831120c Add capability to insert an instruction into a basic block immediately after
it is created, as part of the ctor call.

Eliminate the GenericBinaryInst class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3653 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:45:53 +00:00
Chris Lattner
6e65cda0ec Remove extra #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3652 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:43:30 +00:00
Chris Lattner
3a8b0f00e6 Implement support for inserting an instruction into a basic block right when it
is created.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3651 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:36:11 +00:00
Chris Lattner
74493a4c6e Clean up indvar printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3650 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:35:39 +00:00
Chris Lattner
a690c590dc Eliminate the GenericBinaryInst class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3649 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:35:23 +00:00
Chris Lattner
2e9fe0ad09 * Eliminate GenericBinaryInst class
* Allow specifying where to insert a newly created SetCondInst


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3648 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:34:41 +00:00
Chris Lattner
226719e3ea Eliminate the GenericBinaryInst class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3647 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:27:31 +00:00
Chris Lattner
b163f1c3e5 Eliminate setType method
Now the only way to set the type of a value is in the ctor for an object


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3646 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:26:27 +00:00
Chris Lattner
6b121f1c43 Finish up the isa/cast/dyn_cast section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3645 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:20:46 +00:00
Chris Lattner
5e76140536 * Clean up code a little bit
* Fix bug: test/Regression/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3644 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 05:24:05 +00:00
Chris Lattner
4b635b8316 Run indvars tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3643 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 04:55:36 +00:00
Chris Lattner
7a4e86d20e Add new testcase for broken indvars case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3642 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 04:54:44 +00:00
Chris Lattner
712653908e Fix typeo in assertion message
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3641 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 04:52:59 +00:00
Chris Lattner
1b9029c2f2 Hack unneccesary now that shifts of pointers are no longer legal!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3640 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 03:50:54 +00:00
Chris Lattner
979d9b7a57 Write most of the isa, cast, dyn_cast section. It's not done yet though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3639 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 00:39:05 +00:00
Chris Lattner
1a143aef99 Do not allow adds of pointer types, or many other operations on pointer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3638 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 20:26:04 +00:00
Chris Lattner
871d2ce690 Disallow creation of pointer typed shift instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3637 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 20:25:21 +00:00
Chris Lattner
caa5d13cda * Write the prose for the Basic Inspection and Traversal Routines section
* Fix some minor problems with < and &
* Add links to later parts of the document for classes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3636 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 19:58:18 +00:00
Joel Stanley
d8aabb20e8 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3635 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 16:29:58 +00:00
Joel Stanley
e7be6500e7 - Made distinction between object->iterator and iterator->object
conversion more clear.

- Added content to "Iterating over Instructions in a Function"
section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3634 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 15:50:33 +00:00
Vikram S. Adve
ec7f482d90 Silly bug fix: Machine code vector could be empty for a no-op cast instruction,
e.g., cast double to double.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3633 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 14:54:21 +00:00
Chris Lattner
1d43fd4e83 Clean up the isa section stub. It should not be listed twice
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3632 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 05:53:21 +00:00
Chris Lattner
1a3105baba Stub out another couple sections that it looks like 426's MP1 will really
need.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3631 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 05:49:39 +00:00
Chris Lattner
d6ea9260db Fix minor typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3630 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 03:48:46 +00:00
Chris Lattner
5862173c84 Testcase no longer applicable since shifts of pointers are no longer allowed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3629 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 03:43:09 +00:00
Chris Lattner
e083a1d695 Eliminate multiply of pointer type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3628 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-09 03:42:14 +00:00
Chris Lattner
5fb724332a Factor silly code duplication out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3627 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:47:54 +00:00
Chris Lattner
e30e1cf029 Fix Bug: test/Regression/Transforms/InstCombine/2002-09-08-PointerShiftBug.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3626 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:39:07 +00:00
Chris Lattner
05eb9581b2 New testcase for a bug identified by Vikram
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3625 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:37:49 +00:00
Chris Lattner
823c4abb58 Make sure the leakdetector is told about temporary Phi nodes also, so it doesn't
erroneously report them as leaks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3624 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:19:29 +00:00
Chris Lattner
a175ed4194 Inform the memory leak detector that TmpInstruction objects should not be
subject to memory leak checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3623 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:08:43 +00:00
Chris Lattner
71184414d6 Move TmpInstruction ctor to InstrSelection.cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3622 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:07:51 +00:00
Chris Lattner
c4e4a99677 Enable "garbage detection" of LLVM objects. Check for leaks after running
every pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3621 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 19:00:07 +00:00
Chris Lattner
d1e693f2a3 Enable "garbage detection" of LLVM objects. Now users should be obnoxious
warnings.  If they accidentally leak LLVM Value's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3620 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:59:35 +00:00
Chris Lattner
bd78696719 Minor simplification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3619 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:55:04 +00:00
Chris Lattner
de69a4ca2f Checkin initial support for automatic memory leak detection routines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3618 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:51:16 +00:00
Chris Lattner
96c2ce8614 Checkin initial support for automatic memory leak detection routines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3617 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:51:12 +00:00
Chris Lattner
a6299345ee * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3616 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:45:18 +00:00
Chris Lattner
e4f318c7fc New testcase that tests for array pointer analysis type stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3615 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:08:36 +00:00
Chris Lattner
72846c2dcd Fix bug in testcase now that load-vn is not built into gcse
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3614 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-07 22:50:41 +00:00
Chris Lattner
92bab83913 Fix broken test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3613 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-07 22:48:30 +00:00
Chris Lattner
482004cb34 Test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3612 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-07 05:33:45 +00:00
Joel Stanley
aaeb1c160e *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3611 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 23:42:40 +00:00
Joel Stanley
72ef35ea5f Fixed typos and added &lt/&gt/&amp tags where appropriate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3610 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 23:05:12 +00:00
Chris Lattner
2b76306eb7 * Fix a couple more <>&'s
* Correct an extremely minor technical point about a deprecated interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3609 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 22:51:10 +00:00
Chris Lattner
83b5ee060d Minor fixes html type fixes: & -> &amp; > -> &gt; etc.
Hopefully permission thing works this time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3608 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 22:12:58 +00:00
Chris Lattner
f1ebdc3b71 Minor fix, test that web autoupdate works for people non-chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3607 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 22:09:21 +00:00
Joel Stanley
9b96c44ad8 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3606 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 21:55:13 +00:00
Chris Lattner
bded132d00 Move code out of header files into .cpp files to make future changes easier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3605 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 21:33:15 +00:00
Chris Lattner
fab8c796f6 * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3604 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 21:31:57 +00:00