oota-llvm.git
15 years agoProperly print flags on Sparc
Anton Korobeynikov [Fri, 8 Aug 2008 18:26:10 +0000 (18:26 +0000)]
Properly print flags on Sparc

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

15 years agoGeneralize
Anton Korobeynikov [Fri, 8 Aug 2008 18:25:52 +0000 (18:25 +0000)]
Generalize

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

15 years agoUse mergeable strings sections on sparc
Anton Korobeynikov [Fri, 8 Aug 2008 18:25:29 +0000 (18:25 +0000)]
Use mergeable strings sections on sparc

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

15 years agoHandle visibility printing with all generality. Remove bunch of duplicate code.
Anton Korobeynikov [Fri, 8 Aug 2008 18:25:07 +0000 (18:25 +0000)]
Handle visibility printing with all generality. Remove bunch of duplicate code.

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

15 years agoUse chars, where possible
Anton Korobeynikov [Fri, 8 Aug 2008 18:24:10 +0000 (18:24 +0000)]
Use chars, where possible

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

15 years agoConvert PPC/Linux to new section printing stuff
Anton Korobeynikov [Fri, 8 Aug 2008 18:23:49 +0000 (18:23 +0000)]
Convert PPC/Linux to new section printing stuff

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

15 years agoSwitch PPC/Darwin to new section handling stuff
Anton Korobeynikov [Fri, 8 Aug 2008 18:23:25 +0000 (18:23 +0000)]
Switch PPC/Darwin to new section handling stuff

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

15 years agoCleanup
Anton Korobeynikov [Fri, 8 Aug 2008 18:22:59 +0000 (18:22 +0000)]
Cleanup

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

15 years agoReduce the entries in a phi before testing it for deadness, because removing the...
Owen Anderson [Fri, 8 Aug 2008 18:00:05 +0000 (18:00 +0000)]
Reduce the entries in a phi before testing it for deadness, because removing the entries might make it dead.

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

15 years agoUndo most of r54519.
Evan Cheng [Fri, 8 Aug 2008 17:56:50 +0000 (17:56 +0000)]
Undo most of r54519.

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

15 years agoDon't call getAnalysisUsage unless -debug-pass is enabled. This speeds
Chris Lattner [Fri, 8 Aug 2008 15:14:09 +0000 (15:14 +0000)]
Don't call getAnalysisUsage unless -debug-pass is enabled.  This speeds
up the passmgr by avoiding useless work.

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

15 years agoAdd -fast command line option to lli. It enables fast codegen path.
Evan Cheng [Fri, 8 Aug 2008 08:12:06 +0000 (08:12 +0000)]
Add -fast command line option to lli. It enables fast codegen path.

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

15 years agoAdd new parameter Fast to createJIT to enable the fast codegen path.
Evan Cheng [Fri, 8 Aug 2008 08:11:34 +0000 (08:11 +0000)]
Add new parameter Fast to createJIT to enable the fast codegen path.

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

15 years agoAdd skeleton of simple basic block instruction selector.
Evan Cheng [Fri, 8 Aug 2008 07:27:28 +0000 (07:27 +0000)]
Add skeleton of simple basic block instruction selector.

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

15 years agoTestcase for r54520.
Nick Lewycky [Fri, 8 Aug 2008 07:00:26 +0000 (07:00 +0000)]
Testcase for r54520.

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

15 years agoIt's not legal to output a GV in a coalesced section if it's used in an ARM PIC relat...
Evan Cheng [Fri, 8 Aug 2008 06:56:16 +0000 (06:56 +0000)]
It's not legal to output a GV in a coalesced section if it's used in an ARM PIC relative constantpool.

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

15 years agoFix indentation.
Evan Cheng [Fri, 8 Aug 2008 06:43:59 +0000 (06:43 +0000)]
Fix indentation.

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

15 years agoDon't crash printing the asm for a ConstantExpr PtrToInt just because the int
Nick Lewycky [Fri, 8 Aug 2008 06:34:07 +0000 (06:34 +0000)]
Don't crash printing the asm for a ConstantExpr PtrToInt just because the int
is narrower than the pointer. This testcase emits:

  .byte (((17) - 16) & 255)

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

