oota-llvm.git
16 years agoSupport alignment within ParamAttrs in the I/O handling.
Dale Johannesen [Wed, 20 Feb 2008 21:15:19 +0000 (21:15 +0000)]
Support alignment within ParamAttrs in the I/O handling.

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

16 years agoPoorly named option.
Evan Cheng [Wed, 20 Feb 2008 20:57:32 +0000 (20:57 +0000)]
Poorly named option.

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

16 years agoRemove one of the fixmes that I put in there. From Evan:
Bill Wendling [Wed, 20 Feb 2008 20:56:45 +0000 (20:56 +0000)]
Remove one of the fixmes that I put in there. From Evan:

No need to go up more levels. A def of a register also sets its sub-registers
(so if PhysRegInfo[SuperReg] is NULL, it means SuperReg's super registers are
not previously defined).

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

16 years agoAdd convenient helper to get suffix of the file
Anton Korobeynikov [Wed, 20 Feb 2008 19:41:22 +0000 (19:41 +0000)]
Add convenient helper to get suffix of the file

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

16 years agogetresult does not support nested aggregates.
Devang Patel [Wed, 20 Feb 2008 19:39:41 +0000 (19:39 +0000)]
getresult does not support nested aggregates.

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

16 years agoImprove some comments explaining the "handle kills" stuff better.
Bill Wendling [Wed, 20 Feb 2008 19:35:34 +0000 (19:35 +0000)]
Improve some comments explaining the "handle kills" stuff better.

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

16 years agoVerifier should use Assert1 instead of assert.
Devang Patel [Wed, 20 Feb 2008 19:32:20 +0000 (19:32 +0000)]
Verifier should use Assert1 instead of assert.

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

16 years agoRemove inline keywords from in-class function definitions, for
Dan Gohman [Wed, 20 Feb 2008 19:29:58 +0000 (19:29 +0000)]
Remove inline keywords from in-class function definitions, for
consistency.

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

16 years agogetresult type is the type of indexed aggregate element
Devang Patel [Wed, 20 Feb 2008 19:26:55 +0000 (19:26 +0000)]
getresult type is the type of indexed aggregate element

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

16 years agoRegenerate.
Devang Patel [Wed, 20 Feb 2008 19:13:10 +0000 (19:13 +0000)]
Regenerate.

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

16 years agoSpecify GetResultInst index as an unsigned.
Devang Patel [Wed, 20 Feb 2008 19:10:47 +0000 (19:10 +0000)]
Specify GetResultInst index as an unsigned.

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

16 years agoFix comment.
Bill Wendling [Wed, 20 Feb 2008 19:09:14 +0000 (19:09 +0000)]
Fix comment.

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

16 years agoassert is more effective reminder then FIXME tag for unimplemented features.
Devang Patel [Wed, 20 Feb 2008 18:37:40 +0000 (18:37 +0000)]
assert is more effective reminder then FIXME tag for unimplemented features.

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

16 years agoUse isValidOperands() to verify GetResultInst.
Devang Patel [Wed, 20 Feb 2008 18:36:46 +0000 (18:36 +0000)]
Use isValidOperands() to verify GetResultInst.

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

16 years agoFix typo. Add const version of getAggregateValue() accessor member function.
Devang Patel [Wed, 20 Feb 2008 18:36:16 +0000 (18:36 +0000)]
Fix typo. Add const version of getAggregateValue() accessor member function.

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

16 years agoTemporarily backing out r47337. It breaks a number of CBE tests.
Evan Cheng [Wed, 20 Feb 2008 18:32:05 +0000 (18:32 +0000)]
Temporarily backing out r47337. It breaks a number of CBE tests.

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

16 years agoLegalizeTypes support for scalarizing a vector store
Duncan Sands [Wed, 20 Feb 2008 17:38:09 +0000 (17:38 +0000)]
LegalizeTypes support for scalarizing a vector store
and splitting extract_subvector.  This fixes nine
"make check" testcases, for example
2008-02-04-ExtractSubvector.ll and (partially)
CodeGen/Generic/vector.ll.

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

16 years agoConvert Legalize to use the APInt form of ComputeMaskedBits.
Dan Gohman [Wed, 20 Feb 2008 16:57:27 +0000 (16:57 +0000)]
Convert Legalize to use the APInt form of ComputeMaskedBits.

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

