Chris Lattner [Thu, 21 Feb 2008 05:27:08 +0000 (05:27 +0000)]
testcase for PR1133
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Feb 2008 04:55:52 +0000 (04:55 +0000)]
Fix a (harmless) but where vregs were added to the used reg lists for
inline asms.
Fix PR2078 by marking aliases of registers used when a register is
marked used. This prevents EAX from being allocated when AX is listed
in the clobber set for the asm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47426
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 21 Feb 2008 02:14:01 +0000 (02:14 +0000)]
Let invoke return aggregate value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47425
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 21 Feb 2008 01:54:02 +0000 (01:54 +0000)]
Let function call return aggregate.
Now, we have very first multiple return value testcase!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47424
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 21 Feb 2008 01:41:25 +0000 (01:41 +0000)]
Add -disable-output option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47422
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 21 Feb 2008 00:34:19 +0000 (00:34 +0000)]
Clean up some spilling code using MachineRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47416
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Feb 2008 23:10:42 +0000 (23:10 +0000)]
XFAIL for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47411
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Feb 2008 22:51:28 +0000 (22:51 +0000)]
Now functions can return aggregate values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47409
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Feb 2008 22:40:23 +0000 (22:40 +0000)]
regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47408
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Feb 2008 22:39:45 +0000 (22:39 +0000)]
Parse
ret i32 1, i8 2
another step towards multiple return value support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47407
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Feb 2008 22:36:03 +0000 (22:36 +0000)]
What if functions can return aggregate values ?
One small step towards multiple return value support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47406
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 20 Feb 2008 21:15:43 +0000 (21:15 +0000)]
Regenerated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47402
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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