oota-llvm.git
17 years agoUpdate to current situation.
Jeff Cohen [Wed, 28 Mar 2007 20:27:51 +0000 (20:27 +0000)]
Update to current situation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35440 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMade this into a bug report: PR1286
Bill Wendling [Wed, 28 Mar 2007 19:07:34 +0000 (19:07 +0000)]
Made this into a bug report: PR1286

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35439 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoOops :)
Anton Korobeynikov [Wed, 28 Mar 2007 18:38:33 +0000 (18:38 +0000)]
Oops :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35438 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't allow MatchAddress recurse too much. This trims exponential
Anton Korobeynikov [Wed, 28 Mar 2007 18:36:33 +0000 (18:36 +0000)]
Don't allow MatchAddress recurse too much. This trims exponential
behaviour in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35437 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoStop using the foo HTML tag :)
Chris Lattner [Wed, 28 Mar 2007 18:27:57 +0000 (18:27 +0000)]
Stop using the foo HTML tag :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35436 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Wed, 28 Mar 2007 18:17:19 +0000 (18:17 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35435 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCompile CodeGen/X86/lea-3.ll:test2 to:
Chris Lattner [Wed, 28 Mar 2007 18:12:31 +0000 (18:12 +0000)]
Compile CodeGen/X86/lea-3.ll:test2 to:

_test3:
        leaq (,%rdi,4), %rax
        orq %rdi, %rax
        ret

instead of:
_test2:
        movq %rdi, %rax
        shlq $2, %rax
        orq %rdi, %rax
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35434 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcases
Chris Lattner [Wed, 28 Mar 2007 18:11:17 +0000 (18:11 +0000)]
new testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35433 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase
Chris Lattner [Wed, 28 Mar 2007 18:03:14 +0000 (18:03 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35432 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid unnecessary APInt construction.
Zhou Sheng [Wed, 28 Mar 2007 17:38:21 +0000 (17:38 +0000)]
Avoid unnecessary APInt construction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35431 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDan pointed out that this is done, remove it!
Chris Lattner [Wed, 28 Mar 2007 17:26:52 +0000 (17:26 +0000)]
Dan pointed out that this is done, remove it!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35430 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFirst test check-in.
Scott Michel [Wed, 28 Mar 2007 17:04:43 +0000 (17:04 +0000)]
First test check-in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35429 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Make more use of getLowBitsSet/getHighBitsSet.
Zhou Sheng [Wed, 28 Mar 2007 15:02:20 +0000 (15:02 +0000)]
1. Make more use of getLowBitsSet/getHighBitsSet.
2. Use APInt[] instead of "X & SignBit".
3. Clean up some codes.
4. Make the expression like "ShiftAmt = ShiftAmtC->getZExtValue()" safe.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35424 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIt is not possible to determine dominance between two PHI nodes
Devang Patel [Wed, 28 Mar 2007 14:57:43 +0000 (14:57 +0000)]
It is not possible to determine dominance between two PHI nodes
based on their ordering. This is applicable to ETForest::dominates() also.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35423 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Make more use of getLowBitsSet/getHighBitsSet.
Zhou Sheng [Wed, 28 Mar 2007 09:19:01 +0000 (09:19 +0000)]
1. Make more use of getLowBitsSet/getHighBitsSet.
2. Make the APInt value do the zext/trunc stuff instead of using
   ConstantExpr::getZExt().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35422 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNotes on re-materialization.
Evan Cheng [Wed, 28 Mar 2007 08:30:04 +0000 (08:30 +0000)]
Notes on re-materialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35420 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMove rematerialization out of beta.
Evan Cheng [Wed, 28 Mar 2007 08:26:40 +0000 (08:26 +0000)]
Move rematerialization out of beta.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35419 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse UnknownBIts[BitWidth-1] instead of UnknownBIts & SignBits.
Zhou Sheng [Wed, 28 Mar 2007 05:15:57 +0000 (05:15 +0000)]
Use UnknownBIts[BitWidth-1] instead of UnknownBIts & SignBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35418 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix problem with llvm-config that prevented JIT from being used on x86_64
Jeff Cohen [Wed, 28 Mar 2007 04:45:02 +0000 (04:45 +0000)]
Fix problem with llvm-config that prevented JIT from being used on x86_64
systems.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35416 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDelete the remanant of an obsolete comment.
Reid Spencer [Wed, 28 Mar 2007 03:23:22 +0000 (03:23 +0000)]
Delete the remanant of an obsolete comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35415 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove unused APInt variable.
Zhou Sheng [Wed, 28 Mar 2007 03:02:21 +0000 (03:02 +0000)]
Remove unused APInt variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35414 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUndocument the implementation keyword
Reid Spencer [Wed, 28 Mar 2007 02:46:29 +0000 (02:46 +0000)]
Undocument the implementation keyword
Docuemnt the checkpoint keyword

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35413 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove use of implementation keyword.
Reid Spencer [Wed, 28 Mar 2007 02:38:26 +0000 (02:38 +0000)]
Remove use of implementation keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35412 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate.
Reid Spencer [Wed, 28 Mar 2007 02:37:40 +0000 (02:37 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35411 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoReplace the "implementation" keyword with "checkpoint". This more accurately
Reid Spencer [Wed, 28 Mar 2007 02:36:42 +0000 (02:36 +0000)]
Replace the "implementation" keyword with "checkpoint". This more accurately
describes its function as check against unresolved types and definitions.
This is handy for forcing error messages in assembly test cases or otherwise
ensuring that everything is resolved at that point in the assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35410 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe implementation keyword was replaced with checkpoint.
Reid Spencer [Wed, 28 Mar 2007 02:34:53 +0000 (02:34 +0000)]
The implementation keyword was replaced with checkpoint.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35409 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up codes in ComputeMaskedBits():
Zhou Sheng [Wed, 28 Mar 2007 02:19:03 +0000 (02:19 +0000)]
Clean up codes in ComputeMaskedBits():
1. Line out nested use of zext/trunc.
2. Make more use of getHighBitsSet/getLowBitsSet.
3. Use APInt[] != 0 instead of "(APInt & SignBit) != 0".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35408 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoScale 1 is always ok.
Evan Cheng [Wed, 28 Mar 2007 01:55:52 +0000 (01:55 +0000)]
Scale 1 is always ok.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35407 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove isLegalAddressImmediate.
Evan Cheng [Wed, 28 Mar 2007 01:53:55 +0000 (01:53 +0000)]
Remove isLegalAddressImmediate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35406 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNo need to generate the implementation keyword any more. Its frivolous.
Reid Spencer [Wed, 28 Mar 2007 01:53:20 +0000 (01:53 +0000)]
No need to generate the implementation keyword any more. Its frivolous.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35405 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimplementation keyword is going .. going .. gone.
Reid Spencer [Wed, 28 Mar 2007 01:52:40 +0000 (01:52 +0000)]
implementation keyword is going .. going .. gone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35404 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGEP index sinking fixes:
Evan Cheng [Wed, 28 Mar 2007 01:49:39 +0000 (01:49 +0000)]
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

17 years agodon't use 'not' when we can use a positive test
Chris Lattner [Wed, 28 Mar 2007 01:43:43 +0000 (01:43 +0000)]
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

17 years agonew test case for PR1280
Reid Spencer [Wed, 28 Mar 2007 01:43:35 +0000 (01:43 +0000)]
new test case for PR1280

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35401 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1280:
Reid Spencer [Wed, 28 Mar 2007 01:36:16 +0000 (01:36 +0000)]
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

17 years agoFor PR1280:
Reid Spencer [Wed, 28 Mar 2007 01:35:28 +0000 (01:35 +0000)]
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

17 years agoAdded a test case for PR1279.
Evan Cheng [Wed, 28 Mar 2007 01:32:57 +0000 (01:32 +0000)]
Added a test case for PR1279.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35398 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase
Chris Lattner [Wed, 28 Mar 2007 01:31:33 +0000 (01:31 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35397 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix for PR1279. Dead def has a live interval of length 1. Copy coalescing should
Evan Cheng [Wed, 28 Mar 2007 01:30:37 +0000 (01:30 +0000)]
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

17 years agoupgrade a random test
Chris Lattner [Wed, 28 Mar 2007 01:27:12 +0000 (01:27 +0000)]
upgrade a random test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35395 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove cruft I put in there...
Bill Wendling [Wed, 28 Mar 2007 01:02:54 +0000 (01:02 +0000)]
Remove cruft I put in there...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35394 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a problem building llvm-gcc on amd64-unknown-freebsd6.2, due to the
Chris Lattner [Wed, 28 Mar 2007 00:58:40 +0000 (00:58 +0000)]
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

17 years agoUnbreak mmx arithmetic. It was barfing trying to do v8i8 arithmetic.
Bill Wendling [Wed, 28 Mar 2007 00:57:11 +0000 (00:57 +0000)]
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

17 years agonew testcase
Chris Lattner [Wed, 28 Mar 2007 00:03:10 +0000 (00:03 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35391 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFixing doxygen.cfg target. I'm not a makefile expert, so hopefully this correct.Teste...
Tanya Lattner [Tue, 27 Mar 2007 23:19:39 +0000 (23:19 +0000)]
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

17 years agoAdd the "unpack low packed data" instructions. This should be the last of
Bill Wendling [Tue, 27 Mar 2007 21:20:36 +0000 (21:20 +0000)]
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

17 years agoUse SmallPtrSet.
Devang Patel [Tue, 27 Mar 2007 20:50:46 +0000 (20:50 +0000)]
Use SmallPtrSet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35388 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTest that a VIEW_CONVERT_EXPR used as an lvalue has the right type.
Duncan Sands [Tue, 27 Mar 2007 20:27:25 +0000 (20:27 +0000)]
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

17 years agoAdd better support for keywords.
Bill Wendling [Tue, 27 Mar 2007 20:23:56 +0000 (20:23 +0000)]
Add better support for keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35386 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix so that pandn is emitted instead of an xor/and combo. Add integer
Bill Wendling [Tue, 27 Mar 2007 20:22:40 +0000 (20:22 +0000)]
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

17 years agoAdd support for integer comparison builtins.
Bill Wendling [Tue, 27 Mar 2007 20:21:31 +0000 (20:21 +0000)]
Add support for integer comparison builtins.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35384 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUnbreaks non-debug builds.
Evan Cheng [Tue, 27 Mar 2007 16:44:48 +0000 (16:44 +0000)]
Unbreaks non-debug builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35383 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago"The C standards do say that "char" may either be a "signed char" or "unsigned
Lauro Ramos Venancio [Tue, 27 Mar 2007 16:33:08 +0000 (16:33 +0000)]
"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

17 years agobugfix: sometimes the spiller puts a load between the "mov lr, pc" and "bx" of a...
Lauro Ramos Venancio [Tue, 27 Mar 2007 16:19:21 +0000 (16:19 +0000)]
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

17 years agoRemove dead code
Anton Korobeynikov [Tue, 27 Mar 2007 12:05:48 +0000 (12:05 +0000)]
Remove dead code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35380 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSplit big monster into small helpers. No functionality change.
Anton Korobeynikov [Tue, 27 Mar 2007 11:29:11 +0000 (11:29 +0000)]
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

17 years agoFor PR1276:
Reid Spencer [Tue, 27 Mar 2007 06:06:15 +0000 (06:06 +0000)]
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

17 years agoFor PR601:
Reid Spencer [Tue, 27 Mar 2007 02:49:31 +0000 (02:49 +0000)]
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

17 years agoSDISel does not preserve all, it changes CFG and other info.
Evan Cheng [Tue, 27 Mar 2007 00:53:36 +0000 (00:53 +0000)]
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

17 years agoDon't call getOperandConstraint() if operand index is greater than
Evan Cheng [Tue, 27 Mar 2007 00:48:28 +0000 (00:48 +0000)]
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

17 years agoSpell check.
Devang Patel [Tue, 27 Mar 2007 00:16:08 +0000 (00:16 +0000)]
Spell check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35374 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement some minor review feedback.
Reid Spencer [Mon, 26 Mar 2007 23:58:26 +0000 (23:58 +0000)]
Implement some minor review feedback.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35373 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAnother test case for PR1271 where bad shift masks were generated.
Reid Spencer [Mon, 26 Mar 2007 23:48:52 +0000 (23:48 +0000)]
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

17 years agoFor PR1271:
Reid Spencer [Mon, 26 Mar 2007 23:45:51 +0000 (23:45 +0000)]
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

17 years agoReduce malloc/free traffic.
Devang Patel [Mon, 26 Mar 2007 23:19:29 +0000 (23:19 +0000)]
Reduce malloc/free traffic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35370 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIt is not possible to determie dominance between two PHI nodes
Devang Patel [Mon, 26 Mar 2007 23:18:28 +0000 (23:18 +0000)]
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

17 years agoUse std::vector<DFCalculateWorkObject> instead of
Devang Patel [Mon, 26 Mar 2007 23:17:19 +0000 (23:17 +0000)]
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

17 years agoTest case for PR1266.
Evan Cheng [Mon, 26 Mar 2007 22:58:35 +0000 (22:58 +0000)]
Test case for PR1266.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35367 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agofindRegisterUseOperand() changed.
Evan Cheng [Mon, 26 Mar 2007 22:41:48 +0000 (22:41 +0000)]
findRegisterUseOperand() changed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35366 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix for PR1266. Don't mark a two address operand IsKill.
Evan Cheng [Mon, 26 Mar 2007 22:40:42 +0000 (22:40 +0000)]
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

17 years agoFor PR1277:
Reid Spencer [Mon, 26 Mar 2007 22:38:01 +0000 (22:38 +0000)]
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

17 years agoChange findRegisterUseOperand() to return operand index instead.
Evan Cheng [Mon, 26 Mar 2007 22:37:45 +0000 (22:37 +0000)]
Change findRegisterUseOperand() to return operand index instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35363 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix reversed logic in getRegsUsed. Rename RegStates to RegsAvailable to
Dale Johannesen [Mon, 26 Mar 2007 22:23:54 +0000 (22:23 +0000)]
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

17 years agoeliminate use of std::set
Chris Lattner [Mon, 26 Mar 2007 20:40:50 +0000 (20:40 +0000)]
eliminate use of std::set

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35361 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a comment to explain a folding transform.
Reid Spencer [Mon, 26 Mar 2007 20:09:02 +0000 (20:09 +0000)]
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

17 years agoFix this test case to match output after a bug was fixed.
Reid Spencer [Mon, 26 Mar 2007 18:04:38 +0000 (18:04 +0000)]
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

17 years agoGet better debug output by having modified instructions print both the
Reid Spencer [Mon, 26 Mar 2007 17:44:01 +0000 (17:44 +0000)]
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

17 years agoGet the number of bits to set in a mask correct for a shl/lshr transform.
Reid Spencer [Mon, 26 Mar 2007 17:18:58 +0000 (17:18 +0000)]
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

17 years agoFix testsuite hang.
Duncan Sands [Mon, 26 Mar 2007 10:59:13 +0000 (10:59 +0000)]
Fix testsuite hang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35355 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR601:
Reid Spencer [Mon, 26 Mar 2007 09:32:31 +0000 (09:32 +0000)]
For PR601:
Initial skeleton for pass documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35354 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPromote to v1i64 type...
Bill Wendling [Mon, 26 Mar 2007 08:03:33 +0000 (08:03 +0000)]
Promote to v1i64 type...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35353 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdated.
Bill Wendling [Mon, 26 Mar 2007 07:55:58 +0000 (07:55 +0000)]
Updated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35352 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd support for the v1i64 type. This makes better code for this:
Bill Wendling [Mon, 26 Mar 2007 07:53:08 +0000 (07:53 +0000)]
Add support for the v1i64 type. This makes better code for this:

#include <mmintrin.h>

extern __m64 C;

void baz(__v2si *A, __v2si *B)
{
  *A = C;
  _mm_empty();
}

We get this:

_baz:
        call "L1$pb"
"L1$pb":
        popl %eax
        movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
        movq (%eax), %mm0
        movl 4(%esp), %eax
        movq %mm0, (%eax)
        emms
        ret

GCC gives us this:

_baz:
        pushl   %ebx
        call    L3
"L00000000001$pb":
L3:
        popl    %ebx
        subl    $8, %esp
        movl    L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
        movl    (%eax), %edx
        movl    4(%eax), %ecx
        movl    16(%esp), %eax
        movl    %edx, (%eax)
        movl    %ecx, 4(%eax)
        emms
        addl    $8, %esp
        popl    %ebx
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35351 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSIGN_EXTEND_INREG requires one extra operand, a ValueType node.
Evan Cheng [Mon, 26 Mar 2007 07:12:51 +0000 (07:12 +0000)]
SIGN_EXTEND_INREG requires one extra operand, a ValueType node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35350 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTest case for PR1271 involving construction of a bad mask to replace a
Reid Spencer [Mon, 26 Mar 2007 05:32:16 +0000 (05:32 +0000)]
Test case for PR1271 involving construction of a bad mask to replace a
shift instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35349 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1271:
Reid Spencer [Mon, 26 Mar 2007 05:25:00 +0000 (05:25 +0000)]
For PR1271:
Fix SingleSource/Regression/C/2003-05-21-UnionBitFields.c by changing a
getHighBitsSet call to getLowBitsSet call that was incorrectly converted
from the original lshr constant expression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35348 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoLook through bitcast when finding IVs. (Chris' patch really.)
Dale Johannesen [Mon, 26 Mar 2007 03:01:27 +0000 (03:01 +0000)]
Look through bitcast when finding IVs.  (Chris' patch really.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35347 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoStart value symbol tables out small (space for 16 elts), not huge (space for 512).
Chris Lattner [Mon, 26 Mar 2007 01:45:35 +0000 (01:45 +0000)]
Start value symbol tables out small (space for 16 elts), not huge (space for 512).

This is particularly useful for the JIT, which lazily deserializes functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35346 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd "feature" testcase for new switch lowering code
Anton Korobeynikov [Sun, 25 Mar 2007 22:01:14 +0000 (22:01 +0000)]
Add "feature" testcase for new switch lowering code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35345 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCompute getLowBitsSet correctly. Using the complement of a 64-bit value
Reid Spencer [Sun, 25 Mar 2007 21:58:42 +0000 (21:58 +0000)]
Compute getLowBitsSet correctly. Using the complement of a 64-bit value
and shifting down without regard for the bitwidth of the APInt can lead
to incorrect initialization values. Instead, check for the word size case
(to avoid undef results from shift) and then do (1 << loBitsSet) - 1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35344 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a test case for PR1271 (necessary, but not sufficient).
Reid Spencer [Sun, 25 Mar 2007 21:30:41 +0000 (21:30 +0000)]
Add a test case for PR1271 (necessary, but not sufficient).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35343 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1271:
Reid Spencer [Sun, 25 Mar 2007 21:11:44 +0000 (21:11 +0000)]
For PR1271:
Remove a use of getLowBitsSet that caused the mask used for replacement of
shl/lshr pairs with an AND instruction to be computed incorrectly. Its not
clear exactly why this is the case. This solves the disappearing shifts
problem, but it doesn't fix Regression/C/2003-05-21-UnionBitFields. It
seems there is more going on.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35342 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimplement Transforms/InstCombine/cast2.ll:test3 and PR1263
Chris Lattner [Sun, 25 Mar 2007 20:43:09 +0000 (20:43 +0000)]
implement Transforms/InstCombine/cast2.ll:test3 and PR1263

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35341 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase
Chris Lattner [Sun, 25 Mar 2007 20:42:40 +0000 (20:42 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35340 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSome cleanup from review:
Reid Spencer [Sun, 25 Mar 2007 19:55:33 +0000 (19:55 +0000)]
Some cleanup from review:
* Don't assume shift amounts are <= 64 bits
* Avoid creating an extra APInt in SubOne and AddOne by using -- and ++
* Add another use of getLowBitsSet
* Convert a series of if statements to a switch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35339 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFirst step of switch lowering refactoring: perform worklist-driven
Anton Korobeynikov [Sun, 25 Mar 2007 15:07:15 +0000 (15:07 +0000)]
First step of switch lowering refactoring: perform worklist-driven
strategy, emit JT's where possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35338 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix authorship
Anton Korobeynikov [Sun, 25 Mar 2007 13:44:26 +0000 (13:44 +0000)]
Fix authorship

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35337 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agofold constantexprs more aggressively, fixing PR1265
Chris Lattner [Sun, 25 Mar 2007 05:47:04 +0000 (05:47 +0000)]
fold constantexprs more aggressively, fixing PR1265

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35336 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRefactor several ConstantExpr::getXXX calls with ConstantInt arguments
Reid Spencer [Sun, 25 Mar 2007 05:33:51 +0000 (05:33 +0000)]
Refactor several ConstantExpr::getXXX calls with ConstantInt arguments
using the facilities of APInt. While this duplicates a tiny fraction of
the constant folding code, it also makes the code easier to read and
avoids large ConstantExpr overhead for simple, known computations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35335 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Sun, 25 Mar 2007 05:10:46 +0000 (05:10 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35334 91177308-0d34-0410-b5e6-96231b3b80d8