16 years agoAdd explicit keywords.
Dan Gohman [Wed, 20 Feb 2008 16:44:09 +0000 (16:44 +0000)]
Add explicit keywords.

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

16 years agoConvert DAGCombiner to use the APInt form of ComputeMaskedBits.
Dan Gohman [Wed, 20 Feb 2008 16:33:30 +0000 (16:33 +0000)]
Convert DAGCombiner to use the APInt form of ComputeMaskedBits.

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

16 years agoUse APInt::intersects.
Dan Gohman [Wed, 20 Feb 2008 16:30:17 +0000 (16:30 +0000)]
Use APInt::intersects.

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

16 years agoAdd an intersects method to APInt, to capture a common idiom.
Dan Gohman [Wed, 20 Feb 2008 16:08:11 +0000 (16:08 +0000)]
Add an intersects method to APInt, to capture a common idiom.

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

16 years agoAdd documentation for cl::sink stuff
Anton Korobeynikov [Wed, 20 Feb 2008 12:38:31 +0000 (12:38 +0000)]
Add documentation for cl::sink stuff

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

16 years agoAdd 'sink' cmdline option. Patch by Mikhail Glushenkov!
Anton Korobeynikov [Wed, 20 Feb 2008 12:38:07 +0000 (12:38 +0000)]
Add 'sink' cmdline option. Patch by Mikhail Glushenkov!

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

16 years agoRegenerate
Anton Korobeynikov [Wed, 20 Feb 2008 12:10:37 +0000 (12:10 +0000)]
Regenerate

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

16 years agoFix newly-introduced 4.3 warnings
Anton Korobeynikov [Wed, 20 Feb 2008 12:07:57 +0000 (12:07 +0000)]
Fix newly-introduced 4.3 warnings

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

16 years agoGet rid of hash_map in llvmc
Anton Korobeynikov [Wed, 20 Feb 2008 11:28:26 +0000 (11:28 +0000)]
Get rid of hash_map in llvmc

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

16 years agoGet rid of hash_map. Use StringMap instead
Anton Korobeynikov [Wed, 20 Feb 2008 11:27:49 +0000 (11:27 +0000)]
Get rid of hash_map. Use StringMap instead

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

16 years agoAnd final pack of warnings silencing
Anton Korobeynikov [Wed, 20 Feb 2008 11:27:04 +0000 (11:27 +0000)]
And final pack of warnings silencing

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

16 years agoMake Transforms to be 4.3 warnings-clean
Anton Korobeynikov [Wed, 20 Feb 2008 11:26:25 +0000 (11:26 +0000)]
Make Transforms to be 4.3 warnings-clean

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

16 years agoFix code style
Anton Korobeynikov [Wed, 20 Feb 2008 11:24:05 +0000 (11:24 +0000)]
Fix code style

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

16 years agoRemove bunch of gcc 4.3-related warnings from Target
Anton Korobeynikov [Wed, 20 Feb 2008 11:22:39 +0000 (11:22 +0000)]
Remove bunch of gcc 4.3-related warnings from Target

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

16 years agoUpdate gcc 4.3 warnings fix patch with recent head changes
Anton Korobeynikov [Wed, 20 Feb 2008 11:10:28 +0000 (11:10 +0000)]
Update gcc 4.3 warnings fix patch with recent head changes

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

16 years agoUnbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
Anton Korobeynikov [Wed, 20 Feb 2008 11:08:44 +0000 (11:08 +0000)]
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.

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

16 years agoAdded some comments and reformatted others. No functionality change.
Bill Wendling [Wed, 20 Feb 2008 09:15:16 +0000 (09:15 +0000)]
Added some comments and reformatted others. No functionality change.

Added two "FIXMEs" for code that looks dubious to me (but I could be
wrong).

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

16 years agoFixed typo.
Bill Wendling [Wed, 20 Feb 2008 09:14:09 +0000 (09:14 +0000)]
Fixed typo.

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

16 years agoWhen performing return slot optimization, remember to inform memdep when we're removi...
Owen Anderson [Wed, 20 Feb 2008 08:23:02 +0000 (08:23 +0000)]
When performing return slot optimization, remember to inform memdep when we're removing the memcpy.

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

