oota-llvm.git
17 years agoRemove DSA tests.
John Criswell [Wed, 13 Dec 2006 17:02:04 +0000 (17:02 +0000)]
Remove DSA tests.

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

17 years agoRemove DSA.
John Criswell [Wed, 13 Dec 2006 16:54:24 +0000 (16:54 +0000)]
Remove DSA.

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

17 years agoFor mul transforms, when checking for a cast from bool as either operand,
Reid Spencer [Wed, 13 Dec 2006 08:33:33 +0000 (08:33 +0000)]
For mul transforms, when checking for a cast from bool as either operand,
make sure to also check that it is a zext from bool, not any other cast
operation type.

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

17 years agoFix and/or/xor (cast A), (cast B) --> cast (and/or/xor A, B)
Reid Spencer [Wed, 13 Dec 2006 08:27:15 +0000 (08:27 +0000)]
Fix and/or/xor (cast A), (cast B) --> cast (and/or/xor A, B)
The cast patch introduced the possibility that the wrong cast opcode
could be used and that this transform could trigger on different kinds
of cast operations. This patch rectifies that.

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

17 years agoRessurrect this needed file.
Reid Spencer [Wed, 13 Dec 2006 08:10:16 +0000 (08:10 +0000)]
Ressurrect this needed file.

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

17 years agoRessurrect the Stacker "st" configuration. Someday this will all go
Reid Spencer [Wed, 13 Dec 2006 08:09:48 +0000 (08:09 +0000)]
Ressurrect the Stacker "st" configuration. Someday this will all go
away, but until then Stacker needs its configuration.

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

17 years agoChange the interface to SCEVExpander::InsertCastOfTo to take a cast opcode
Reid Spencer [Wed, 13 Dec 2006 08:06:42 +0000 (08:06 +0000)]
Change the interface to SCEVExpander::InsertCastOfTo to take a cast opcode
so the decision of which opcode to use is pushed upward to the caller.
Adjust the callers to pass the expected opcode.

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

17 years agoFix some casts. isdigit(c) returns 0 or 1, not 0 or -1
Reid Spencer [Wed, 13 Dec 2006 08:04:32 +0000 (08:04 +0000)]
Fix some casts. isdigit(c) returns 0 or 1, not 0 or -1

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

17 years agoUpdate for llvm-gcc4 build.
Reid Spencer [Wed, 13 Dec 2006 08:03:25 +0000 (08:03 +0000)]
Update for llvm-gcc4 build.

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

17 years agoUpdate comments.
Evan Cheng [Wed, 13 Dec 2006 06:12:35 +0000 (06:12 +0000)]
Update comments.

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

17 years agoUpdate comments.
Evan Cheng [Wed, 13 Dec 2006 06:09:03 +0000 (06:09 +0000)]
Update comments.

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

17 years agoonly check non-external functions
Chris Lattner [Wed, 13 Dec 2006 04:45:46 +0000 (04:45 +0000)]
only check non-external functions

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

17 years agoReject attempts to define intrinsics. This fixes PR1047 and
Chris Lattner [Wed, 13 Dec 2006 04:30:37 +0000 (04:30 +0000)]
Reject attempts to define intrinsics.  This fixes PR1047 and
Regression/Verifier/2006-12-12-IntrinsicDefine.ll

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

17 years agoNew testcase for PR1047
Chris Lattner [Wed, 13 Dec 2006 04:30:18 +0000 (04:30 +0000)]
New testcase for PR1047

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

17 years agoExpand (f64 extload f32) to (f64 fp_ext (load f32)) if f64 type action is expand.
Evan Cheng [Wed, 13 Dec 2006 03:19:57 +0000 (03:19 +0000)]
Expand (f64 extload f32) to (f64 fp_ext (load f32)) if f64 type action is expand.

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

17 years agoExpand fsqrt, fsin, and fcos to libcalls.
Evan Cheng [Wed, 13 Dec 2006 02:38:13 +0000 (02:38 +0000)]
Expand fsqrt, fsin, and fcos to libcalls.

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