15 years agoSupport added for ctlz intrinsic, test case added.
Bruno Cardoso Lopes [Fri, 8 Aug 2008 06:16:31 +0000 (06:16 +0000)]
Support added for ctlz intrinsic, test case added.

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

15 years agoSpeed up the passmgr by avoiding heap thrashing on vectors.
Chris Lattner [Fri, 8 Aug 2008 05:33:04 +0000 (05:33 +0000)]
Speed up the passmgr by avoiding heap thrashing on vectors.

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

15 years agoMatch raw "psp" triple target, as done by the homebrew toolchain.
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:49:42 +0000 (04:49 +0000)]
Match raw "psp" triple target, as done by the homebrew toolchain.

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

15 years ago[Last] Batch 7 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:12:42 +0000 (04:12 +0000)]
[Last] Batch 7 of Mips CodeGen tests

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

15 years agoBatch 6 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:11:30 +0000 (04:11 +0000)]
Batch 6 of Mips CodeGen tests

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

15 years agoBatch 5 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:09:57 +0000 (04:09 +0000)]
Batch 5 of Mips CodeGen tests

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

15 years agoBatch 4 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:08:30 +0000 (04:08 +0000)]
Batch 4 of Mips CodeGen tests

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

15 years agoBatch 3 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:05:51 +0000 (04:05 +0000)]
Batch 3 of Mips CodeGen tests

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

15 years agoBatch 2 of Mips CodeGen tests
Bruno Cardoso Lopes [Fri, 8 Aug 2008 04:03:25 +0000 (04:03 +0000)]
Batch 2 of Mips CodeGen tests

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

15 years agoBatch 1 of Mips CodeGen tests, more coming...
Bruno Cardoso Lopes [Fri, 8 Aug 2008 03:58:34 +0000 (03:58 +0000)]
Batch 1 of Mips CodeGen tests, more coming...
I had a lot of simple local codegen tests and they are now ready to be placed
in test/CodeGen.

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

15 years agoTestcases for 54503. One derived from PR 2533, the
Dale Johannesen [Fri, 8 Aug 2008 03:37:11 +0000 (03:37 +0000)]
Testcases for 54503.  One derived from PR 2533, the
other from Python.

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

15 years agouse the more precise 'op1' instead of 'var1' since the latter can be misunderstood...
Gabor Greif [Thu, 7 Aug 2008 21:46:00 +0000 (21:46 +0000)]
use the more precise 'op1' instead of 'var1' since the latter can be misunderstood to not encompass constants

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

15 years agoAdded Mips support for DYNAMIC_STACKALLOC
Bruno Cardoso Lopes [Thu, 7 Aug 2008 19:08:11 +0000 (19:08 +0000)]
Added Mips support for DYNAMIC_STACKALLOC
Fixed bug in adjustMipsStackFrame, which was breaking
while trying to access a dead stack object index. Also added
one more alignment before fixing the callee saved registers
stack offset adjustment.

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

15 years agoAdd the remaining fp_round libcalls:
Bruno Cardoso Lopes [Thu, 7 Aug 2008 19:01:24 +0000 (19:01 +0000)]
Add the remaining fp_round libcalls:
FPROUND_F80_F32, FPROUND_PPCF128_F32,
FPROUND_F80_F64, FPROUND_PPCF128_F64

Support for soften float fp_round operands is added, Mips
needs this to round f64->f32.

Also added support to soften float FABS result, Mips doesn't
support double fabs results while in 'single float only' mode.

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

15 years agoDo a dominator walk when scheduling copies, rather than a DFS on the CFG. Also,...
Owen Anderson [Thu, 7 Aug 2008 18:28:07 +0000 (18:28 +0000)]
Do a dominator walk when scheduling copies, rather than a DFS on the CFG.  Also, fix a few problems when creating
live intervals for temporaries created by phi elimination.

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

15 years agoUse correct compiler component names for objc
Duncan Sands [Thu, 7 Aug 2008 17:59:54 +0000 (17:59 +0000)]
Use correct compiler component names for objc
and objc++.

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

15 years agoMove tests of the ObjC++ front-end to their own
Duncan Sands [Thu, 7 Aug 2008 17:48:08 +0000 (17:48 +0000)]
Move tests of the ObjC++ front-end to their own
directory: some people (guess who!) may build llvm-gcc
with support for objc but not with support for objc++.

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