16 years agoAdded memmove to interpreter external functions list. Patch by Daniel Dunbar.
Evan Cheng [Wed, 20 Feb 2008 07:55:26 +0000 (07:55 +0000)]
Added memmove to interpreter external functions list. Patch by Daniel Dunbar.

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

16 years agoMore constification of things. More comments added. No functionality
Bill Wendling [Wed, 20 Feb 2008 07:36:31 +0000 (07:36 +0000)]
More constification of things. More comments added. No functionality
changes. (Sorry for any formatting changes that creeped in.)

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

16 years agoUse getConstant for ConstantInts.
Nick Lewycky [Wed, 20 Feb 2008 06:58:55 +0000 (06:58 +0000)]
Use getConstant for ConstantInts.

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

16 years agoAdd 'umax' similar to 'smax' SCEV. Closes PR2003.
Nick Lewycky [Wed, 20 Feb 2008 06:48:22 +0000 (06:48 +0000)]
Add 'umax' similar to 'smax' SCEV. Closes PR2003.

Parse reversed smax and umax as smin and umin and express them with negative
or binary-not SCEVs (which are really just subtract under the hood).

Parse 'xor %x, -1' as (-1 - %x).

Remove dead code (ConstantInt::get always returns a ConstantInt).

Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets
passed into a uint64_t. Instead, create the -1 directly from
ConstantInt::getAllOnesValue().

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

16 years agoFix an incredibly subtle bug exposed by Ted's change to APInt profiling.
Chris Lattner [Wed, 20 Feb 2008 06:28:01 +0000 (06:28 +0000)]
Fix an incredibly subtle bug exposed by Ted's change to APInt profiling.
AddNodeIDNode does profiling for a ConstantSDNode, but so does
SelectionDAG::getConstant.  This profiling should be moved to a common
static function in ConstantSDNode.

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

16 years agoNo functionality change:
Bill Wendling [Wed, 20 Feb 2008 06:10:21 +0000 (06:10 +0000)]
No functionality change:

 - Constified some MachineOperand values.
 - Added/Modified some comments.

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

16 years agoXFAIL this for now.
Evan Cheng [Wed, 20 Feb 2008 02:38:58 +0000 (02:38 +0000)]
XFAIL this for now.

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

16 years agoDisable for now. This is pessimizing code.
Evan Cheng [Wed, 20 Feb 2008 02:29:17 +0000 (02:29 +0000)]
Disable for now. This is pessimizing code.

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

16 years agoAdd some comments to Intrinsic::getDeclaration to clarify how to
Dan Gohman [Wed, 20 Feb 2008 01:07:51 +0000 (01:07 +0000)]
Add some comments to Intrinsic::getDeclaration to clarify how to
get declarations for overloaded intrinsics.

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

16 years agoAdd Alignment field to ParameterAttributes and
Dale Johannesen [Tue, 19 Feb 2008 23:51:49 +0000 (23:51 +0000)]
Add Alignment field to ParameterAttributes and
treat more or less rationally in interface
functions, subject to change.  No functional change.

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

16 years agoAdd hidden option -x86-fold-and-in-test to test the effect the test / and folding...
Evan Cheng [Tue, 19 Feb 2008 23:36:51 +0000 (23:36 +0000)]
Add hidden option -x86-fold-and-in-test to test the effect the test / and folding change.

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

16 years agoregenerate
Devang Patel [Tue, 19 Feb 2008 22:27:01 +0000 (22:27 +0000)]
regenerate

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

16 years agoParse
Devang Patel [Tue, 19 Feb 2008 22:26:37 +0000 (22:26 +0000)]
Parse
 %b = getresult {i32, i32} %a, i32 1

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

16 years agoAdd GetResultInst. First step for multiple return value support.
Devang Patel [Tue, 19 Feb 2008 22:15:16 +0000 (22:15 +0000)]
Add GetResultInst. First step for multiple return value support.

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

16 years agoGenerated files for checkin 47342.
Dale Johannesen [Tue, 19 Feb 2008 21:40:51 +0000 (21:40 +0000)]
Generated files for checkin 47342.

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

