Dan Gohman [Mon, 11 Aug 2008 18:27:03 +0000 (18:27 +0000)]
Take the FrameOffset into account when computing the alignment
of stack objects. This fixes PR2656.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54646
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 11 Aug 2008 17:36:31 +0000 (17:36 +0000)]
Implement ISD::TRAP support on PPC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54644
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 11 Aug 2008 15:29:30 +0000 (15:29 +0000)]
Make it possible to use different constant
folding policies with IRBuilder. The default,
provided by ConstantFolder, is to do minimal
folding like now: what ConstantExpr provides.
An alternative is to use TargetFolder, which
uses target information to fold constants more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54640
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2008 06:13:31 +0000 (06:13 +0000)]
the stacker doc is way out of date.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Aug 2008 06:12:45 +0000 (06:12 +0000)]
remove obsolete files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 10 Aug 2008 01:14:08 +0000 (01:14 +0000)]
move some more stuff out of my email into readme.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54603
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 10 Aug 2008 00:47:21 +0000 (00:47 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54602
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 9 Aug 2008 17:23:35 +0000 (17:23 +0000)]
"This patch adds a virtual call to AbstractLatticeFunction to derive a
type lattice value for an Argument*, giving clients the opportunity to
use something other than Top for it if they choose to."
Patch by John McCall!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54589
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 9 Aug 2008 15:14:59 +0000 (15:14 +0000)]
Unbreak the llvm-gcc build: recent changes to
IRBuilder are not expecting null names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54581
91177308-0d34-0410-b5e6-
96231b3b80d8
Cedric Venet [Sat, 9 Aug 2008 11:57:39 +0000 (11:57 +0000)]
update VS project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54580
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 9 Aug 2008 06:26:23 +0000 (06:26 +0000)]
Make 'Insert' set the name for Loads, instead of passing the name into the
LoadInst ctor, which causes std::string thrashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 9 Aug 2008 06:25:46 +0000 (06:25 +0000)]
comment update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54576
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 9 Aug 2008 03:48:46 +0000 (03:48 +0000)]
Fix some typos. Apparently I think C needs a power-of operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54574
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 9 Aug 2008 02:13:58 +0000 (02:13 +0000)]
Delete a redundant binding, LLVMHasInitializer.
Please use !LLVMIsDeclaration instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54572
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 9 Aug 2008 01:55:52 +0000 (01:55 +0000)]
[PR-2610] Adding Ocaml bindings for Switch::addCase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54571
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 9 Aug 2008 01:53:27 +0000 (01:53 +0000)]
Ignore output directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54570
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 8 Aug 2008 20:49:28 +0000 (20:49 +0000)]
Fix the LLVMCreateJITCompiler C binding.
Evan broke it in r54523 by adding a parameter in the implementation without
updating the header correspondingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54555
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 8 Aug 2008 19:39:37 +0000 (19:39 +0000)]
Have IRBuilder take a template argument on whether or not to preserve
names. This can save a lot of allocations if you aren't going to be
looking at the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54546
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 8 Aug 2008 18:33:12 +0000 (18:33 +0000)]
Canonicalize nested AddRecs in by nesting them in order of loop depth.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54545
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 8 Aug 2008 18:30:21 +0000 (18:30 +0000)]
Add an EXTRACTPSmr pattern to match the pattern that
X86ISelLowering creates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54544
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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