15 years agoLet SRETPromotion properly preserve the function name instead of (implicitly)
Matthijs Kooijman [Thu, 7 Aug 2008 16:01:23 +0000 (16:01 +0000)]
Let SRETPromotion properly preserve the function name instead of (implicitly)
postfixing it with a number.

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

15 years agoFix SRETPromotion, it was generating functions without returns statements since
Matthijs Kooijman [Thu, 7 Aug 2008 15:58:09 +0000 (15:58 +0000)]
Fix SRETPromotion, it was generating functions without returns statements since
r53941 (but this was not noticed due to the lack of a basic test for
SRETPromotion).

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

15 years agoAdd a basic test for the SRETPromotion pass.
Matthijs Kooijman [Thu, 7 Aug 2008 15:55:18 +0000 (15:55 +0000)]
Add a basic test for the SRETPromotion pass.

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

15 years agoMove two tests from SRETPromotion to Inline, since they only call opt -inline.
Matthijs Kooijman [Thu, 7 Aug 2008 15:36:46 +0000 (15:36 +0000)]
Move two tests from SRETPromotion to Inline, since they only call opt -inline.

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

15 years agoAdd some debug output to SRETPromotion.
Matthijs Kooijman [Thu, 7 Aug 2008 15:14:04 +0000 (15:14 +0000)]
Add some debug output to SRETPromotion.

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

15 years agoSilence a warning.
Matthijs Kooijman [Thu, 7 Aug 2008 13:36:30 +0000 (13:36 +0000)]
Silence a warning.

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

15 years agoRemove dead forward decl
Anton Korobeynikov [Thu, 7 Aug 2008 09:55:25 +0000 (09:55 +0000)]
Remove dead forward decl

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

15 years agoPrint section flags ok on platforms, which use '@' as comment string. Fix test.
Anton Korobeynikov [Thu, 7 Aug 2008 09:55:06 +0000 (09:55 +0000)]
Print section flags ok on platforms, which use '@' as comment string. Fix test.

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

15 years agoAdd assertion for easy debugging of missing stuff
Anton Korobeynikov [Thu, 7 Aug 2008 09:54:40 +0000 (09:54 +0000)]
Add assertion for easy debugging of missing stuff

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

15 years agoSwitch ARM to new section handling stuff
Anton Korobeynikov [Thu, 7 Aug 2008 09:54:23 +0000 (09:54 +0000)]
Switch ARM to new section handling stuff

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

15 years agoSwitch Alpha to new section handling stuff
Anton Korobeynikov [Thu, 7 Aug 2008 09:53:57 +0000 (09:53 +0000)]
Switch Alpha to new section handling stuff

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

15 years agoUse EmitAlignment consistently
Anton Korobeynikov [Thu, 7 Aug 2008 09:53:38 +0000 (09:53 +0000)]
Use EmitAlignment consistently

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

15 years agoCleanup
Anton Korobeynikov [Thu, 7 Aug 2008 09:53:13 +0000 (09:53 +0000)]
Cleanup

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

15 years agoCleanup
Anton Korobeynikov [Thu, 7 Aug 2008 09:52:54 +0000 (09:52 +0000)]
Cleanup

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

15 years agoSwitch IA64 to new section-handling stuff
Anton Korobeynikov [Thu, 7 Aug 2008 09:52:35 +0000 (09:52 +0000)]
Switch IA64 to new section-handling stuff

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

15 years agoCleanup
Anton Korobeynikov [Thu, 7 Aug 2008 09:52:13 +0000 (09:52 +0000)]
Cleanup

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

15 years agoProvide convenient helpers
Anton Korobeynikov [Thu, 7 Aug 2008 09:51:54 +0000 (09:51 +0000)]
Provide convenient helpers

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

15 years agoSwitch Sparc to new section handling stuff. Refactor printing of module-level GVs...
Anton Korobeynikov [Thu, 7 Aug 2008 09:51:25 +0000 (09:51 +0000)]
Switch Sparc to new section handling stuff. Refactor printing of module-level GVs significantly.

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

15 years agoAdd hook for constant pool section selection for darwin.
Anton Korobeynikov [Thu, 7 Aug 2008 09:51:02 +0000 (09:51 +0000)]
Add hook for constant pool section selection for darwin.

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