17 years agoAdd #ifdef switch toggle between old and new pass manager. However,
Devang Patel [Wed, 13 Dec 2006 02:36:01 +0000 (02:36 +0000)]
Add #ifdef switch toggle between old and new pass manager.  However,
continue to use old pass manager at the moment. To use new manager
remove #define USE_OLD_PASSMANAGER 1 from Pass.h

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

17 years agorevert my recent int<->fp and vector union promotion changes, they expose
Chris Lattner [Wed, 13 Dec 2006 02:26:45 +0000 (02:26 +0000)]
revert my recent int<->fp and vector union promotion changes, they expose
obscure bugs affecting the X86 code generator.  I will reenable this
when fixed.

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

17 years agoExpand f32 / f64 to i32 / i64 conversion to soft-fp library calls.
Evan Cheng [Wed, 13 Dec 2006 01:57:55 +0000 (01:57 +0000)]
Expand f32 / f64 to i32 / i64 conversion to soft-fp library calls.

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

17 years agoFix a regression that completely broke make install.
Chris Lattner [Wed, 13 Dec 2006 01:15:18 +0000 (01:15 +0000)]
Fix a regression that completely broke make install.
Instead of installing into /usr/local/bin it would install into /usr/localbin

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

17 years agoReplace CastInst::createInferredCast calls with more accurate cast
Reid Spencer [Wed, 13 Dec 2006 00:50:17 +0000 (00:50 +0000)]
Replace CastInst::createInferredCast calls with more accurate cast
creation calls.

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

17 years agoChange createInferredCast calls to more accurate cast creation calls.
Reid Spencer [Wed, 13 Dec 2006 00:47:58 +0000 (00:47 +0000)]
Change createInferredCast calls to more accurate cast creation calls.

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

17 years agoFunctionPassManager does not support runOnModule().
Devang Patel [Wed, 13 Dec 2006 00:34:32 +0000 (00:34 +0000)]
FunctionPassManager does not support runOnModule().

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

17 years agoMove getAnalysis() and getAnalysisID() definitions from Pass.h to
Devang Patel [Wed, 13 Dec 2006 00:23:44 +0000 (00:23 +0000)]
Move getAnalysis() and getAnalysisID() definitions from Pass.h to
PassAnalysisSupport.h

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

17 years agoImplement PassManager_New destructors.
Devang Patel [Wed, 13 Dec 2006 00:09:23 +0000 (00:09 +0000)]
Implement PassManager_New destructors.

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

17 years agoRemove unused constructor.
Devang Patel [Tue, 12 Dec 2006 23:51:31 +0000 (23:51 +0000)]
Remove unused constructor.

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

17 years agoReplace inferred getCast(V,Ty) calls with more strict variants.
Reid Spencer [Tue, 12 Dec 2006 23:36:14 +0000 (23:36 +0000)]
Replace inferred getCast(V,Ty) calls with more strict variants.
Rename getZeroExtend and getSignExtend to getZExt and getSExt to match
the the casting mnemonics in the rest of LLVM.

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

17 years agoAdd routines to dump pass manager queue.
Devang Patel [Tue, 12 Dec 2006 23:34:33 +0000 (23:34 +0000)]
Add routines to dump pass manager queue.

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

17 years agoFunctionPassManager()
Devang Patel [Tue, 12 Dec 2006 23:27:37 +0000 (23:27 +0000)]
FunctionPassManager()

Set AnalysisResolver_New and add FPM to PassManagers list.

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

17 years agoDo not runOnFunction on external functions.
Devang Patel [Tue, 12 Dec 2006 23:15:28 +0000 (23:15 +0000)]
Do not runOnFunction on external functions.

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

17 years agoInitialize AnalysisImpls for each pass before executing the pass.
Devang Patel [Tue, 12 Dec 2006 23:13:09 +0000 (23:13 +0000)]
Initialize AnalysisImpls for each pass before executing the pass.

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