16 years agoForgot a file, goes with 47342.
Dale Johannesen [Tue, 19 Feb 2008 21:40:10 +0000 (21:40 +0000)]
Forgot a file, goes with 47342.

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

16 years agoExpand ParameterAttributes to 32 bits (in preparation
Dale Johannesen [Tue, 19 Feb 2008 21:38:47 +0000 (21:38 +0000)]
Expand ParameterAttributes to 32 bits (in preparation
for adding alignment info, not there yet).  Clean up
interfaces to reference ParameterAttributes consistently.

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

16 years agoFixed bug in APInt::Profile() where the BitWidth field was not included in the
Ted Kremenek [Tue, 19 Feb 2008 20:50:41 +0000 (20:50 +0000)]
Fixed bug in APInt::Profile() where the BitWidth field was not included in the
profile of the APSInt object. This caused unexpected Profile collisions where
none should have occurred.

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

16 years agofix some byval problems in the cbe. Closes PR2065
Andrew Lenharth [Tue, 19 Feb 2008 19:47:54 +0000 (19:47 +0000)]
fix some byval problems in the cbe.  Closes PR2065

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

16 years agorandom cleanups.
Chris Lattner [Tue, 19 Feb 2008 18:49:08 +0000 (18:49 +0000)]
random cleanups.

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

16 years agothis test requires sse2
Chris Lattner [Tue, 19 Feb 2008 18:07:46 +0000 (18:07 +0000)]
this test requires sse2

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

16 years agoDon't fold and's into test instructions if they have multiple uses.
Chris Lattner [Tue, 19 Feb 2008 17:37:35 +0000 (17:37 +0000)]
Don't fold and's into test instructions if they have multiple uses.
This compiles test-nofold.ll into:

_test:
movl $15, %ecx
andl 4(%esp), %ecx
testl %ecx, %ecx
movl $42, %eax
cmove %ecx, %eax
ret

instead of:
_test:
movl 4(%esp), %eax
movl %eax, %ecx
andl $15, %ecx
testl $15, %eax
movl $42, %eax
cmove %ecx, %eax
ret

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

16 years agorename tests to avoid a test- prefix when they aren't related to the test instruction.
Chris Lattner [Tue, 19 Feb 2008 17:33:52 +0000 (17:33 +0000)]
rename tests to avoid a test- prefix when they aren't related to the test instruction.

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

16 years agoFix a compiler warning.
Duncan Sands [Tue, 19 Feb 2008 09:28:48 +0000 (09:28 +0000)]
Fix a compiler warning.

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

16 years agoRemove llvm-upgrade and update tests.
Tanya Lattner [Tue, 19 Feb 2008 08:07:33 +0000 (08:07 +0000)]
Remove llvm-upgrade and update tests.

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

16 years agodead pass
Chris Lattner [Tue, 19 Feb 2008 07:58:11 +0000 (07:58 +0000)]
dead pass

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

16 years agoremove the LowerSelect pass. The last client was the old Sparc backend, which is...
Chris Lattner [Tue, 19 Feb 2008 07:49:17 +0000 (07:49 +0000)]
remove the LowerSelect pass.  The last client was the old Sparc backend, which is long dead by now.

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

16 years agoremove the lower packed pass. It can never work and even the parts that
Chris Lattner [Tue, 19 Feb 2008 07:39:17 +0000 (07:39 +0000)]
remove the lower packed pass.  It can never work and even the parts that
could work don't work fully.  This fixes PR1705.  Oh yeah, we don't have
packed types anymore either ;-)

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

16 years agoRefactor this method a bit, and correct a test that was completely wrong but happened...
Owen Anderson [Tue, 19 Feb 2008 07:07:51 +0000 (07:07 +0000)]
Refactor this method a bit, and correct a test that was completely wrong but happened to work out anyways. :-)

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

16 years agoisa+cast -> dyncast.
Chris Lattner [Tue, 19 Feb 2008 06:53:20 +0000 (06:53 +0000)]
isa+cast -> dyncast.

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

16 years agosimplify this code again, try 2 :)
Chris Lattner [Tue, 19 Feb 2008 06:52:38 +0000 (06:52 +0000)]
simplify  this code again, try 2 :)

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

16 years agoFix a comment.
Owen Anderson [Tue, 19 Feb 2008 06:51:23 +0000 (06:51 +0000)]
Fix a comment.

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

