Evan Cheng
baeccc8741
GEP index sinking fixes:
...
1) Take address scale into consideration. e.g. i32* -> scale 4.
2) Examine all the users of GEP.
3) Generalize to inter-block GEP's (no longer uses loopinfo).
4) Don't do xform if GEP has other variable index(es).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35403 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:49:39 +00:00
Chris Lattner
9495a0c232
don't use 'not' when we can use a positive test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35402 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:43:43 +00:00
Reid Spencer
12fa2224e4
new test case for PR1280
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35401 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:43:35 +00:00
Reid Spencer
35c3885ba1
For PR1280:
...
When converting an add/xor/and triplet into a trunc/sext, only do so if the
intermediate integer type is a bitwidth that the targets can handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35400 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:36:16 +00:00
Reid Spencer
7f49127935
For PR1280:
...
Remove test cases for and/xor/add -> trunc/sext that use bit widths that
the targets cannot code gen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35399 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:35:28 +00:00
Evan Cheng
d03c3e39de
Added a test case for PR1279.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35398 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:32:57 +00:00
Chris Lattner
404eaa3cf1
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35397 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:31:33 +00:00
Evan Cheng
d592a28ca1
Fix for PR1279. Dead def has a live interval of length 1. Copy coalescing should
...
not violate that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35396 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:30:37 +00:00
Chris Lattner
05c55ac0c1
upgrade a random test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:27:12 +00:00
Bill Wendling
a80d7bd665
Remove cruft I put in there...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35394 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:02:54 +00:00
Chris Lattner
f2177b89a1
Fix a problem building llvm-gcc on amd64-unknown-freebsd6.2, due to the
...
system assembler not groking legal instructions like "leal (,%esi,8), %ecx".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35393 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 00:58:40 +00:00
Bill Wendling
826f36ff80
Unbreak mmx arithmetic. It was barfing trying to do v8i8 arithmetic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35392 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 00:57:11 +00:00
Chris Lattner
8667c76a36
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35391 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 00:03:10 +00:00
Tanya Lattner
b747fd221d
Fixing doxygen.cfg target. I'm not a makefile expert, so hopefully this correct.Tested doxygen generation on zion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35390 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 23:19:39 +00:00
Bill Wendling
6dc29ece6e
Add the "unpack low packed data" instructions. This should be the last of
...
the MMX instructions that are needed...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35389 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 21:20:36 +00:00
Devang Patel
2ad28e6c48
Use SmallPtrSet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35388 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 20:50:46 +00:00
Duncan Sands
054fa8fddb
Test that a VIEW_CONVERT_EXPR used as an lvalue has the right type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35387 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 20:27:25 +00:00
Bill Wendling
d4eeb80043
Add better support for keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35386 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 20:23:56 +00:00
Bill Wendling
ccc44add81
Fix so that pandn is emitted instead of an xor/and combo. Add integer
...
comparison operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35385 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 20:22:40 +00:00
Bill Wendling
b94827769a
Add support for integer comparison builtins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35384 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 20:21:31 +00:00
Evan Cheng
c7baf687ba
Unbreaks non-debug builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35383 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 16:44:48 +00:00
Lauro Ramos Venancio
1baa1971a6
"The C standards do say that "char" may either be a "signed char" or "unsigned
...
char" and it is up to the compilers implementation or the platform which is
followed."
http://www.arm.linux.org.uk/docs/faqs/signedchar.php
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 16:33:08 +00:00
Lauro Ramos Venancio
b8a93a45f8
bugfix: sometimes the spiller puts a load between the "mov lr, pc" and "bx" of a CALL_NOLINK.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35381 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 16:19:21 +00:00
Anton Korobeynikov
dd43321079
Remove dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35380 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 12:05:48 +00:00
Anton Korobeynikov
b17b08d1f2
Split big monster into small helpers. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35379 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 11:29:11 +00:00
Reid Spencer
0b57a76bc8
For PR1276:
...
Allow doxygen documentation to be rebuilt manually with "make regendoc"
separately from "make install".
Patch by Scott Michel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 06:06:15 +00:00
Reid Spencer
af4af3ae59
For PR601:
...
Add a little flesh to the document skeleton.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35377 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 02:49:31 +00:00
Evan Cheng
d0083bc5ec
SDISel does not preserve all, it changes CFG and other info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35376 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 00:53:36 +00:00
Evan Cheng
018d6e1537
Don't call getOperandConstraint() if operand index is greater than
...
TID->numOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35375 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 00:48:28 +00:00
Devang Patel
40d2cd13a5
Spell check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35374 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-27 00:16:08 +00:00
Reid Spencer
6eb0d99f5f
Implement some minor review feedback.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35373 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 23:58:26 +00:00
Reid Spencer
fecaf1a2b6
Another test case for PR1271 where bad shift masks were generated.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35372 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 23:48:52 +00:00
Reid Spencer
68d27cf84e
For PR1271:
...
Fix another incorrectly converted shift mask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35371 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 23:45:51 +00:00
Devang Patel
d64d3a1d28
Reduce malloc/free traffic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35370 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 23:19:29 +00:00
Devang Patel
b9dbc4decc
It is not possible to determie dominance between two PHI nodes
...
based on their ordering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35369 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 23:18:28 +00:00
Devang Patel
9be98dd9c0
Use std::vector<DFCalculateWorkObject> instead of
...
std::vector<DFCalculateWorkObject *> to reduce malloc/free traffic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35368 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 23:17:19 +00:00
Evan Cheng
f589ef25cc
Test case for PR1266.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35367 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:58:35 +00:00
Evan Cheng
f6fa5ee5c2
findRegisterUseOperand() changed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35366 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:41:48 +00:00
Evan Cheng
ad7ccf34b5
Fix for PR1266. Don't mark a two address operand IsKill.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35365 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:40:42 +00:00
Reid Spencer
497b0b0a45
For PR1277:
...
Implement error handling for bytecode parsing.
Patch by Scott Michel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35364 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:38:01 +00:00
Evan Cheng
32eb1f1ca4
Change findRegisterUseOperand() to return operand index instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35363 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:37:45 +00:00
Dale Johannesen
c6b9ef80a8
Fix reversed logic in getRegsUsed. Rename RegStates to RegsAvailable to
...
hopefully forestall similar errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35362 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:23:54 +00:00
Chris Lattner
0e5444bb20
eliminate use of std::set
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35361 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 20:40:50 +00:00
Reid Spencer
4ada00d166
Add a comment to explain a folding transform.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35360 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 20:09:02 +00:00
Reid Spencer
21e289b5c2
Fix this test case to match output after a bug was fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 18:04:38 +00:00
Reid Spencer
a9b8101333
Get better debug output by having modified instructions print both the
...
original and new instruction. A slight performance hit with ostringstream
but it is only for debug.
Also, clean up an uninitialized variable warning noticed in a release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35358 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 17:44:01 +00:00
Reid Spencer
d5e30f0a01
Get the number of bits to set in a mask correct for a shl/lshr transform.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 17:18:58 +00:00
Duncan Sands
dce8d9cf99
Fix testsuite hang.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35355 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 10:59:13 +00:00
Reid Spencer
d9aac12d3d
For PR601:
...
Initial skeleton for pass documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35354 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 09:32:31 +00:00
Bill Wendling
ab5b49d92e
Promote to v1i64 type...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35353 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 08:03:33 +00:00