oota-llvm.git
16 years agoWe also need to collect the VN IDs for the PHI instructions for later updating.
Owen Anderson [Wed, 12 Mar 2008 04:22:57 +0000 (04:22 +0000)]
We also need to collect the VN IDs for the PHI instructions for later updating.

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

16 years agoWhen we're determining what registers to coallesce, track the VNInfo IDs for the...
Owen Anderson [Wed, 12 Mar 2008 03:13:29 +0000 (03:13 +0000)]
When we're determining what registers to coallesce, track the VNInfo IDs for the definitions that
feed the PHI instructions.  We'll need these IDs in order to update LiveIntervals properly.

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

16 years agowhen the bitcode reader is referencing a paramattr, make sure to bump its refcount.
Chris Lattner [Wed, 12 Mar 2008 02:25:52 +0000 (02:25 +0000)]
when the bitcode reader is referencing a paramattr, make sure to bump its refcount.

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

16 years agoTotal brain cramp.
Evan Cheng [Wed, 12 Mar 2008 02:05:05 +0000 (02:05 +0000)]
Total brain cramp.

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

16 years agoThis is a simple fix for getting error messages from dlerror in
Chris Lattner [Wed, 12 Mar 2008 00:50:01 +0000 (00:50 +0000)]
This is a simple fix for getting error messages from dlerror in
LoadLibraryPermanently. The current code modifies the value of a pointer
that is passed by value, so the caller never gets the message.

Patch by Julien Lerouge!

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

16 years agoOne more bit of Altivec parameter passing.
Dale Johannesen [Wed, 12 Mar 2008 00:49:20 +0000 (00:49 +0000)]
One more bit of Altivec parameter passing.

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

16 years agoBe backward compatible
Anton Korobeynikov [Wed, 12 Mar 2008 00:49:19 +0000 (00:49 +0000)]
Be backward compatible

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

16 years agoCheck multiple return values.
Devang Patel [Wed, 12 Mar 2008 00:32:32 +0000 (00:32 +0000)]
Check multiple return values.

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

16 years agoMake this test x86-specific for now; targets that don't use
Dan Gohman [Wed, 12 Mar 2008 00:25:14 +0000 (00:25 +0000)]
Make this test x86-specific for now; targets that don't use
the automated CallingConv code to handle return values typically
don't support multiple return values.

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

16 years agoImplement Altivec passing to varargs functions on ppc.
Dale Johannesen [Wed, 12 Mar 2008 00:22:17 +0000 (00:22 +0000)]
Implement Altivec passing to varargs functions on ppc.

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

16 years agoSet NextMII after issuing a physical register spill.
Evan Cheng [Wed, 12 Mar 2008 00:14:07 +0000 (00:14 +0000)]
Set NextMII after issuing a physical register spill.

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

16 years agoFix attribute handling.
Devang Patel [Wed, 12 Mar 2008 00:07:03 +0000 (00:07 +0000)]
Fix attribute handling.

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

16 years agoMinor debug output bug.
Evan Cheng [Wed, 12 Mar 2008 00:02:46 +0000 (00:02 +0000)]
Minor debug output bug.

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

16 years agoBasic feature test for multiple return values in codegen.
Dan Gohman [Tue, 11 Mar 2008 23:53:16 +0000 (23:53 +0000)]
Basic feature test for multiple return values in codegen.

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

16 years agoUltimately resolve aliases during linking, if possible
Anton Korobeynikov [Tue, 11 Mar 2008 22:51:09 +0000 (22:51 +0000)]
Ultimately resolve aliases during linking, if possible

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

16 years agoTestcase for PR2137
Anton Korobeynikov [Tue, 11 Mar 2008 22:43:42 +0000 (22:43 +0000)]
Testcase for PR2137

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

16 years agoCorrectly propagate thread-local flag from aliasee to alias. This fixes PR2137
Anton Korobeynikov [Tue, 11 Mar 2008 22:38:53 +0000 (22:38 +0000)]
Correctly propagate thread-local flag from aliasee to alias. This fixes PR2137

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