17 years agocollectRequiredAnalysisPasses().
Devang Patel [Tue, 12 Dec 2006 23:09:32 +0000 (23:09 +0000)]
collectRequiredAnalysisPasses().

Include RequiredTrainsitiveSet also.

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

17 years agoremoveNotPreservedAnalysis().
Devang Patel [Tue, 12 Dec 2006 23:07:44 +0000 (23:07 +0000)]
removeNotPreservedAnalysis().

Do not remove ImmutablePass from the list.

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

17 years agoInitialize activeManager.
Devang Patel [Tue, 12 Dec 2006 22:57:43 +0000 (22:57 +0000)]
Initialize activeManager.

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

17 years agoRemove unused constructor.
Devang Patel [Tue, 12 Dec 2006 22:56:36 +0000 (22:56 +0000)]
Remove unused constructor.

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

17 years agoMaintain ImmutablePasses list at top level only. Do not make them
Devang Patel [Tue, 12 Dec 2006 22:53:40 +0000 (22:53 +0000)]
Maintain ImmutablePasses list at top level only. Do not make them
directly available to individual managers.

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

17 years agofindAnalysisPass().
Devang Patel [Tue, 12 Dec 2006 22:50:05 +0000 (22:50 +0000)]
findAnalysisPass().

First search all available passes before searching ImmutablePasses.

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

17 years agoFix thinko.
Devang Patel [Tue, 12 Dec 2006 22:47:13 +0000 (22:47 +0000)]
Fix thinko.
While searching for a analysis in a pass manager, do not search it into
pass manager's manager.

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

17 years agoo s/OtherPassManagers/IndirectPassManagers
Devang Patel [Tue, 12 Dec 2006 22:35:25 +0000 (22:35 +0000)]
o s/OtherPassManagers/IndirectPassManagers
o Make IndirectPassManagers vector of PMDataManager *
o Move PMTopLevelManager implementation below all class declarations.

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

17 years agoInitialize AnalysisImpls for ImmutablePass.
Devang Patel [Tue, 12 Dec 2006 22:21:37 +0000 (22:21 +0000)]
Initialize AnalysisImpls for ImmutablePass.

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

17 years agoExpand FP constant to integers if FP types are not legal.
Evan Cheng [Tue, 12 Dec 2006 22:19:28 +0000 (22:19 +0000)]
Expand FP constant to integers if FP types are not legal.

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

17 years agoSet top level manager.
Devang Patel [Tue, 12 Dec 2006 22:02:16 +0000 (22:02 +0000)]
Set top level manager.

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

17 years agoSoft fp FNEG, SINT_TO_FP, UINT_TO_FP libcall expansion.
Evan Cheng [Tue, 12 Dec 2006 21:51:17 +0000 (21:51 +0000)]
Soft fp FNEG, SINT_TO_FP, UINT_TO_FP libcall expansion.

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

17 years agoExpand ConstantFP to load from CP if float types are being expanded.
Evan Cheng [Tue, 12 Dec 2006 21:32:44 +0000 (21:32 +0000)]
Expand ConstantFP to load from CP if float types are being expanded.

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

17 years agoExpand i32/i64 CopyToReg f32/f64 to BIT_CONVERT + CopyToReg.
Evan Cheng [Tue, 12 Dec 2006 21:21:32 +0000 (21:21 +0000)]
Expand i32/i64 CopyToReg f32/f64 to BIT_CONVERT + CopyToReg.

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

17 years agoHonor cpu directive, take two.
Jim Laskey [Tue, 12 Dec 2006 20:57:08 +0000 (20:57 +0000)]
Honor cpu directive, take two.

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

17 years agoIgnore entries with blank names.
Jim Laskey [Tue, 12 Dec 2006 20:55:58 +0000 (20:55 +0000)]
Ignore entries with blank names.

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