15 years agoSelect section for constant pool entries
Anton Korobeynikov [Thu, 7 Aug 2008 09:50:34 +0000 (09:50 +0000)]
Select section for constant pool entries

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

15 years agoRemove trailing spaces.
Matthijs Kooijman [Thu, 7 Aug 2008 09:00:46 +0000 (09:00 +0000)]
Remove trailing spaces.

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

15 years agoDon't verify passes when assertions are disabled.
Chris Lattner [Thu, 7 Aug 2008 07:34:50 +0000 (07:34 +0000)]
Don't verify passes when assertions are disabled.

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

15 years agoRe-enable elimination of unnecessary SUBREG_TO_REG instructions in
Dan Gohman [Thu, 7 Aug 2008 02:54:50 +0000 (02:54 +0000)]
Re-enable elimination of unnecessary SUBREG_TO_REG instructions in
LowerSubregs, and fix an x86-64 isel bug that this exposed.

SUBREG_TO_REG for x86-64 implicit zero extension is only safe for
isel to generate when the source is known to always have zeros in
the high 32 bits. The EXTRACT_SUBREG instruction does not clear
the high 32 bits.

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

15 years agoAdd an extra example that shouldn't get an and instruction.
Dan Gohman [Thu, 7 Aug 2008 02:23:06 +0000 (02:23 +0000)]
Add an extra example that shouldn't get an and instruction.

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

15 years agoRewrite JIT handling of GlobalVariables so they
Dale Johannesen [Thu, 7 Aug 2008 01:30:15 +0000 (01:30 +0000)]
Rewrite JIT handling of GlobalVariables so they
are allocated in the same buffer as the code,
jump tables, etc.

The default JIT memory manager does not handle buffer
overflow well.  I didn't introduce this and I'm not
attempting to fix it here, but it is more likely to
be hit now since we're putting more stuff in the
buffer.  This affects one test that I know of so far,
MultiSource/Benchmarks/NPB-serial/is.

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

15 years agoFactor code that finalize PHI nodes, jump tables, etc. out of SelectBasicBlock. No...
Evan Cheng [Thu, 7 Aug 2008 00:43:25 +0000 (00:43 +0000)]
Factor code that finalize PHI nodes, jump tables, etc. out of SelectBasicBlock. No functionality changes.

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

15 years agoSDISel's constant branch folding can fold away self-loops, which doesn't result in...
Owen Anderson [Wed, 6 Aug 2008 23:16:52 +0000 (23:16 +0000)]
SDISel's constant branch folding can fold away self-loops, which doesn't result in any dead blocks, but
rather an incorrect phi input.  Add code to UnreachableMachineBlockElim to get rid of these entries.

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

15 years agoCorrect handle cases where two phis are coalesced together, and correct break up...
Owen Anderson [Wed, 6 Aug 2008 22:08:58 +0000 (22:08 +0000)]
Correct handle cases where two phis are coalesced together, and correct break up the case where two different
phis want to coalesce with the same vreg.

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

15 years agoOops, didn't mean to commit this.
Owen Anderson [Wed, 6 Aug 2008 20:58:38 +0000 (20:58 +0000)]
Oops, didn't mean to commit this.

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

15 years agoAdd libDriver.vcproj to solution file.
Ted Kremenek [Wed, 6 Aug 2008 20:57:07 +0000 (20:57 +0000)]
Add libDriver.vcproj to solution file.

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

15 years agoWe don't need to try to coalesce input vregs that are the same as the output vreg.
Owen Anderson [Wed, 6 Aug 2008 20:29:20 +0000 (20:29 +0000)]
We don't need to try to coalesce input vregs that are the same as the output vreg.

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

15 years agoOnly trim a live interval if the register is not used after the PHI node.
Owen Anderson [Wed, 6 Aug 2008 18:36:17 +0000 (18:36 +0000)]
Only trim a live interval if the register is not used after the PHI node.

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

15 years agoOnly remap each VNInfo once when doing renumbering.
Owen Anderson [Wed, 6 Aug 2008 18:35:45 +0000 (18:35 +0000)]
Only remap each VNInfo once when doing renumbering.

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