16 years agoUse PassManagerBase instead of FunctionPassManager for functions
Dan Gohman [Tue, 11 Mar 2008 22:29:46 +0000 (22:29 +0000)]
Use PassManagerBase instead of FunctionPassManager for functions
that merely add passes. This allows them to be used with either
FunctionPassManager or PassManager, or even with a custom new
kind of pass manager.

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

16 years agoAdd helper for ultimate aliasee resoltion
Anton Korobeynikov [Tue, 11 Mar 2008 22:28:56 +0000 (22:28 +0000)]
Add helper for ultimate aliasee resoltion

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

16 years agoHandle multiple ret values.
Devang Patel [Tue, 11 Mar 2008 22:24:29 +0000 (22:24 +0000)]
Handle multiple ret values.

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

16 years agoInitialize.
Devang Patel [Tue, 11 Mar 2008 22:08:21 +0000 (22:08 +0000)]
Initialize.

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

16 years agoCheck to see if a two-entry PHI block can be simplified
Dan Gohman [Tue, 11 Mar 2008 21:53:06 +0000 (21:53 +0000)]
Check to see if a two-entry PHI block can be simplified
before trying to merge the block into its predecessors.
This allows two-entry-phi-return.ll to be simplified
into a single basic block.

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

16 years agoMake this test more challenging to help it avoid being
Dan Gohman [Tue, 11 Mar 2008 21:47:57 +0000 (21:47 +0000)]
Make this test more challenging to help it avoid being
optimized away before it tests what it is intended to test.

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

16 years agoUpdate testcase for recent aliases change
Anton Korobeynikov [Tue, 11 Mar 2008 21:42:20 +0000 (21:42 +0000)]
Update testcase for recent aliases change

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

16 years agoHonour aliases visibility during asm emission
Anton Korobeynikov [Tue, 11 Mar 2008 21:41:14 +0000 (21:41 +0000)]
Honour aliases visibility during asm emission

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

16 years agoHonour aliases visibility when reading from/writing to bitcode
Anton Korobeynikov [Tue, 11 Mar 2008 21:40:17 +0000 (21:40 +0000)]
Honour aliases visibility when reading from/writing to bitcode

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

16 years agoAdd a test to ensure that all-ones vectors are materialized with pcmpeqd.
Dan Gohman [Tue, 11 Mar 2008 21:37:00 +0000 (21:37 +0000)]
Add a test to ensure that all-ones vectors are materialized with pcmpeqd.

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

16 years agoTransfer physical register spill info when load / store folding happens.
Evan Cheng [Tue, 11 Mar 2008 21:34:46 +0000 (21:34 +0000)]
Transfer physical register spill info when load / store folding happens.

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

16 years agoUse the correct value for InSignBit.
Dan Gohman [Tue, 11 Mar 2008 21:29:43 +0000 (21:29 +0000)]
Use the correct value for InSignBit.

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

16 years agoInitial codegen support for functions and calls with multiple return values.
Dan Gohman [Tue, 11 Mar 2008 21:11:25 +0000 (21:11 +0000)]
Initial codegen support for functions and calls with multiple return values.

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

16 years agoImplement basic support for the 'f' register class constraint. This basically
Chris Lattner [Tue, 11 Mar 2008 19:50:13 +0000 (19:50 +0000)]
Implement basic support for the 'f' register class constraint.  This basically
works, but probably won't if you mix it with 't' or 'u' yet.

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

16 years agocoalesce away 80-bit floating point copies.
Chris Lattner [Tue, 11 Mar 2008 19:30:09 +0000 (19:30 +0000)]
coalesce away 80-bit floating point copies.

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

16 years agoconvert a massive if statement to a switch.
Chris Lattner [Tue, 11 Mar 2008 19:28:17 +0000 (19:28 +0000)]
convert a massive if statement to a switch.

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

16 years agostart handling the 'f' x87 constraint.
Chris Lattner [Tue, 11 Mar 2008 19:06:29 +0000 (19:06 +0000)]
start handling the 'f' x87 constraint.

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

