oota-llvm.git
14 years agoFactor out LiveIntervalAnalysis' code to determine whether an instruction
Dan Gohman [Fri, 9 Oct 2009 23:27:56 +0000 (23:27 +0000)]
Factor out LiveIntervalAnalysis' code to determine whether an instruction
is trivially rematerializable and integrate it into
TargetInstrInfo::isTriviallyReMaterializable. This way, all places that
need to know whether an instruction is rematerializable will get the
same answer.

This enables the useful parts of the aggressive-remat option by
default -- using AliasAnalysis to determine whether a memory location
is invariant, and removes the questionable parts -- rematting operations
with virtual register inputs that may not be live everywhere.

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

14 years agoExtract scope information from the variable itself, instead of relying on alloca...
Devang Patel [Fri, 9 Oct 2009 22:42:28 +0000 (22:42 +0000)]
Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.

While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.

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

14 years agoExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse
Jeffrey Yasskin [Fri, 9 Oct 2009 22:10:27 +0000 (22:10 +0000)]
ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse
mappings, which could cause errors and assert-failures.  This patch fixes that,
adds a test, and refactors the global-mapping-removal code into a single place.

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

14 years agoAdd a const qualifier.
Dan Gohman [Fri, 9 Oct 2009 22:09:05 +0000 (22:09 +0000)]
Add a const qualifier.

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

14 years agoUse names instead of numbers for some of the magic
Dale Johannesen [Fri, 9 Oct 2009 21:42:02 +0000 (21:42 +0000)]
Use names instead of numbers for some of the magic
constants used in inlining heuristics (especially
those used in more than one file).  No functional change.

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

14 years agoAdded another bit of the ARM target assembler to llvm-mc to parse register
Kevin Enderby [Fri, 9 Oct 2009 21:12:28 +0000 (21:12 +0000)]
Added another bit of the ARM target assembler to llvm-mc to parse register
lists.  Changed ARMAsmParser::MatchRegisterName to return -1 instead of 0 on
errors so 0-15 values could be returned as register numbers.  Also added the
rest of the arm register names to the currently hacked up version to allow more
testing.  Some changes to ARMAsmParser::ParseOperand to give different errors
for things not yet supported and some additions to the hacked
ARMAsmParser::MatchInstruction to allow more testing for now.

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

14 years agoisTriviallyReMaterializable checks the
Dan Gohman [Fri, 9 Oct 2009 21:02:10 +0000 (21:02 +0000)]
isTriviallyReMaterializable checks the
TargetInstrDesc::isRematerializable flag, so it isn't necessary to do
this check in its callers.

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

14 years agoFix the x86 test-shrink optimization so that it doesn't shrink comparisons
Dan Gohman [Fri, 9 Oct 2009 20:35:19 +0000 (20:35 +0000)]
Fix the x86 test-shrink optimization so that it doesn't shrink comparisons
when one of the bits being tested would end up being the sign bit in the
narrower type, and a signed comparison is being performed, since this would
change the result of the signed comparison. This fixes PR5132.

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

14 years agoMerge a bunch of NEON tests into larger files so they run faster.
Bob Wilson [Fri, 9 Oct 2009 20:20:54 +0000 (20:20 +0000)]
Merge a bunch of NEON tests into larger files so they run faster.

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

14 years agoAdd basic infrastructure and x86 support for preserving MachineMemOperand
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

14 years agoCheck invalid debug info for enums. This may happen when underlyng enum is optimized...
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

14 years agowhen previous scratch register is killed, flag the value as no longer tracking
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

14 years agoConvert some ARM tests with lots of greps to use FileCheck.
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

14 years agoRevert r83606 and add comments explaining why it isn't safe.
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

14 years agoAs it turns out, the bug fixes in GC codegen did not make it
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

14 years ago80-columns!
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

14 years agoAdd initial information on VMKit.
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

14 years agomore random updates.
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

14 years agoGive Dan and my recent changes, machine LICM is now code size neutral.
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

14 years agocheckpoint.
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

14 years agoFix a logic error that caused non-rematable loop invariants loads to be licm'ed out...
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

14 years agocheckpoint.
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

14 years agoSlight rewording.
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

14 years agoOmit the 'out_file_index != -1' check when possible.
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

14 years agoUse llvm-as only for compiling .ll -> .bc.
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

14 years agoCommit one last NEON test to use FileCheck. That's all of them now!
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

14 years agoConvert more NEON tests to use FileCheck.
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

14 years agoupdate clang section.
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

14 years agoRaise the limit on built-in plugins in llvmc to 10.
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

14 years agoReconfigure automatically when Base.td.in is changed.
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

14 years agoReset kill markers after live interval is reconstructed.
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

14 years agoIndentation.
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

14 years agoPreserve HasNSW and HasNUW when constructing SCEVs for Add and Mul
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

14 years agoWhen considering whether to inline Callee into Caller,
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

14 years agoAdd the ability to track HasNSW and HasNUW on more kinds of SCEV expressions.
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

