Alkis Evlogimenos
4d7af65903
Change interface of MachineOperand as follows:
...
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
b) add isUse(), isDef()
c) rename opHiBits32() to isHiBits32(),
opLoBits32() to isLoBits32(),
opHiBits64() to isHiBits64(),
opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 13:24:17 +00:00
Alkis Evlogimenos
97323a47d8
Change preserve all claim to just preserve live variables and phielimination.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10460 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 10:14:23 +00:00
Chris Lattner
b40efb3394
Rev the release notes to 1.2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10459 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 05:03:43 +00:00
Chris Lattner
00ad4a2d17
Do not promote volatile alias sets into registers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10458 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 04:52:31 +00:00
Chris Lattner
e26092456a
Finegrainify namespacification
...
Add capability to represent volatile AliasSet's
Propagate this information from loads&stores into the aliassets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10457 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 04:52:11 +00:00
Chris Lattner
bb8f4769a2
Add capability to represent volatile AliasSet's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 04:51:34 +00:00
Chris Lattner
15beaf7d65
Testcase for PR179
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10455 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 04:46:07 +00:00
Alkis Evlogimenos
94743e4915
When reserving a preallocated register spill the aliases of this
...
register too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 11:58:10 +00:00
Alkis Evlogimenos
4c214d2bf0
Ignore non-allocatable physical registers in live interval analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 11:11:02 +00:00
Alkis Evlogimenos
7d65a12fe6
Expire any active intervals left when register allocation is done.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10448 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 05:50:19 +00:00
Alkis Evlogimenos
f6e610c27d
Add instruction numbers to debugging output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10447 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 05:48:57 +00:00
Alkis Evlogimenos
359b65f782
Add a floating point killer pass. This pass runs before register
...
allocaton on the X86 to add information to the machine code denoting
that our floating point stackifier cannot handle virtual point
register that are alive across basic blocks. This pass adds an
implicit def of all virtual floating point register at the end of each
basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10446 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 05:36:22 +00:00
Alkis Evlogimenos
9435eda699
Handle explicit physical register defs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10445 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 05:26:39 +00:00
Alkis Evlogimenos
efe995a406
Remove unecessary if statements when looping on ImplicitDefs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10444 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-13 01:20:58 +00:00
Chris Lattner
1124e2caef
Try rewording stuff talking about unwinding. Hopefully it will make llvm sound less bad, and still make John happy. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10439 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 21:33:08 +00:00
Chris Lattner
5eccca4f20
Link to lists, incorporate feedback from Tanya
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10438 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 21:22:16 +00:00
John Criswell
2f2741bfa8
Updated configure script so that it does not configure llvm/project
...
directories that do not contain a configure script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10437 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 20:15:23 +00:00
John Criswell
9493c97829
Don't configure directories that don't have a configure script (i.e Stacker).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10436 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 20:09:33 +00:00
John Criswell
52b62de100
Modified cast so that it converts the int to a long before casting to
...
a pointer. This evades a warning emitted by GCC when we cast from
unsigned int (32 bit) to void * (64 bit) on SparcV9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10435 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 19:57:48 +00:00
John Criswell
bb1bad58d4
Fixed some minor typos.
...
Moved the new gccld feature to be in the list of enhancements.
Re-worded information on SPEC 2000 and Sparc support to try to make them
more accurate and precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10434 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 19:54:20 +00:00
Brian Gaeke
6c9d582738
Dynamically get the right-sized member of a GenericValue to hold a size_t, and
...
use it to return the result of strlen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 15:38:06 +00:00
Chris Lattner
8b644f9073
PR177 is no longer among the open
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:26:25 +00:00
Chris Lattner
993bdcec00
Implement the ExecutionEngine::getPointerToFunctionOrStub by forwarding the
...
request on to the TargetMachine if it supports the getJITStubForFunction method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:12:02 +00:00
Chris Lattner
65b05ce022
Implement the TargetMachine::getJITStubForFunction method for X86, finegrainify
...
namespacification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:11:18 +00:00
Chris Lattner
459ccab002
Add new getJITStubForFunction method, which may optionally be implemented by
...
targets for better performance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10429 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 07:10:32 +00:00
Chris Lattner
895be4bae2
Doxygenify comments, remove extraneous #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10428 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 06:31:42 +00:00
Chris Lattner
8c1237e63c
Note about bytecode format
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10427 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 05:52:39 +00:00
Brian Gaeke
2798cd077a
Since we are using a gep_type_iterator, we apparently must get the type
...
index by using I.getOperand() here. This was failing an assertion on
basically every struct access.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10426 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 05:13:05 +00:00
Brian Gaeke
246372f35d
Use uintptr_t for pointer values in the ExecutionEngine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10425 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 05:06:09 +00:00
Brian Gaeke
92c59d60c9
Fix typo in comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:58:13 +00:00
Chris Lattner
97e4acdd7b
These aren't bugs, don't phrase them like they are.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:56:02 +00:00
Chris Lattner
287c9e6721
I'm a spaz
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:51:00 +00:00
Chris Lattner
3b368c7fb4
Add note about Stacker, duh!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:45:09 +00:00
Misha Brukman
c4b7beee8d
Break lines and add space after ':' to be consistent in layout.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:37:31 +00:00
Chris Lattner
9e84809e57
More updates for the release
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10419 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:25:33 +00:00
Brian Gaeke
27b40bcc9c
Throw better error messages, by calling strerror(errno) when we
...
get an error inside the bytecode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10415 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 00:47:44 +00:00
Brian Gaeke
3f6e798a14
Add an assertion to make sure we are at least getting argv[0] right.
...
Use a clearer error message when we fail to load a program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10414 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 00:47:19 +00:00
Chris Lattner
2d9d4e740b
Update release notes for PR86 and C++ support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10413 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 23:31:21 +00:00
Chris Lattner
4a83088b30
Factor out some duplicated code, implement the rest of the cases in
...
BasicAA/2003-12-11-ConstExprGEP.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10412 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 23:20:16 +00:00
Chris Lattner
de454ffb5b
Rename variable to avoid confusing it with the global G
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10411 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 22:49:32 +00:00
Chris Lattner
b307c88fe7
Fix PR86. This makes basicaa _SIGNIFICANLY_ more aggressive with getelementptr's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10410 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 22:44:13 +00:00
Chris Lattner
ea9403f2aa
Fix LICM/2003-12-11-SinkingToPHI.ll, and quite possibly all of the other known problems in the universe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10409 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 22:23:32 +00:00
Chris Lattner
0ac4d9247b
New testcase that LICM is breaking crafty on
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10408 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 22:15:11 +00:00
Chris Lattner
1ca2a583cb
Finegrainify namespacification
...
Add new -print-cfg-only pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10407 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 21:48:18 +00:00
Chris Lattner
1301515197
verifyFunction depends on dominator info, which levelraise does not declare
...
that it needs. This is pretty scary code! This fixes
Regression.Transforms.LevelRaise.2002-07-16-SourceAndDestCrash
Regression.Transforms.LevelRaise.2002-07-31-AssertionFailure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10406 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 21:47:37 +00:00
Chris Lattner
258f49cb84
Fix test that was failing because we were optimizing the program better than expected :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10404 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 21:06:43 +00:00
Chris Lattner
5211296580
New testcase for PR86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10403 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 19:16:30 +00:00
Chris Lattner
ca6cc6f277
Run tailcall elimination in a more logical place
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10402 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 17:50:32 +00:00
Chris Lattner
c54735e7cb
Fix a glaring bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10400 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 06:06:28 +00:00
Chris Lattner
88d3e03429
Realize the gep P, <zeros> must aliases P.
...
This is a partial fix for PR 86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10399 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 06:02:00 +00:00