16 years agoIn addition to arguments passed to it, memcpy (and all other calls) can ModRef pointe...
Owen Anderson [Tue, 19 Feb 2008 06:47:18 +0000 (06:47 +0000)]
In addition to arguments passed to it, memcpy (and all other calls) can ModRef pointers that alias their arguments as well.  This fixes PR2057.

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

16 years agoMajor improvements to yesterday's return slot optimization. Remove some unneccessary...
Owen Anderson [Tue, 19 Feb 2008 06:35:43 +0000 (06:35 +0000)]
Major improvements to yesterday's return slot optimization.  Remove some unneccessary constraints,
and add some others that should have been in from the first place.  Document the whole thing better.

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

16 years agoFix some minor issues folding undef, PR2052
Chris Lattner [Tue, 19 Feb 2008 06:22:12 +0000 (06:22 +0000)]
Fix some minor issues folding undef, PR2052

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

16 years agofdiv/frem of undef can produce undef, because the undef operand
Chris Lattner [Tue, 19 Feb 2008 06:12:18 +0000 (06:12 +0000)]
fdiv/frem of undef can produce undef, because the undef operand
can be a SNaN.  We could be more aggressive and turn this into
unreachable, but that is less nice, and not really worth it.

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

16 years agoregenerate
Chris Lattner [Tue, 19 Feb 2008 04:36:25 +0000 (04:36 +0000)]
regenerate

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

16 years agoFix PR2060 by rejecting invalid types for integer constants.
Chris Lattner [Tue, 19 Feb 2008 04:36:07 +0000 (04:36 +0000)]
Fix PR2060 by rejecting invalid types for integer constants.

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

16 years agoFactor the profitability check for return slot optimization out into a static function.
Owen Anderson [Tue, 19 Feb 2008 03:27:34 +0000 (03:27 +0000)]
Factor the profitability check for return slot optimization out into a static function.
At some point in the future, this check will become smarter.

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

16 years agoAn sret parameter is required to be the first parameter, so there's no need to loop
Owen Anderson [Tue, 19 Feb 2008 03:15:29 +0000 (03:15 +0000)]
An sret parameter is required to be the first parameter, so there's no need to loop
over all the parameters of the callee looking for it.

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

16 years agoDon't spew stats to stderr.
Nick Lewycky [Tue, 19 Feb 2008 03:11:47 +0000 (03:11 +0000)]
Don't spew stats to stderr.

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

16 years agoCleanup some of my patches from yesterday. Refactor the check for which xform
Owen Anderson [Tue, 19 Feb 2008 03:09:45 +0000 (03:09 +0000)]
Cleanup some of my patches from yesterday.  Refactor the check for which xform
to apply to a memcpy into processInstruction.  Also, fix a bug in the check due to
missing braces.

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

16 years agoFix up the run line for this new test.
Nick Lewycky [Tue, 19 Feb 2008 02:58:36 +0000 (02:58 +0000)]
Fix up the run line for this new test.
llc: for the -info-output-file option:  requires a value!

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

16 years agoFix Transforms/GVN/memcpy.ll, which Chris broke in r47275 by reordering the branches...
Owen Anderson [Tue, 19 Feb 2008 02:53:23 +0000 (02:53 +0000)]
Fix Transforms/GVN/memcpy.ll, which Chris broke in r47275 by reordering the branches.  memcpy's are a kind of CallInst.

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

16 years agoNew test.
Evan Cheng [Tue, 19 Feb 2008 02:09:58 +0000 (02:09 +0000)]
New test.

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

16 years agoPR1909: Tail merging pass ran wild. It makes no sense to merge blocks in order to...
Evan Cheng [Tue, 19 Feb 2008 02:09:37 +0000 (02:09 +0000)]
PR1909: Tail merging pass ran wild. It makes no sense to merge blocks in order to save a single instruction since a branch will be inserted for each BB.

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

16 years agoMe not like duplicated comments.
Evan Cheng [Tue, 19 Feb 2008 02:05:16 +0000 (02:05 +0000)]
Me not like duplicated comments.

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