15 years agoRe-introduce the 8-bit subreg zext-inreg patterns for x86-32,
Dan Gohman [Wed, 6 Aug 2008 18:27:21 +0000 (18:27 +0000)]
Re-introduce the 8-bit subreg zext-inreg patterns for x86-32,
this time using MOV32to32_ and MOV16to16_. Thanks to Evan for
suggesting this.

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

15 years agoFix a shufflevector instcombine that was emitting invalid masks indices
Dan Gohman [Wed, 6 Aug 2008 18:17:32 +0000 (18:17 +0000)]
Fix a shufflevector instcombine that was emitting invalid masks indices
when it meant to be emitting undef indices.

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

15 years agoPR2535, not PR2355.
Evan Cheng [Wed, 6 Aug 2008 18:06:48 +0000 (18:06 +0000)]
PR2535, not PR2355.

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

15 years agoFix PR2355: bug in ChangeCompareStride. When the loop termination compare is the...
Evan Cheng [Wed, 6 Aug 2008 18:04:43 +0000 (18:04 +0000)]
Fix PR2355: bug in ChangeCompareStride. When the loop termination compare is the only use of its iv stride, the stride can be eliminated by moving it to another stride. If the scale is negative, swap the predicate instead of using a inverse predicate.

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

15 years agoxchg does not modify FLAGS.
Dan Gohman [Wed, 6 Aug 2008 15:52:50 +0000 (15:52 +0000)]
xchg does not modify FLAGS.

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

15 years agoClarify "node" vs. "value" in some comments.
Dan Gohman [Wed, 6 Aug 2008 15:18:10 +0000 (15:18 +0000)]
Clarify "node" vs. "value" in some comments.

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

15 years agooptimize a common idiom generated by clang for bitfield access, PR2638.
Chris Lattner [Wed, 6 Aug 2008 07:35:52 +0000 (07:35 +0000)]
optimize a common idiom generated by clang for bitfield access, PR2638.

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

15 years agoAdded support for fp callee saved registers.
Bruno Cardoso Lopes [Wed, 6 Aug 2008 06:14:43 +0000 (06:14 +0000)]
Added support for fp callee saved registers.
Added fp register clobbering during calls.
Added AsmPrinter support for "fmask", a bitmask that indicates where on the
stack the fp callee saved registers are.

Fixed the stack frame layout for Mips, now the callee saved regs
are in the right stack location (a little documentation about how this
stack frame must look like is present in MipsRegisterInfo.cpp).
This was done using the method MipsRegisterInfo::adjustMipsStackFrame
To be more clear, these are examples of what is solves :

1) FP and RA are also callee saved, and despite they aren't in CSI they
   must be saved before the fp callee saved registers.
2) The ABI requires that local varibles are allocated before the callee
   saved register area, the opposite behavior from the default allocation.
3) CPU and FPU saved register area must be aligned independent of each
   other.

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

15 years agostacker is really gone.
Chris Lattner [Wed, 6 Aug 2008 05:57:58 +0000 (05:57 +0000)]
stacker is really gone.

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

15 years agoremove stacker
Chris Lattner [Wed, 6 Aug 2008 05:56:52 +0000 (05:56 +0000)]
remove stacker

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

15 years agoZap sitofp/fptoui pairs. In all cases when the sign difference
Chris Lattner [Wed, 6 Aug 2008 05:13:06 +0000 (05:13 +0000)]
Zap sitofp/fptoui pairs.  In all cases when the sign difference
matters, the result is undefined anyway.

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

15 years agoReinstate this optimization, but without the miscompile. Thanks to Bill for
Nick Lewycky [Wed, 6 Aug 2008 04:54:03 +0000 (04:54 +0000)]
Reinstate this optimization, but without the miscompile. Thanks to Bill for
tracking down that this was breaking llvm-gcc bootstrap on Linux.

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

15 years agoJust grep for through the LL code instead of the ASM code
Bill Wendling [Wed, 6 Aug 2008 00:10:32 +0000 (00:10 +0000)]
Just grep for through the LL code instead of the ASM code

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

15 years agoAdd ARM to the targets to build.
Bill Wendling [Tue, 5 Aug 2008 23:52:28 +0000 (23:52 +0000)]
Add ARM to the targets to build.

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