17 years ago- When expanding a bit_convert whose src operand is also to be expanded and
Evan Cheng [Tue, 12 Dec 2006 19:53:13 +0000 (19:53 +0000)]
- When expanding a bit_convert whose src operand is also to be expanded and
its expansion result type is equal to the result type of the bit_convert,
e.g. (i64 bit_convert (f64 op)) if FP is not legal
returns the result of the expanded source operand.
- Store f32 / f64 may be expanded to a single store i32/i64.

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

17 years agoRemove unneeded include.
Jim Laskey [Tue, 12 Dec 2006 19:36:53 +0000 (19:36 +0000)]
Remove unneeded include.

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

17 years agoRollback changes to take a different tack.
Jim Laskey [Tue, 12 Dec 2006 19:26:50 +0000 (19:26 +0000)]
Rollback changes to take a different tack.

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

17 years agothis can be trunc or bitcast, per line 3092.
Chris Lattner [Tue, 12 Dec 2006 19:11:20 +0000 (19:11 +0000)]
this can be trunc or bitcast, per line 3092.

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

17 years agoFix regression on 400.perlbench last night.
Chris Lattner [Tue, 12 Dec 2006 18:41:03 +0000 (18:41 +0000)]
Fix regression on 400.perlbench last night.

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

17 years agomore general matching of the MVN instruction
Rafael Espindola [Tue, 12 Dec 2006 17:10:13 +0000 (17:10 +0000)]
more general matching of the MVN instruction

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

17 years agoHonor the command line specification for machine type.
Jim Laskey [Tue, 12 Dec 2006 16:07:33 +0000 (16:07 +0000)]
Honor the command line specification for machine type.

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

17 years agodon't use "ordinary" addressing mode 1 when mvn is appropriate
Rafael Espindola [Tue, 12 Dec 2006 14:03:29 +0000 (14:03 +0000)]
don't use "ordinary" addressing mode 1 when mvn is appropriate

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

17 years agoReduce number of instructions to load 64-bit constants.
Jim Laskey [Tue, 12 Dec 2006 13:23:43 +0000 (13:23 +0000)]
Reduce number of instructions to load 64-bit constants.

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

17 years agoFix numerous inferred casts.
Reid Spencer [Tue, 12 Dec 2006 09:18:51 +0000 (09:18 +0000)]
Fix numerous inferred casts.

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

17 years agoGet even more accurate on the casting.
Reid Spencer [Tue, 12 Dec 2006 09:17:50 +0000 (09:17 +0000)]
Get even more accurate on the casting.

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

17 years agoFix the casting for the computation of the Malloc size.
Reid Spencer [Tue, 12 Dec 2006 09:17:08 +0000 (09:17 +0000)]
Fix the casting for the computation of the Malloc size.

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

17 years agoExpand formal arguments and call arguments recursively: e.g. f64 -> i64 -> 2 x i32.
Evan Cheng [Tue, 12 Dec 2006 07:27:38 +0000 (07:27 +0000)]
Expand formal arguments and call arguments recursively: e.g. f64 -> i64 -> 2 x i32.

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

17 years agoDon't create usless casts for same-bith-width floating point casts.
Reid Spencer [Tue, 12 Dec 2006 05:38:50 +0000 (05:38 +0000)]
Don't create usless casts for same-bith-width floating point casts.

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

17 years agofit in 80 cols
Chris Lattner [Tue, 12 Dec 2006 05:22:21 +0000 (05:22 +0000)]
fit in 80 cols

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

17 years agothis can only be fptrunc.
Chris Lattner [Tue, 12 Dec 2006 05:21:51 +0000 (05:21 +0000)]
this can only be fptrunc.

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

17 years agoThis case isn't needed with recent changes to ConstantInt::get
Chris Lattner [Tue, 12 Dec 2006 05:19:46 +0000 (05:19 +0000)]
This case isn't needed with recent changes to ConstantInt::get

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