16 years agoRemove llvm-upgrade and update tests.
Tanya Lattner [Tue, 19 Feb 2008 01:44:26 +0000 (01:44 +0000)]
Remove llvm-upgrade and update tests.

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

16 years agoRemove llvm-upgrade and update tests.
Tanya Lattner [Tue, 19 Feb 2008 01:41:04 +0000 (01:41 +0000)]
Remove llvm-upgrade and update tests.

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

16 years ago- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check...
Evan Cheng [Mon, 18 Feb 2008 23:04:32 +0000 (23:04 +0000)]
- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type.
- X86 now normalize SCALAR_TO_VECTOR to (BIT_CONVERT (v4i32 SCALAR_TO_VECTOR)). Get rid of X86ISD::S2VEC.

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

16 years agoCorrectly fold divide-by-constant, even when faced with overflow.
Nick Lewycky [Mon, 18 Feb 2008 22:48:05 +0000 (22:48 +0000)]
Correctly fold divide-by-constant, even when faced with overflow.

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

16 years agoChris pointed out that it's not necessary to set i64 MUL to Expand
Dan Gohman [Mon, 18 Feb 2008 19:34:53 +0000 (19:34 +0000)]
Chris pointed out that it's not necessary to set i64 MUL to Expand
on x86-32 since i64 itself is not a Legal type. And, update some
comments.

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

16 years ago- Remove the previous check which broke coalescer-commute3.ll
Evan Cheng [Mon, 18 Feb 2008 18:56:31 +0000 (18:56 +0000)]
- Remove the previous check which broke coalescer-commute3.ll
- For now, conservatively ignore copy MI whose source is a physical register. Commuting its def MI can cause a physical register live interval to be live through a loop (since we know it's live coming into the def MI).

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

16 years agoupgrade some tests.
Chris Lattner [Mon, 18 Feb 2008 18:46:39 +0000 (18:46 +0000)]
upgrade some tests.

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

16 years agoAdd a note
Nate Begeman [Mon, 18 Feb 2008 18:39:23 +0000 (18:39 +0000)]
Add a note

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

16 years agoAdd a note about sext from i1 plus flags use.
Chris Lattner [Mon, 18 Feb 2008 18:30:13 +0000 (18:30 +0000)]
Add a note about sext from i1 plus flags use.

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

16 years agoDon't mark scalar integer multiplication as Expand on x86, since x86
Dan Gohman [Mon, 18 Feb 2008 17:55:26 +0000 (17:55 +0000)]
Don't mark scalar integer multiplication as Expand on x86, since x86
has plain one-result scalar integer multiplication instructions.
This avoids expanding such instructions into MUL_LOHI sequences that
must be special-cased at isel time, and avoids the problem with that
code that provented memory operands from being folded.

This fixes PR1874, addressesing the most common case. The uncommon
cases of optimizing multiply-high operations will require work
in DAGCombiner.

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

16 years agoTransforming -A + -B --> -(A + B) isn't safe for FP, thanks
Chris Lattner [Mon, 18 Feb 2008 17:50:16 +0000 (17:50 +0000)]
Transforming -A + -B  -->  -(A + B) isn't safe for FP, thanks
to Dale for noticing this!

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

16 years agominor code simplification, no functionality change.
Chris Lattner [Mon, 18 Feb 2008 17:47:29 +0000 (17:47 +0000)]
minor code simplification, no functionality change.

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

16 years agomake this just a bit more strict.
Chris Lattner [Mon, 18 Feb 2008 17:33:10 +0000 (17:33 +0000)]
make this just a bit more strict.

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

16 years agoSimplify caller updating using a CallSite, as
Duncan Sands [Mon, 18 Feb 2008 17:32:13 +0000 (17:32 +0000)]
Simplify caller updating using a CallSite, as
requested by Chris.  While there, do the same
for an existing function committed by someone
called "lattner" :)

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

16 years agodon't bother calling getUnderlyingObject for non-pointers.
Chris Lattner [Mon, 18 Feb 2008 17:28:21 +0000 (17:28 +0000)]
don't bother calling getUnderlyingObject for non-pointers.

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

16 years agoFix a missing space in the description of the find-bugs option.
Dan Gohman [Mon, 18 Feb 2008 17:15:45 +0000 (17:15 +0000)]
Fix a missing space in the description of the find-bugs option.

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