16 years agoSkip functions that return multiple values.
Devang Patel [Tue, 11 Mar 2008 18:04:06 +0000 (18:04 +0000)]
Skip functions that return multiple values.

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

16 years agoThe feature this is testing did not work in the general case,
Dale Johannesen [Tue, 11 Mar 2008 17:48:26 +0000 (17:48 +0000)]
The feature this is testing did not work in the general case,
and has been removed.

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

16 years agoFix getOperand() for ReturnInst.
Devang Patel [Tue, 11 Mar 2008 17:35:03 +0000 (17:35 +0000)]
Fix getOperand() for ReturnInst.

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

16 years agoBecome multiple return value aware.
Devang Patel [Tue, 11 Mar 2008 17:33:32 +0000 (17:33 +0000)]
Become multiple return value aware.
Right now, the pass does not optimize tail recursions
involving multiple return values.

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

16 years agoAdd TODO reminder.
Devang Patel [Tue, 11 Mar 2008 17:32:05 +0000 (17:32 +0000)]
Add TODO reminder.

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

16 years agoGive PassManager and FunctionPassManager a common base class, with
Dan Gohman [Tue, 11 Mar 2008 16:41:42 +0000 (16:41 +0000)]
Give PassManager and FunctionPassManager a common base class, with
add(Pass *) as a pure virtual member function. This will allow all
the various addPassesTo* functions in LLVM to avoid hard-coding what
type of PassManager is used.

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

16 years agoFix typos in comments.
Dan Gohman [Tue, 11 Mar 2008 16:18:48 +0000 (16:18 +0000)]
Fix typos in comments.

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

16 years agoMissed part of recommit.
Christopher Lamb [Tue, 11 Mar 2008 10:27:36 +0000 (10:27 +0000)]
Missed part of recommit.

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

16 years agoRecommitting parts of r48130. These do not appear to cause the observed failures.
Christopher Lamb [Tue, 11 Mar 2008 10:09:17 +0000 (10:09 +0000)]
Recommitting parts of r48130. These do not appear to cause the observed failures.

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

16 years agoRecommitting changes after more testing. These appear to cause no problems.
Christopher Lamb [Tue, 11 Mar 2008 09:33:47 +0000 (09:33 +0000)]
Recommitting changes after more testing. These appear to cause no problems.

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

16 years agoUse TargetRegisterInfo::getPhysicalRegisterRegClass. Remove duplicated code.
Evan Cheng [Tue, 11 Mar 2008 07:55:13 +0000 (07:55 +0000)]
Use TargetRegisterInfo::getPhysicalRegisterRegClass. Remove duplicated code.

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

16 years agoIf there are multiple register classes that a register belongs to, return the super...
Evan Cheng [Tue, 11 Mar 2008 07:54:14 +0000 (07:54 +0000)]
If there are multiple register classes that a register belongs to, return the super-class (e.g. on x86, returns GR32, not GR32_).

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

16 years agoLearn how to xfail a test.
Evan Cheng [Tue, 11 Mar 2008 07:51:31 +0000 (07:51 +0000)]
Learn how to xfail a test.

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

16 years agoWhen the register allocator runs out of registers, spill a physical register around...
Evan Cheng [Tue, 11 Mar 2008 07:19:34 +0000 (07:19 +0000)]
When the register allocator runs out of registers, spill a physical register around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting.

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

16 years agoIn 32-bit mode, mark 64-bit GPR's as unallocatable.
Evan Cheng [Tue, 11 Mar 2008 07:16:00 +0000 (07:16 +0000)]
In 32-bit mode, mark 64-bit GPR's as unallocatable.

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

16 years agoXFAIL due to Dale's change.
Evan Cheng [Tue, 11 Mar 2008 07:15:44 +0000 (07:15 +0000)]
XFAIL due to Dale's change.

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

