Chris Lattner
9afdb2998b
Clean up code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3664 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 22:38:06 +00:00
Chris Lattner
1cff96a77c
Use explicit ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3663 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 22:37:46 +00:00
Chris Lattner
2b37c03f8c
Clean up pointer using testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3662 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 20:04:19 +00:00
Chris Lattner
9a66d5109e
Tighten up assertion checking for binary operators, not allowing invalid
...
instructions to _even be created_.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3661 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 19:57:53 +00:00
Chris Lattner
4a6482ba9c
Tighten up error checking in parser, disallowing instructions that f.e.,
...
add pointers together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3660 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 19:57:26 +00:00
Chris Lattner
544b0dcd14
Remove a testcase that is irrelevant now, fix a pointer adding testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3659 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 19:55:40 +00:00
Chris Lattner
e29f6a85ee
Fix bug: test/Regression/Transforms/LevelRaise/2002-09-10-PointerAdds.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3658 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 19:42:53 +00:00
Chris Lattner
4229be3ce7
New testcase for poitner problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3657 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 19:41:57 +00:00
Chris Lattner
2a7c23ef91
Simplify code (somtimes dramatically), by using the new "auto-insert" feature
...
of instruction constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3656 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 17:04:02 +00:00
Chris Lattner
3ea5cb0df1
Simplify code (somtimes dramatically), by using the new "auto-insert" feature
...
of instruction constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3655 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 17:03:06 +00:00
Chris Lattner
3bc06b33da
Add support for printing constpointerrefs more nicely
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3654 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:53:49 +00:00
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