17 years agosplit up inttoptr from ptrtoint handling, the cases aren't similar at all.
Chris Lattner [Tue, 12 Dec 2006 05:18:19 +0000 (05:18 +0000)]
split up inttoptr from ptrtoint handling, the cases aren't similar at all.

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

17 years agothe operand of a bitcast is always the right size, just emit it in place.
Chris Lattner [Tue, 12 Dec 2006 05:14:13 +0000 (05:14 +0000)]
the operand of a bitcast is always the right size, just emit it in place.

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

17 years agoChange inferred getCast into specific getCast. Passes all tests.
Reid Spencer [Tue, 12 Dec 2006 05:05:00 +0000 (05:05 +0000)]
Change inferred getCast into specific getCast. Passes all tests.

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

17 years agoPatch for PR1045 and Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll
Chris Lattner [Tue, 12 Dec 2006 04:24:41 +0000 (04:24 +0000)]
Patch for PR1045 and Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll

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

17 years agonew testcase for pr1045
Chris Lattner [Tue, 12 Dec 2006 04:24:17 +0000 (04:24 +0000)]
new testcase for pr1045

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

17 years agoRevert Nate's patch to fix X86/store-fp-constant.ll. With the dag combiner
Chris Lattner [Tue, 12 Dec 2006 04:18:56 +0000 (04:18 +0000)]
Revert Nate's patch to fix X86/store-fp-constant.ll.  With the dag combiner
and legalizer separated like they currently are, I don't see a way to handle
this xform.

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

17 years agomake this code more aggressive about turning store fpimm into store int imm.
Chris Lattner [Tue, 12 Dec 2006 04:16:14 +0000 (04:16 +0000)]
make this code more aggressive about turning store fpimm into store int imm.
This is not sufficient to fix X86/store-fp-constant.ll

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

17 years agoThis should check for darwin literal sections as well.
Chris Lattner [Tue, 12 Dec 2006 03:59:46 +0000 (03:59 +0000)]
This should check for darwin literal sections as well.

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

17 years agoteach scev to analyze X*4|1 like X*4+c. This allows us to produce:
Chris Lattner [Tue, 12 Dec 2006 02:26:09 +0000 (02:26 +0000)]
teach scev to analyze X*4|1 like X*4+c.  This allows us to produce:

LBB1_1: #bb
        movdqa (%esi), %xmm2
        movaps %xmm2, %xmm3
        punpcklbw %xmm0, %xmm3
        movaps %xmm3, %xmm4
        punpcklwd %xmm0, %xmm4
        cvtdq2ps %xmm4, %xmm4
        mulps %xmm1, %xmm4
        movaps %xmm4, (%edi)
        leal 1(,%eax,4), %ebx
        shll $4, %ebx
        punpckhwd %xmm0, %xmm3
        cvtdq2ps %xmm3, %xmm3
        mulps %xmm1, %xmm3
        movaps %xmm3, (%edx,%ebx)
        leal 2(,%eax,4), %ebx
        shll $4, %ebx
        punpckhbw %xmm0, %xmm2
        movaps %xmm2, %xmm3
        punpcklwd %xmm0, %xmm3
        cvtdq2ps %xmm3, %xmm3
        mulps %xmm1, %xmm3
        movaps %xmm3, (%edx,%ebx)
        leal 3(,%eax,4), %ebx
        shll $4, %ebx
        punpckhwd %xmm0, %xmm2
        cvtdq2ps %xmm2, %xmm2
        mulps %xmm1, %xmm2
        movaps %xmm2, (%edx,%ebx)
        addl $64, %edi
        incl %eax
        addl $16, %esi
        cmpl %ecx, %eax
        jne LBB1_1      #bb

instead of:

