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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Evan Cheng [Mon, 11 Dec 2006 17:25:19 +0000 (17:25 +0000)]
Don't convert store double C, Ptr to store long C, Ptr if i64 is not a legal type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32434
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 11 Dec 2006 06:50:04 +0000 (06:50 +0000)]
f32 / f64 node is expanded to one i32 / i64 node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32433
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 11 Dec 2006 06:25:26 +0000 (06:25 +0000)]
Clean up some bad code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32432
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 11 Dec 2006 02:23:46 +0000 (02:23 +0000)]
Move something that should be in the dag combiner from the legalizer to the
dag combiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32431
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 11 Dec 2006 02:20:45 +0000 (02:20 +0000)]
Properly mangles symbol table names
Supports constant pools
Supports relocations to jump tables
Supports relocations within the data segment (global = address of global)
Allocates memory in a non-hacky for all non-code objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32430
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 11 Dec 2006 02:19:29 +0000 (02:19 +0000)]
Add a default relocation type, and allow clients to set the ConstantVal
field after creation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32429
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 02:16:58 +0000 (02:16 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32428
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 01:20:25 +0000 (01:20 +0000)]
Update note, with the SROA change, we now produce:
_pairtest:
movl 8(%esp), %eax
movl 4(%esp), %ecx
movd %eax, %xmm0
movd %ecx, %xmm1
addss %xmm0, %xmm1
movl 12(%esp), %eax
movss %xmm1, (%eax)
ret
instead of:
_pairtest:
subl $12, %esp
movl 20(%esp), %eax
movl %eax, 4(%esp)
movl 16(%esp), %eax
movl %eax, (%esp)
movss (%esp), %xmm0
addss 4(%esp), %xmm0
movl 24(%esp), %eax
movss %xmm0, (%eax)
addl $12, %esp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 01:17:00 +0000 (01:17 +0000)]
trunc to integer, not to FP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 01:03:32 +0000 (01:03 +0000)]
the xform is done by scalarrepl not the code generator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32425
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 01:01:03 +0000 (01:01 +0000)]
this is done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32424
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 00:44:03 +0000 (00:44 +0000)]
Evan implemented the machineinstr improvements.
The rot example works if the type is cast to ubyte.
Move sroa examples together and upgrade them to HEAD syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Dec 2006 00:35:08 +0000 (00:35 +0000)]
implement promotion of unions containing two packed types of the same width.
This implements Transforms/ScalarRepl/union-packed.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32422
91177308-0d34-0410-b5e6-
96231b3b80d8