16 years agoSome LegalizeTypes code factorization and minor
Duncan Sands [Tue, 11 Mar 2008 06:41:14 +0000 (06:41 +0000)]
Some LegalizeTypes code factorization and minor
enhancements.

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

16 years agocompile: double test() {}
Chris Lattner [Tue, 11 Mar 2008 06:21:08 +0000 (06:21 +0000)]
compile: double test() {}

into:

_test:
fldz
ret

instead of:

_test:
subl $12, %esp
#IMPLICIT_DEF %xmm0
movsd %xmm0, (%esp)
fldl (%esp)
addl $12, %esp
ret

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

16 years agoFix the build on gcc 4.2.
Nick Lewycky [Tue, 11 Mar 2008 05:56:09 +0000 (05:56 +0000)]
Fix the build on gcc 4.2.

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

16 years agofix grammer
Devang Patel [Tue, 11 Mar 2008 05:51:59 +0000 (05:51 +0000)]
fix grammer

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

16 years agoInitial multiple return values support.
Devang Patel [Tue, 11 Mar 2008 05:46:42 +0000 (05:46 +0000)]
Initial multiple return values support.

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

16 years agoChange the model for FP Stack return to use fp operands on the
Chris Lattner [Tue, 11 Mar 2008 03:23:40 +0000 (03:23 +0000)]
Change the model for FP Stack return to use fp operands on the
RET instruction instead of using FpSET_ST0_32.  This also generalizes
the code to handling returning of multiple FP results.

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

16 years agovariadic instructions don't have operand info for variadic arguments.
Chris Lattner [Tue, 11 Mar 2008 03:14:42 +0000 (03:14 +0000)]
variadic instructions don't have operand info for variadic arguments.

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

16 years agoUpgrade this test.
Dan Gohman [Tue, 11 Mar 2008 02:19:59 +0000 (02:19 +0000)]
Upgrade this test.

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

16 years agoGeneralize ExpandIntToFP to handle the case where the operand is legal
Dan Gohman [Tue, 11 Mar 2008 01:59:03 +0000 (01:59 +0000)]
Generalize ExpandIntToFP to handle the case where the operand is legal
and it's the result that requires expansion. This code is a little confusing
because the TargetLoweringInfo tables for [US]INT_TO_FP use the operand type
(the integer type) rather than the result type.

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

16 years agoIf a register operand comes from the variadic part of a node, don't
Chris Lattner [Tue, 11 Mar 2008 00:59:28 +0000 (00:59 +0000)]
If a register operand comes from the variadic part of a node, don't
verify the register constraint matches what the instruction expects.

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

16 years agoTemporarily revert 48175.
Evan Cheng [Tue, 11 Mar 2008 00:27:34 +0000 (00:27 +0000)]
Temporarily revert 48175.

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

16 years agoFix thinko: alias always defines new symbol. Even is aliasee itself is undefined.
Anton Korobeynikov [Tue, 11 Mar 2008 00:24:53 +0000 (00:24 +0000)]
Fix thinko: alias always defines new symbol. Even is aliasee itself is undefined.

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

16 years agoMore APInt-ification.
Dan Gohman [Tue, 11 Mar 2008 00:11:06 +0000 (00:11 +0000)]
More APInt-ification.

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

16 years agoemit an ID # for each regclass ID. Chris doesn't like to have to count.
Chris Lattner [Tue, 11 Mar 2008 00:00:23 +0000 (00:00 +0000)]
emit an ID # for each regclass ID.  Chris doesn't like to have to count.

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

16 years agoabort with an assert instead of a cerr to get line#
Chris Lattner [Mon, 10 Mar 2008 23:56:08 +0000 (23:56 +0000)]
abort with an assert instead of a cerr to get line#

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

16 years agoUse utostr instead of a stringstream.
Dan Gohman [Mon, 10 Mar 2008 23:55:07 +0000 (23:55 +0000)]
Use utostr instead of a stringstream.

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