LBB1_1: #bb
        movdqa (%esi), %xmm2
        movaps %xmm2, %xmm3
        punpcklbw %xmm0, %xmm3
        movaps %xmm3, %xmm4
        punpcklwd %xmm0, %xmm4
        cvtdq2ps %xmm4, %xmm4
        mulps %xmm1, %xmm4
        movaps %xmm4, (%edi)
        leal 1(,%eax,4), %ebx
        shll $4, %ebx
        punpckhwd %xmm0, %xmm3
        cvtdq2ps %xmm3, %xmm3
        mulps %xmm1, %xmm3
        movaps %xmm3, (%edx,%ebx)
        leal 2(,%eax,4), %ebx
        shll $4, %ebx
        punpckhbw %xmm0, %xmm2
        movaps %xmm2, %xmm3
        punpcklwd %xmm0, %xmm3
        cvtdq2ps %xmm3, %xmm3
        mulps %xmm1, %xmm3
        movaps %xmm3, (%edx,%ebx)
        leal 3(,%eax,4), %ebx
        shll $4, %ebx
        punpckhwd %xmm0, %xmm2
        cvtdq2ps %xmm2, %xmm2
        mulps %xmm1, %xmm2
        movaps %xmm2, (%edx,%ebx)
        addl $64, %edi
        incl %eax
        addl $16, %esi
        cmpl %ecx, %eax
        jne LBB1_1      #bb

for a testcase.

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

17 years agoTidy up a bit.
Reid Spencer [Tue, 12 Dec 2006 01:32:02 +0000 (01:32 +0000)]
Tidy up a bit.

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

17 years agoGenerate the correct cast opcode for constant expressions.
Reid Spencer [Tue, 12 Dec 2006 01:31:37 +0000 (01:31 +0000)]
Generate the correct cast opcode for constant expressions.

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

17 years agoChange inferred cast creation calls to more specific cast creations.
Reid Spencer [Tue, 12 Dec 2006 01:17:41 +0000 (01:17 +0000)]
Change inferred cast creation calls to more specific cast creations.

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

17 years agouse MVN to handle small negative constants
Rafael Espindola [Tue, 12 Dec 2006 01:03:11 +0000 (01:03 +0000)]
use MVN to handle small negative constants

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

17 years agoDon't bother upgrading this.
Reid Spencer [Tue, 12 Dec 2006 00:53:31 +0000 (00:53 +0000)]
Don't bother upgrading this.

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

17 years agoImplement getIntegerCast and getFPCast for ConstantExpr. These are similar
Reid Spencer [Tue, 12 Dec 2006 00:51:07 +0000 (00:51 +0000)]
Implement getIntegerCast and getFPCast for ConstantExpr. These are similar
to the createIntegerCast and createFPCast for CastInst instructions.

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

17 years agoImplement createIntegerCast and createFPCast factory methods for handling
Reid Spencer [Tue, 12 Dec 2006 00:49:44 +0000 (00:49 +0000)]
Implement createIntegerCast and createFPCast factory methods for handling
integer and floating point cast creation. createIntegerCast generates
ZExt/SExt, BitCast or Trunc. createFPCast generates FPExt, Bitcast, or
FPTrunc.

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

17 years agoFix PR1040:
Reid Spencer [Tue, 12 Dec 2006 00:43:38 +0000 (00:43 +0000)]
Fix PR1040:
Don't rebuild llvm-config if none of the library dependencies changed.

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

17 years agoadd mvn
Rafael Espindola [Tue, 12 Dec 2006 00:37:38 +0000 (00:37 +0000)]
add mvn

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

17 years agoFix the BitCastUnion type for 32-bit targets.
Reid Spencer [Tue, 12 Dec 2006 00:11:08 +0000 (00:11 +0000)]
Fix the BitCastUnion type for 32-bit targets.

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

17 years agoadd note
Rafael Espindola [Mon, 11 Dec 2006 23:56:10 +0000 (23:56 +0000)]
add note

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