14 years agoAdd codegen support for NEON vst4lane intrinsics with 128-bit vectors.
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

14 years agoAdd codegen support for NEON vst3lane intrinsics with 128-bit vectors.
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

14 years agoAdd codegen support for NEON vst2lane intrinsics with 128-bit vectors.
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

14 years agoConvert more NEON tests to use FileCheck.
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

14 years agoAdd codegen support for NEON vld4lane intrinsics with 128-bit vectors.
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

14 years agoRemove code that makes no sense.
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

14 years agoConvert more NEON tests to use FileCheck.
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

14 years agoAdd codegen support for NEON vld3lane intrinsics with 128-bit vectors.
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

14 years agoUpdate CMake build yet again after a source file was removed
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

14 years agoIt's possible for a global variable to be optimized out of a metadata object. So
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

14 years agoUse lower16 / upper16 imm modifiers to asmprint 32-bit imms splitted via movt/movw...
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

14 years agoClear variable debug info map at the end of the function.
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

14 years agoAdd codegen support for NEON vld2lane intrinsics with 128-bit vectors.
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

14 years agoClean up some unnecessary initializations.
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

14 years agoClean up a comment (indentation was wrong).
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

14 years agoAdd a SelectionDAG getTargetInsertSubreg convenience function,
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

14 years agoDo not record line number to implicitly mark start of function if function has argume...
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

14 years agoAdd missing names for the XCore specific LADD and LSUB nodes.
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

14 years agoAdd a form of addPreserved which takes a string argument, to allow passes
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

14 years agosome updates from users of llvm
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

14 years agoAdd some peepholes for signed comparisons using ashr X, X, 32.
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

14 years agoall content split into sections, still much work to be done.
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

14 years agoremove LoopVR pass. According to Nick:
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

14 years agocheckpoint, this is still not comprehendible.
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

14 years agoUnbreak the build.
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

14 years agoConvert more NEON tests to use FileCheck.
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

14 years agoAdd codegen support for NEON vst4 intrinsics with <1 x i64> vectors.
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

14 years agoMake the Base plugin understand -MF and -MT.
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

14 years agoInput files should go before all other options.
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

14 years agoCleanup up unused R3LiveIn tracking.
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

14 years agoRe-enable register scavenging in Thumb1 by default.
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

14 years agobugfix. The target may use virtual registers that aren't tracked for re-use but are...
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

14 years agoAdd codegen support for NEON vst3 intrinsics with <1 x i64> vectors.
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

14 years agoAdd codegen support for NEON vst2 intrinsics with <1 x i64> vectors.
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

14 years agoIn instcombine's debug output, avoid printing ADD for instructions that are
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

14 years agoAdd codegen support for NEON vld4 intrinsics with <1 x i64> vectors.
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

14 years agoConvert more NEON tests to use FileCheck.
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

14 years agoAdd codegen support for NEON vld3 intrinsics with <1 x i64> vectors.
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

14 years agoFix the OProfile part of PR5018. This fixes --without-oprofile, makes
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

14 years agoAdd codegen support for NEON vld2 intrinsics with <1 x i64> vectors.
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

14 years agoreverting thumb1 scavenging default due to test failure while I figure out what's up.
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

14 years agosecond half of lazy liveness removal.
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

14 years agoFix handling of x86 'R' constraint.
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

14 years agoConvert more NEON tests to use FileCheck.
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

14 years agoEnable thumb1 register scavenging by default.
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

14 years agoEnable thumb1 register scavenging by default.
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

14 years agoExtract subprogram and compile unit information from the debug info attached to an...
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

14 years agoAdd some instruction encoding bits for NEON load/store instructions.
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

14 years ago80-column and whitespace fixes.
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

14 years agoFixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
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

14 years agoConvert test to FileCheck.
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

14 years agoAdd codegen support for NEON vst4 intrinsics with 128-bit vectors.
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

14 years agoAdd codegen support for NEON vst3 intrinsics with 128-bit vectors.
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

14 years agogrammar
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

14 years agoAdd codegen support for NEON vst2 intrinsics with 128-bit vectors.
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

14 years agoadd initializers for clarity. Add missing assignment of PrevLastUseOp.
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

14 years agoRemove LazyLiveness from the tree. It doesn't work right now, and I'm not going...
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

14 years agoAdd codegen support for NEON vld4 intrinsics with 128-bit vectors.
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

14 years agoAdd another bit of the ARM target assembler to llvm-mc to parse registers
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

14 years agoReplace some code for aggressive-remat with MachineInstr::isInvariantLoad, and
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

14 years agoReplace TargetInstrInfo::isInvariantLoad and its target-specific
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

14 years agoAdd a few simple MachineVerifier checks for MachineMemOperands.
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

14 years agoAdd codegen support for NEON vld3 intrinsics with 128-bit vectors.
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

14 years agoRearrange code for selecting vld2 intrinsics. No functionality change.
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

14 years agoAdd tests for vld2 of 128-bit vectors.
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