16 years ago- Style cleanup in IA64ISelLowering.h: add 'virtual' keyword for consistency.
Scott Michel [Mon, 10 Mar 2008 23:49:09 +0000 (23:49 +0000)]
- Style cleanup in IA64ISelLowering.h: add 'virtual' keyword for consistency.
- Add test pattern matching in CellSPU's icmp32.ll test harness
- Fix CellSPU fcmp.ll-generated assert.

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

16 years agoCorrectly clone FlaggedNodes.
Dan Gohman [Mon, 10 Mar 2008 23:48:14 +0000 (23:48 +0000)]
Correctly clone FlaggedNodes.

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

16 years agoInitialize ArgTypes directly instead of manually copying in the elements.
Dan Gohman [Mon, 10 Mar 2008 23:41:23 +0000 (23:41 +0000)]
Initialize ArgTypes directly instead of manually copying in the elements.

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

16 years agoAPInt-ify this.
Dan Gohman [Mon, 10 Mar 2008 23:38:17 +0000 (23:38 +0000)]
APInt-ify this.

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

16 years agoRemove an unnecessary #include
Dan Gohman [Mon, 10 Mar 2008 23:37:12 +0000 (23:37 +0000)]
Remove an unnecessary #include

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

16 years agoDon't emit FP_REG_KILL into a block that just returns. Nothing
Chris Lattner [Mon, 10 Mar 2008 23:34:12 +0000 (23:34 +0000)]
Don't emit FP_REG_KILL into a block that just returns.  Nothing
can be live out of the block anyway, so it isn't needed.

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

16 years agoImplement more support for fp-to-i128 and i128-to-fp conversions.
Dan Gohman [Mon, 10 Mar 2008 23:03:31 +0000 (23:03 +0000)]
Implement more support for fp-to-i128 and i128-to-fp conversions.

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

16 years agoDisable prolog code that aligns the stack when a
Dale Johannesen [Mon, 10 Mar 2008 22:59:46 +0000 (22:59 +0000)]
Disable prolog code that aligns the stack when a
local object of >16 byte alignment exists.  It does not
work and getting it to work is not trivial, as explained
in the comment.  This fixes all the remaining ppc32
failures in the struct-layout-1 part of the gcc testsuite.

(gcc does not support this either, and the only way to
get such an object is with __attribute__((aligned)) or
generic vectors; it can't be done in a standard-conforming
program, or with Altivec.  So I think disabling it is OK.)

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

16 years agoUpdate llc flags for PPC register scavenger.
Bill Wendling [Mon, 10 Mar 2008 22:59:08 +0000 (22:59 +0000)]
Update llc flags for PPC register scavenger.

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

16 years agoChange the "enable/disable" mechanism so that we can enable PPC register
Bill Wendling [Mon, 10 Mar 2008 22:49:16 +0000 (22:49 +0000)]
Change the "enable/disable" mechanism so that we can enable PPC register
scavenging for 32-bit and 64-bit separately.

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

16 years agoAdd sanity checks
Anton Korobeynikov [Mon, 10 Mar 2008 22:36:53 +0000 (22:36 +0000)]
Add sanity checks

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

16 years agoTypo: 'function' => 'alias'
Anton Korobeynikov [Mon, 10 Mar 2008 22:36:35 +0000 (22:36 +0000)]
Typo: 'function' => 'alias'

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

16 years agoSyntactic sugar'ify stuff :)
Anton Korobeynikov [Mon, 10 Mar 2008 22:36:08 +0000 (22:36 +0000)]
Syntactic sugar'ify stuff :)

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

16 years agoAlways run 'make check' :) Fix fallout from prev. commit: query for possible
Anton Korobeynikov [Mon, 10 Mar 2008 22:35:31 +0000 (22:35 +0000)]
Always run 'make check' :) Fix fallout from prev. commit: query for possible
alias destination only if we don't have anything to link to

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

16 years agoMake error messages to have common style
Anton Korobeynikov [Mon, 10 Mar 2008 22:34:46 +0000 (22:34 +0000)]
Make error messages to have common style

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