17 years agoAnother step forward in PPC64 JIT support: we now no-longer need stubs
Chris Lattner [Mon, 11 Dec 2006 23:22:45 +0000 (23:22 +0000)]
Another step forward in PPC64 JIT support: we now no-longer need stubs
emitted for external globals in PPC64-JIT-PIC mode (which is good because
we didn't handle them before!).

This also fixes a bug handling the picbase delta, which we would get wrong
in some cases.

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

17 years agoCreate the cast constant expression that was read instead of attempting
Reid Spencer [Mon, 11 Dec 2006 23:20:20 +0000 (23:20 +0000)]
Create the cast constant expression that was read instead of attempting
to infer the cast from its operand and type. This fixes:
test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll

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

17 years agoTest case for ensuring correct reading back of cast constant expressions.
Reid Spencer [Mon, 11 Dec 2006 23:19:53 +0000 (23:19 +0000)]
Test case for ensuring correct reading back of cast constant expressions.

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

17 years agogetInstrItineraryData shouldn't copy the itineraries
Chris Lattner [Mon, 11 Dec 2006 21:42:55 +0000 (21:42 +0000)]
getInstrItineraryData shouldn't copy the itineraries

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

17 years agoFix constant folding of FP->int due to cut & paste error in last commit.
Reid Spencer [Mon, 11 Dec 2006 21:27:28 +0000 (21:27 +0000)]
Fix constant folding of FP->int due to cut & paste error in last commit.

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

17 years agoAdd a test for constant folding of bitcast to/from floating point.
Reid Spencer [Mon, 11 Dec 2006 21:25:10 +0000 (21:25 +0000)]
Add a test for constant folding of bitcast to/from floating point.

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

17 years agoProvide a test for int<->float and long<->double bitcasts.
Reid Spencer [Mon, 11 Dec 2006 20:40:28 +0000 (20:40 +0000)]
Provide a test for int<->float and long<->double bitcasts.

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

17 years agoImplement correct bitcast of int<->float and long<->double by using a
Reid Spencer [Mon, 11 Dec 2006 20:39:15 +0000 (20:39 +0000)]
Implement correct bitcast of int<->float and long<->double by using a
union to perform the bitcast.

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

17 years agoRe-apply changes that were backed out and fix a naughty typo.
Evan Cheng [Mon, 11 Dec 2006 19:27:14 +0000 (19:27 +0000)]
Re-apply changes that were backed out and fix a naughty typo.

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

17 years agoIt seems the llvm::OStream class does not handle stream manipulators.
John Criswell [Mon, 11 Dec 2006 19:15:36 +0000 (19:15 +0000)]
It seems the llvm::OStream class does not handle stream manipulators.
For now, just grab the stream and perform the output on it directly.

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

17 years agoRevert changes that broke oggenc on ppc
Chris Lattner [Mon, 11 Dec 2006 18:53:38 +0000 (18:53 +0000)]
Revert changes that broke oggenc on ppc

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

17 years agoMissing opcode.
Jim Laskey [Mon, 11 Dec 2006 18:45:56 +0000 (18:45 +0000)]
Missing opcode.

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

17 years agoImplement correct constant folding of bitcast. This implements
Chris Lattner [Mon, 11 Dec 2006 18:30:27 +0000 (18:30 +0000)]
Implement correct constant folding of bitcast.  This implements
Transforms/ConstProp/bitcast.ll and fixes
SingleSource/Regression/C/2003-10-12-GlobalVarInitializers

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

17 years agoconstant folding of bitcast is broken.
Chris Lattner [Mon, 11 Dec 2006 18:29:07 +0000 (18:29 +0000)]
constant folding of bitcast is broken.

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

17 years agoLayout proper frame for ppc64.
Jim Laskey [Mon, 11 Dec 2006 18:10:54 +0000 (18:10 +0000)]
Layout proper frame for ppc64.

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

17 years agoProvide a script that can track down which optimization pass causes
Reid Spencer [Mon, 11 Dec 2006 17:42:12 +0000 (17:42 +0000)]
Provide a script that can track down which optimization pass causes
different code to be produced between two llvm builds that differe slightly.
This is useful in tracking down mis-optimization bugs.

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