Dan Gohman [Fri, 9 Oct 2009 18:10:05 +0000 (18:10 +0000)]
Add basic infrastructure and x86 support for preserving MachineMemOperand
information when unfolding memory references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83656
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 9 Oct 2009 17:51:49 +0000 (17:51 +0000)]
Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83655
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 9 Oct 2009 17:33:33 +0000 (17:33 +0000)]
when previous scratch register is killed, flag the value as no longer tracking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83653
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Oct 2009 17:20:46 +0000 (17:20 +0000)]
Convert some ARM tests with lots of greps to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83651
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Oct 2009 16:35:06 +0000 (16:35 +0000)]
Revert r83606 and add comments explaining why it isn't safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83649
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Fri, 9 Oct 2009 13:17:57 +0000 (13:17 +0000)]
As it turns out, the bug fixes in GC codegen did not make it
to llvm-2.6. Remove the precise garbage collection feature.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83638
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Fri, 9 Oct 2009 10:17:14 +0000 (10:17 +0000)]
80-columns!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83628
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Fri, 9 Oct 2009 10:13:08 +0000 (10:13 +0000)]
Add initial information on VMKit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Oct 2009 06:36:25 +0000 (06:36 +0000)]
more random updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83625
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 9 Oct 2009 06:31:25 +0000 (06:31 +0000)]
Give Dan and my recent changes, machine LICM is now code size neutral.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83624
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Oct 2009 06:24:25 +0000 (06:24 +0000)]
checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83623
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 9 Oct 2009 06:21:52 +0000 (06:21 +0000)]
Fix a logic error that caused non-rematable loop invariants loads to be licm'ed out of loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83622
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Oct 2009 05:55:04 +0000 (05:55 +0000)]
checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83621
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 9 Oct 2009 05:45:38 +0000 (05:45 +0000)]
Slight rewording.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83620
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 9 Oct 2009 05:45:21 +0000 (05:45 +0000)]
Omit the 'out_file_index != -1' check when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83619
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 9 Oct 2009 05:45:01 +0000 (05:45 +0000)]
Use llvm-as only for compiling .ll -> .bc.
llc can compile .ll files directly these days.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83618
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Oct 2009 05:31:56 +0000 (05:31 +0000)]
Commit one last NEON test to use FileCheck. That's all of them now!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83617
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Oct 2009 05:14:48 +0000 (05:14 +0000)]
Convert more NEON tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83616
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Oct 2009 05:01:15 +0000 (05:01 +0000)]
update clang section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83615
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 9 Oct 2009 04:15:52 +0000 (04:15 +0000)]
Raise the limit on built-in plugins in llvmc to 10.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83614
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 9 Oct 2009 02:40:01 +0000 (02:40 +0000)]
Reconfigure automatically when Base.td.in is changed.
Thanks to Chris for heads-up!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83613
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 9 Oct 2009 01:17:11 +0000 (01:17 +0000)]
Reset kill markers after live interval is reconstructed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83608
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 9 Oct 2009 00:57:38 +0000 (00:57 +0000)]
Indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83607
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Oct 2009 00:41:22 +0000 (00:41 +0000)]
Preserve HasNSW and HasNUW when constructing SCEVs for Add and Mul
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83606
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 9 Oct 2009 00:11:32 +0000 (00:11 +0000)]
When considering whether to inline Callee into Caller,
and that will make Caller too big to inline, see if it
might be better to inline Caller into its callers instead.
This situation is described in PR 2973, although I haven't
tried the specific case in SPASS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83602
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Oct 2009 00:10:36 +0000 (00:10 +0000)]
Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83601
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Oct 2009 00:01:36 +0000 (00:01 +0000)]
Add codegen support for NEON vst4lane intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83600
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 23:51:31 +0000 (23:51 +0000)]
Add codegen support for NEON vst3lane intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83598
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 23:38:24 +0000 (23:38 +0000)]
Add codegen support for NEON vst2lane intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83596
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 23:33:03 +0000 (23:33 +0000)]
Convert more NEON tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83595
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 22:53:57 +0000 (22:53 +0000)]
Add codegen support for NEON vld4lane intrinsics with 128-bit vectors.
Also fix some copy-and-paste errors in previous changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83590
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 8 Oct 2009 22:42:35 +0000 (22:42 +0000)]
Remove code that makes no sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83589
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 22:33:53 +0000 (22:33 +0000)]
Convert more NEON tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83587
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 22:27:33 +0000 (22:27 +0000)]
Add codegen support for NEON vld3lane intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83585
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 8 Oct 2009 21:24:34 +0000 (21:24 +0000)]
Update CMake build yet again after a source file was removed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83575
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 8 Oct 2009 20:52:51 +0000 (20:52 +0000)]
It's possible for a global variable to be optimized out of a metadata object. So
we should allow a "null" with this dyn_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83573
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 8 Oct 2009 20:43:22 +0000 (20:43 +0000)]
Use lower16 / upper16 imm modifiers to asmprint 32-bit imms splitted via movt/movw pair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83572
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Oct 2009 20:41:17 +0000 (20:41 +0000)]
Clear variable debug info map at the end of the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83571
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 18:56:10 +0000 (18:56 +0000)]
Add codegen support for NEON vld2lane intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83568
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 18:52:56 +0000 (18:52 +0000)]
Clean up some unnecessary initializations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83566
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 18:51:31 +0000 (18:51 +0000)]
Clean up a comment (indentation was wrong).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83565
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 18:49:46 +0000 (18:49 +0000)]
Add a SelectionDAG getTargetInsertSubreg convenience function,
similar to getTargetExtractSubreg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83564
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Oct 2009 18:48:03 +0000 (18:48 +0000)]
Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83563
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 8 Oct 2009 17:14:57 +0000 (17:14 +0000)]
Add missing names for the XCore specific LADD and LSUB nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83556
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Oct 2009 17:00:02 +0000 (17:00 +0000)]
Add a form of addPreserved which takes a string argument, to allow passes
to declare that they preserve other passes without needing to pull in
additional header file or library dependencies. Convert MachineFunctionPass
and CodeGenLICM to make use of this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Oct 2009 16:01:33 +0000 (16:01 +0000)]
some updates from users of llvm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83551
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 8 Oct 2009 15:38:17 +0000 (15:38 +0000)]
Add some peepholes for signed comparisons using ashr X, X, 32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83549
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Oct 2009 07:01:46 +0000 (07:01 +0000)]
all content split into sections, still much work to be done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83532
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Oct 2009 06:42:44 +0000 (06:42 +0000)]
remove LoopVR pass. According to Nick:
"LoopVR's logic was copied into ScalarEvolution::getUnsignedRange and
::getSignedRange. Please delete LoopVR."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83531
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Oct 2009 06:27:53 +0000 (06:27 +0000)]
checkpoint, this is still not comprehendible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83530
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 8 Oct 2009 06:03:38 +0000 (06:03 +0000)]
Unbreak the build.
Forgot about the need to reconfigure after modifying Base.td.in....
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83529
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 06:02:10 +0000 (06:02 +0000)]
Convert more NEON tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83528
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 05:18:18 +0000 (05:18 +0000)]
Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83526
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 8 Oct 2009 04:40:28 +0000 (04:40 +0000)]
Make the Base plugin understand -MF and -MT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83525
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 8 Oct 2009 04:40:08 +0000 (04:40 +0000)]
Input files should go before all other options.
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83524
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 8 Oct 2009 01:50:26 +0000 (01:50 +0000)]
Cleanup up unused R3LiveIn tracking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83522
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 8 Oct 2009 01:46:59 +0000 (01:46 +0000)]
Re-enable register scavenging in Thumb1 by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83521
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 8 Oct 2009 01:09:45 +0000 (01:09 +0000)]
bugfix. The target may use virtual registers that aren't tracked for re-use but are allocated by the scavenger. The re-use algorithm needs to watch for that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83519
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 00:28:28 +0000 (00:28 +0000)]
Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83518
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Oct 2009 00:21:01 +0000 (00:21 +0000)]
Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83513
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 8 Oct 2009 00:12:24 +0000 (00:12 +0000)]
In instcombine's debug output, avoid printing ADD for instructions that are
already on the worklist, and print Visited when an instruction is about to be
visited. Net, on one input, this reduced the output size by at least 9x.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83510
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 23:54:04 +0000 (23:54 +0000)]
Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83508
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 23:47:21 +0000 (23:47 +0000)]
Convert more NEON tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83507
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 23:39:57 +0000 (23:39 +0000)]
Add codegen support for NEON vld3 intrinsics with <1 x i64> vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83506
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Wed, 7 Oct 2009 23:22:42 +0000 (23:22 +0000)]
Fix the OProfile part of PR5018. This fixes --without-oprofile, makes
it the default, and works around a broken libopagent on some Debian
systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83503
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 22:57:01 +0000 (22:57 +0000)]
Add codegen support for NEON vld2 intrinsics with <1 x i64> vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83502
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 22:49:41 +0000 (22:49 +0000)]
reverting thumb1 scavenging default due to test failure while I figure out what's up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83501
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Oct 2009 22:49:30 +0000 (22:49 +0000)]
second half of lazy liveness removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83500
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 7 Oct 2009 22:47:20 +0000 (22:47 +0000)]
Fix handling of x86 'R' constraint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83499
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 22:30:19 +0000 (22:30 +0000)]
Convert more NEON tests to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83497
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 22:26:31 +0000 (22:26 +0000)]
Enable thumb1 register scavenging by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83496
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 22:26:14 +0000 (22:26 +0000)]
Enable thumb1 register scavenging by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83494
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 7 Oct 2009 22:04:08 +0000 (22:04 +0000)]
Extract subprogram and compile unit information from the debug info attached to an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83491
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 21:53:04 +0000 (21:53 +0000)]
Add some instruction encoding bits for NEON load/store instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83490
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 7 Oct 2009 21:14:25 +0000 (21:14 +0000)]
80-column and whitespace fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83489
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 7 Oct 2009 20:57:20 +0000 (20:57 +0000)]
Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
that a symbol stub section with no attributes can be parsed as in:
.section __TEXT,__picsymbolstub4,symbol_stubs,none,16
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83488
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 20:51:42 +0000 (20:51 +0000)]
Convert test to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83487
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 20:49:18 +0000 (20:49 +0000)]
Add codegen support for NEON vst4 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83486
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 20:30:08 +0000 (20:30 +0000)]
Add codegen support for NEON vst3 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83484
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 19:08:36 +0000 (19:08 +0000)]
grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83483
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 18:47:39 +0000 (18:47 +0000)]
Add codegen support for NEON vst2 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83482
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 18:44:24 +0000 (18:44 +0000)]
add initializers for clarity. Add missing assignment of PrevLastUseOp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83481
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 7 Oct 2009 18:40:17 +0000 (18:40 +0000)]
Remove LazyLiveness from the tree. It doesn't work right now, and I'm not going to have the time
to finish it any time soon. If someone's interested it, they can resurrect it from SVN history.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83480
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 18:09:32 +0000 (18:09 +0000)]
Add codegen support for NEON vld4 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83479
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 7 Oct 2009 18:01:35 +0000 (18:01 +0000)]
Add another bit of the ARM target assembler to llvm-mc to parse registers
with writeback, things like "sp!", etc. Also added some more stuff to the
temporarily hacked methods ARMAsmParser::MatchRegisterName and
ARMAsmParser::MatchInstruction to allow more parser testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83477
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 17:47:20 +0000 (17:47 +0000)]
Replace some code for aggressive-remat with MachineInstr::isInvariantLoad, and
teach it how to recognize invariant physical registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83476
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 17:38:06 +0000 (17:38 +0000)]
Replace TargetInstrInfo::isInvariantLoad and its target-specific
implementations with a new MachineInstr::isInvariantLoad, which uses
MachineMemOperands and is target-independent. This brings MachineLICM
and other functionality to targets which previously lacked an
isInvariantLoad implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83475
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 17:36:00 +0000 (17:36 +0000)]
Add a few simple MachineVerifier checks for MachineMemOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83474
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 17:24:55 +0000 (17:24 +0000)]
Add codegen support for NEON vld3 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83471
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 17:23:09 +0000 (17:23 +0000)]
Rearrange code for selecting vld2 intrinsics. No functionality change.
This is just to be more consistent with the forthcoming code for vld3/4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83470
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 17:19:13 +0000 (17:19 +0000)]
Add tests for vld2 of 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83468
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 17:12:56 +0000 (17:12 +0000)]
Add register-reuse to frame-index register scavenging. When a target uses
a virtual register to eliminate a frame index, it can return that register
and the constant stored there to PEI to track. When scavenging to allocate
for those registers, PEI then tracks the last-used register and value, and
if it is still available and matches the value for the next index, reuses
the existing value rather and removes the re-materialization instructions.
Fancier tracking and adjustment of scavenger allocations to keep more
values live for longer is possible, but not yet implemented and would likely
be better done via a different, less special-purpose, approach to the
problem.
eliminateFrameIndex() is modified so the target implementations can return
the registers they wish to be tracked for reuse.
ARM Thumb1 implements and utilizes the new mechanism. All other targets are
simply modified to adjust for the changed eliminateFrameIndex() prototype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83467
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 7 Oct 2009 16:37:55 +0000 (16:37 +0000)]
Do not assume that the module is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83462
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 7 Oct 2009 09:23:56 +0000 (09:23 +0000)]
Add a comment explaining how DenseMap::insert works, because it is not
intuitive.
It does NOT update the value if the key is already in the map,
it also returns false if the key is already in the map, regardless
if the value matched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83458
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 7 Oct 2009 09:22:55 +0000 (09:22 +0000)]
Add PR to this FIXME, looks like I didn't commit this change after all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83457
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Oct 2009 07:35:19 +0000 (07:35 +0000)]
Make getPointerTo return a const PointerType* rather than
an unqualified PointerType* because it seems more correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83454
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 03:00:18 +0000 (03:00 +0000)]
INTRINSIC_W_CHAIN and INTRINSIC_VOID do not use MemSDNode. They
may access memory, but they don't carry a MachineMemOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83449
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 7 Oct 2009 00:54:08 +0000 (00:54 +0000)]
Add FreeInst to the "is a call" check for Insts that are calls, but
not intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83441
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 00:33:10 +0000 (00:33 +0000)]
Fix this comment. The loop header is the loop entry point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83437
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Oct 2009 00:06:35 +0000 (00:06 +0000)]
Add PseudoSourceValues for constpool stuff on ELF (Darwin should use something similar)
and register spills.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83435
91177308-0d34-0410-b5e6-
96231b3b80d8