16 years agoProperly link globals with aliases
Anton Korobeynikov [Mon, 10 Mar 2008 22:34:28 +0000 (22:34 +0000)]
Properly link globals with aliases

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

16 years agoThis passes now
Anton Korobeynikov [Mon, 10 Mar 2008 22:34:11 +0000 (22:34 +0000)]
This passes now

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

16 years agoRemove the LinkGlobal weirderness in common linking phase.
Anton Korobeynikov [Mon, 10 Mar 2008 22:33:53 +0000 (22:33 +0000)]
Remove the LinkGlobal weirderness in common linking phase.

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

16 years agoTypo
Anton Korobeynikov [Mon, 10 Mar 2008 22:33:22 +0000 (22:33 +0000)]
Typo

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

16 years agoIf the register allocator ran out of registers, just abort for now.
Evan Cheng [Mon, 10 Mar 2008 21:27:20 +0000 (21:27 +0000)]
If the register allocator ran out of registers, just abort for now.

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

16 years agoEliminate the FP_GET_ST0/FP_SET_ST0 target-specific dag nodes, just lower to
Chris Lattner [Mon, 10 Mar 2008 21:08:41 +0000 (21:08 +0000)]
Eliminate the FP_GET_ST0/FP_SET_ST0 target-specific dag nodes, just lower to
copyfromreg/copytoreg instead.

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

16 years agoDocument multiple return values.
Devang Patel [Mon, 10 Mar 2008 20:49:15 +0000 (20:49 +0000)]
Document multiple return values.

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

16 years agoFix mul expansion to check the correct number of bits for
Dan Gohman [Mon, 10 Mar 2008 20:42:19 +0000 (20:42 +0000)]
Fix mul expansion to check the correct number of bits for
zero extension when checking if an unsigned multiply is
safe.

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

16 years agoSomewhat better solution.
Evan Cheng [Mon, 10 Mar 2008 19:58:22 +0000 (19:58 +0000)]
Somewhat better solution.

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

16 years agoDefault ISD::PREFETCH to expand.
Evan Cheng [Mon, 10 Mar 2008 19:38:10 +0000 (19:38 +0000)]
Default ISD::PREFETCH to expand.

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

16 years agoRevert 48125, 48126, and 48130 for now to unbreak some x86-64 tests.
Evan Cheng [Mon, 10 Mar 2008 19:31:26 +0000 (19:31 +0000)]
Revert 48125, 48126, and 48130 for now to unbreak some x86-64 tests.

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

16 years agofix 80 col violations.
Chris Lattner [Mon, 10 Mar 2008 18:55:53 +0000 (18:55 +0000)]
fix 80 col violations.

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

16 years agoThe __sync primitives only work on x86 and alpha;
Dale Johannesen [Mon, 10 Mar 2008 18:38:31 +0000 (18:38 +0000)]
The __sync primitives only work on x86 and alpha;
xfail this test elsewhere.

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

16 years agoSimplify
Devang Patel [Mon, 10 Mar 2008 18:38:30 +0000 (18:38 +0000)]
Simplify

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

16 years agoRestore optimization that merges blocks when inline function
Devang Patel [Mon, 10 Mar 2008 18:34:00 +0000 (18:34 +0000)]
Restore optimization that merges blocks when inline function
has single return value.

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

16 years agoSimplify
Devang Patel [Mon, 10 Mar 2008 18:22:16 +0000 (18:22 +0000)]
Simplify

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

16 years agosimplify
Devang Patel [Mon, 10 Mar 2008 18:11:41 +0000 (18:11 +0000)]
simplify

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

16 years agoAdd -m32 to compilation line; test is only valid in
Dale Johannesen [Mon, 10 Mar 2008 17:56:53 +0000 (17:56 +0000)]
Add -m32 to compilation line; test is only valid in
32-bit environment.  PR 2136.

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

16 years agoStylistic modifications. No functionality changes.
Nicolas Geoffray [Mon, 10 Mar 2008 17:46:45 +0000 (17:46 +0000)]
Stylistic modifications. No functionality changes.

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