15 years agoUse strcpy instead of sprintf here. This avoids a GCC 4.3 format-string
Dan Gohman [Tue, 5 Aug 2008 23:36:35 +0000 (23:36 +0000)]
Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-string
warning. There wasn't actually a problem here, because the contents of
the string are known.

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

15 years agoAdd default architecture.
Bill Wendling [Tue, 5 Aug 2008 23:36:00 +0000 (23:36 +0000)]
Add default architecture.

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

15 years agoPass the computed iteration count value to RewriteLoopExitValues
Dan Gohman [Tue, 5 Aug 2008 22:34:21 +0000 (22:34 +0000)]
Pass the computed iteration count value to RewriteLoopExitValues
instead of having it call getIterationCount again.

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

15 years agoIt's "a static", not "an static"
Bill Wendling [Tue, 5 Aug 2008 22:29:16 +0000 (22:29 +0000)]
It's "a static", not "an static"

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

15 years agoFix breakage on ARM/2008-04-10-ScavengerAssert.ll.
Owen Anderson [Tue, 5 Aug 2008 22:24:40 +0000 (22:24 +0000)]
Fix breakage on ARM/2008-04-10-ScavengerAssert.ll.

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

15 years agoTestcase for PR2629.
Bill Wendling [Tue, 5 Aug 2008 22:23:59 +0000 (22:23 +0000)]
Testcase for PR2629.

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

15 years agoFix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.
Evan Cheng [Tue, 5 Aug 2008 22:19:15 +0000 (22:19 +0000)]
Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.

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

15 years agoFix PR2596: out of bound reference.
Evan Cheng [Tue, 5 Aug 2008 21:51:46 +0000 (21:51 +0000)]
Fix PR2596: out of bound reference.

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

15 years agoCorrectly handle replacement and removal of PHIs with one incoming register.
Owen Anderson [Tue, 5 Aug 2008 21:40:45 +0000 (21:40 +0000)]
Correctly handle replacement and removal of PHIs with one incoming register.

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

15 years agoRevert r53282. This was causing a miscompile on Linux. Also, the transformation
Bill Wendling [Tue, 5 Aug 2008 21:23:45 +0000 (21:23 +0000)]
Revert r53282. This was causing a miscompile on Linux. Also, the transformation
looks bogus. Please see PR2629 for details on why this is breaking things.

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

15 years agoOops, we were already checking for dead phis. Handle this the proper way, then.
Owen Anderson [Tue, 5 Aug 2008 21:18:51 +0000 (21:18 +0000)]
Oops, we were already checking for dead phis.  Handle this the proper way, then.

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

15 years agoWe don't need to update live intervals for dead PHIs.
Owen Anderson [Tue, 5 Aug 2008 20:51:26 +0000 (20:51 +0000)]
We don't need to update live intervals for dead PHIs.

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

15 years agoExpand acronyms, suggested by Walter Pawley
Chris Lattner [Tue, 5 Aug 2008 18:29:16 +0000 (18:29 +0000)]
Expand acronyms, suggested by Walter Pawley

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

15 years agoRemove the -disable-correct-folding option, which was ugly and is no longer needed.
Owen Anderson [Tue, 5 Aug 2008 18:27:54 +0000 (18:27 +0000)]
Remove the -disable-correct-folding option, which was ugly and is no longer needed.

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

15 years agoCapitalize LLVM, suggested by Walt Pawley
Chris Lattner [Tue, 5 Aug 2008 18:21:08 +0000 (18:21 +0000)]
Capitalize LLVM, suggested by Walt Pawley

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

15 years agoUpdate the remaining tests not to use -disable-correct-folding, and remove two
Owen Anderson [Tue, 5 Aug 2008 18:19:14 +0000 (18:19 +0000)]
Update the remaining tests not to use -disable-correct-folding, and remove two
that couldn't be updated.

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

15 years agoOne more -disable-correct-folding case removed.
Owen Anderson [Tue, 5 Aug 2008 18:08:56 +0000 (18:08 +0000)]
One more -disable-correct-folding case removed.

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

15 years agoRemove another -disable-correct-folding use.
Owen Anderson [Tue, 5 Aug 2008 18:05:58 +0000 (18:05 +0000)]
Remove another -disable-correct-folding use.

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