oota-llvm.git
14 years agoConvert more Neon tests to use FileCheck.
Bob Wilson [Fri, 7 Aug 2009 23:45:02 +0000 (23:45 +0000)]
Convert more Neon tests to use FileCheck.

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

14 years agocode cleanup
Chris Lattner [Fri, 7 Aug 2009 23:42:01 +0000 (23:42 +0000)]
code cleanup

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

14 years agoUnbreak build.
Benjamin Kramer [Fri, 7 Aug 2009 23:37:47 +0000 (23:37 +0000)]
Unbreak build.

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

14 years agoMake NEON single-precision FP support the default for cortex-a8 (again).
David Goodwin [Fri, 7 Aug 2009 23:32:33 +0000 (23:32 +0000)]
Make NEON single-precision FP support the default for cortex-a8 (again).

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

14 years agoremove a bunch of now-dead crud from the asmprinter and TAI interfaces.
Chris Lattner [Fri, 7 Aug 2009 23:16:27 +0000 (23:16 +0000)]
remove a bunch of now-dead crud from the asmprinter and TAI interfaces.

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

14 years agofix the column output stuff in the asmwriter from being dynamic and
Chris Lattner [Fri, 7 Aug 2009 23:13:38 +0000 (23:13 +0000)]
fix the column output stuff in the asmwriter from being dynamic and
driven by TAI to being static, driven by tblgen.  This means that a
target doesn't get impacted by this stuff at all if it doesn't opt
into it.

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

14 years agoFix copy-pasto.
Andreas Bolka [Fri, 7 Aug 2009 22:55:26 +0000 (22:55 +0000)]
Fix copy-pasto.

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

14 years agoUnbreak the stuff
Anton Korobeynikov [Fri, 7 Aug 2009 22:51:13 +0000 (22:51 +0000)]
Unbreak the stuff

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

14 years agoModifications to dyn_cast/cast to make them work for objects too, instead of only...
Argyrios Kyrtzidis [Fri, 7 Aug 2009 22:49:24 +0000 (22:49 +0000)]
Modifications to dyn_cast/cast to make them work for objects too, instead of only pointers.

The use case is if you have a wrapper class:

class Base {
  void *Ptr;
public:
  Base() : Ptr(0) { }
  operator bool() const { return Ptr; }
.....
}

and sub-wrappers that have exactly the same size:

class Sub : public Base {
public:
....
static bool classof(const Base*);
}

and in the code you would do:

void f(Base b) {
  Sub sub = dyn_cast<Sub>(b);
  if (sub) {
    ....
  }
}

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

14 years agoAdded Mac OS X assembler style conditional assembly. I may come back and see if
Kevin Enderby [Fri, 7 Aug 2009 22:46:00 +0000 (22:46 +0000)]
Added Mac OS X assembler style conditional assembly.  I may come back and see if
I can clean this up a bit more and do way with the TheCondState and just use
the top element on the TheCondStack if not empty.  Also may tweak the code
around ParseConditionalAssemblyDirectives() to simplify the AsmParser code.

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

14 years agofix comment pastos
Chris Lattner [Fri, 7 Aug 2009 22:44:56 +0000 (22:44 +0000)]
fix comment pastos

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

14 years agoBack out some of recent register scavenger change by John Mosby. It broke a number...
Evan Cheng [Fri, 7 Aug 2009 22:39:43 +0000 (22:39 +0000)]
Back out some of recent register scavenger change by John Mosby. It broke a number of ARM tests.

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

14 years agoavoid this libcall with long inline expansion
Andrew Lenharth [Fri, 7 Aug 2009 22:37:20 +0000 (22:37 +0000)]
avoid this libcall with long inline expansion

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

14 years ago2 more vdup.32 cases
Anton Korobeynikov [Fri, 7 Aug 2009 22:36:50 +0000 (22:36 +0000)]
2 more vdup.32 cases

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

14 years agoA big oops. Thumb1 default CC is a def of CPSR, not a use of CPSR.
Evan Cheng [Fri, 7 Aug 2009 22:36:37 +0000 (22:36 +0000)]
A big oops. Thumb1 default CC is a def of CPSR, not a use of CPSR.

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

14 years agostrength reduce anonymous namespace to static.
Chris Lattner [Fri, 7 Aug 2009 22:27:19 +0000 (22:27 +0000)]
strength reduce anonymous namespace to static.

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

14 years agotidy up
Chris Lattner [Fri, 7 Aug 2009 22:26:50 +0000 (22:26 +0000)]
tidy up

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

14 years agoReformatting of lines. Put multiple DEBUG statements under one DEBUG statement.
Bill Wendling [Fri, 7 Aug 2009 21:33:25 +0000 (21:33 +0000)]
Reformatting of lines. Put multiple DEBUG statements under one DEBUG statement.

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

14 years agoThumb2 32-bit ldm / stm needs .w suffix if submode is ia.
Evan Cheng [Fri, 7 Aug 2009 21:19:10 +0000 (21:19 +0000)]
Thumb2 32-bit ldm / stm needs .w suffix if submode is ia.

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

14 years agollvm-mc/AsmMatcher: Move emit for register -> enum matcher into a separate routine.
Daniel Dunbar [Fri, 7 Aug 2009 21:01:44 +0000 (21:01 +0000)]
llvm-mc/AsmMatcher: Move emit for register -> enum matcher into a separate routine.

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

14 years agoXFAIL 2006-11-06-StackTrace.cpp on powerpc-apple-darwin9 until someone feels
Daniel Dunbar [Fri, 7 Aug 2009 20:50:58 +0000 (20:50 +0000)]
XFAIL 2006-11-06-StackTrace.cpp on powerpc-apple-darwin9 until someone feels
motivated to fix it.

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

14 years agoMSVC warning fixes; patch by Stein Roger!
Daniel Dunbar [Fri, 7 Aug 2009 20:50:09 +0000 (20:50 +0000)]
MSVC warning fixes; patch by Stein Roger!

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

14 years agollvm-mc/AsmMatcher: Tweaks in response to feedback.
Daniel Dunbar [Fri, 7 Aug 2009 20:33:39 +0000 (20:33 +0000)]
llvm-mc/AsmMatcher: Tweaks in response to feedback.

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

14 years agoTo catch bugs like the one fixed in
Jeffrey Yasskin [Fri, 7 Aug 2009 19:54:29 +0000 (19:54 +0000)]
To catch bugs like the one fixed in
http://llvm.org/viewvc/llvm-project?view=rev&revision=78127, I'm changing the
ExecutionEngine's global mappings to hold AssertingVH<const GlobalValue>. That
way, if unregistering a mapping fails to actually unregister it, we'll get an
assert. Running the jit nightly tests didn't uncover any actual instances of
the problem.

This also uncovered the fact that AssertingVH<const X> didn't work, so I fixed
that too.

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

14 years agoThis is done.
Evan Cheng [Fri, 7 Aug 2009 19:34:52 +0000 (19:34 +0000)]
This is done.

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

14 years agoUse 16-bit tMOVgpr2gpr instead of tMOVr to copy GPR registers in Thumb2 mode.
Evan Cheng [Fri, 7 Aug 2009 19:34:35 +0000 (19:34 +0000)]
Use 16-bit tMOVgpr2gpr instead of tMOVr to copy GPR registers in Thumb2 mode.

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

14 years agoFix support to use NEON for single precision fp math.
Evan Cheng [Fri, 7 Aug 2009 19:30:41 +0000 (19:30 +0000)]
Fix support to use NEON for single precision fp math.

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

14 years agoSIV/MIV classification for LDA.
Andreas Bolka [Fri, 7 Aug 2009 18:23:41 +0000 (18:23 +0000)]
SIV/MIV classification for LDA.

LoopDependenceAnalysis::getLoops is currently O(N*M) for a loop-nest of
depth N and a compound SCEV of M atomic SCEVs. As both N and M will
typically be very small, this should not be a problem. If it turns out
to be one, rewriting getLoops as SCEVVisitor will reduce complexity to
O(M).

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

14 years agoRewrite previous patch to follow Chris' stylistic
Dale Johannesen [Fri, 7 Aug 2009 17:41:29 +0000 (17:41 +0000)]
Rewrite previous patch to follow Chris' stylistic
preference; no functional change.

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

14 years agoFix dom frontier update. This fixes PR4667.
Devang Patel [Fri, 7 Aug 2009 17:16:44 +0000 (17:16 +0000)]
Fix dom frontier update. This fixes PR4667.
Patch by Jakub Staszak.

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

14 years agoFix Strong-SIV testcase.
Andreas Bolka [Fri, 7 Aug 2009 15:42:32 +0000 (15:42 +0000)]
Fix Strong-SIV testcase.

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

14 years agoMinor fixes to avoid using invalid debugloc.
Sanjiv Gupta [Fri, 7 Aug 2009 11:00:02 +0000 (11:00 +0000)]
Minor fixes to avoid using invalid debugloc.

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

14 years agoSimplify code and avoid allocations.
Benjamin Kramer [Fri, 7 Aug 2009 10:42:28 +0000 (10:42 +0000)]
Simplify code and avoid allocations.

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

14 years agoImprove disabling of X86 AsmMatcher.
Daniel Dunbar [Fri, 7 Aug 2009 09:06:38 +0000 (09:06 +0000)]
Improve disabling of X86 AsmMatcher.

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

14 years agoDisable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of memory on
Daniel Dunbar [Fri, 7 Aug 2009 08:45:03 +0000 (08:45 +0000)]
Disable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of memory on
i386-apple-darwin9. This presumably will get fixed once the generated code
improves.

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

14 years agollvm-mc/AsmMatcher: Move to a slightly more sane matching design.
Daniel Dunbar [Fri, 7 Aug 2009 08:26:05 +0000 (08:26 +0000)]
llvm-mc/AsmMatcher: Move to a slightly more sane matching design.
 - Still not very sane, but a least its not 60k lines on X86. :)

 - In terms of correctness, currently some things are hard wired for X86, and we
   still don't properly resolve ambiguities (this is ignoring the instructions
   we don't even match due to funny .td stuff or other corner cases).

The high level changes:
 1. Represent tokens which are significant for matching explicitly as separate
    operands. This uniformly handles not only the instruction mnemonic, but
    also 'signficiant' syntax like the '*' in "call * ...".

 2. Separate the matching of operands to an instruction from the construction of
    the MCInst. In theory this can be done during matching, but since the number
    of variations is small I think it makes sense to decompose the problems.

 3. Improved a few of the mechanisms to at least successfully flatten / tokenize
    the assembly strings for PowerPC and ARM.

 4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm
    moving towards for handling ambiguous instructions. The high-bit is to infer
    a partial ordering of the operand classes (and force the user to specify one
    if we can't) and use that to resolve ambiguities.

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

14 years agoError out, rather than infinite looping, if constant island pass can't converge.
Evan Cheng [Fri, 7 Aug 2009 07:35:21 +0000 (07:35 +0000)]
Error out, rather than infinite looping, if constant island pass can't converge.

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

14 years agoAnother coalescer bug. When a dead copy is eliminated, transfer the kill to a def...
Evan Cheng [Fri, 7 Aug 2009 07:14:14 +0000 (07:14 +0000)]
Another coalescer bug. When a dead copy is eliminated, transfer the kill to a def of the exact register rather than a super-register.

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

14 years agotBfar is bl, which clobbers LR.
Evan Cheng [Fri, 7 Aug 2009 05:45:07 +0000 (05:45 +0000)]
tBfar is bl, which clobbers LR.

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

14 years agoRun memsel inserter just before emit assembly to avoid tinkering by other passes.
Sanjiv Gupta [Fri, 7 Aug 2009 05:44:27 +0000 (05:44 +0000)]
Run memsel inserter just before emit assembly to avoid tinkering by other passes.

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

14 years agoUpdate CMake.
Daniel Dunbar [Fri, 7 Aug 2009 03:59:06 +0000 (03:59 +0000)]
Update CMake.

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

14 years agoRemove unused function.
Daniel Dunbar [Fri, 7 Aug 2009 03:52:07 +0000 (03:52 +0000)]
Remove unused function.

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

14 years agoThese should be expanded
Andrew Lenharth [Fri, 7 Aug 2009 02:17:44 +0000 (02:17 +0000)]
These should be expanded

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

14 years agoUse std::string() instead of std::string("").
Dan Gohman [Fri, 7 Aug 2009 01:43:45 +0000 (01:43 +0000)]
Use std::string() instead of std::string("").

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

14 years agoFix a bunch of namespace pollution.
Dan Gohman [Fri, 7 Aug 2009 01:32:21 +0000 (01:32 +0000)]
Fix a bunch of namespace pollution.

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

14 years agoFix a typo in a comment.
Dan Gohman [Fri, 7 Aug 2009 01:26:06 +0000 (01:26 +0000)]
Fix a typo in a comment.

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

14 years agoIt turns out most of the thumb2 instructions are not allowed to touch SP. The semanti...
Evan Cheng [Fri, 7 Aug 2009 00:34:42 +0000 (00:34 +0000)]
It turns out most of the thumb2 instructions are not allowed to touch SP. The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing.

This patch takes pain to ensure all the PEI lowering code does the right thing when lowering frame indices, insert code to manipulate stack pointers, etc. It's also custom lowering dynamic stack alloc into pseudo instructions so we can insert the right instructions at scheduling time.

This fixes PR4659 and PR4682.

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

14 years agoCode clean up.
Evan Cheng [Fri, 7 Aug 2009 00:28:58 +0000 (00:28 +0000)]
Code clean up.

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

14 years agoAdded legal stuff, fixed some formatting issues. Removed the graph generator stuff...
Lang Hames [Fri, 7 Aug 2009 00:25:12 +0000 (00:25 +0000)]
Added legal stuff, fixed some formatting issues. Removed the graph generator stuff as it was only meant for debugging the solver.

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

14 years agoAdd the testcase from PR 4668. This works at the
Dale Johannesen [Fri, 7 Aug 2009 00:04:42 +0000 (00:04 +0000)]
Add the testcase from PR 4668.  This works at the
moment, but it's a fragile area.

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

14 years agoNew C++ PBQP solver. Currently about as fast (read _slow_) as the old C based solver...
Lang Hames [Thu, 6 Aug 2009 23:32:48 +0000 (23:32 +0000)]
New C++ PBQP solver. Currently about as fast (read _slow_) as the old C based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver.

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

14 years agoFix PR 4626, a crash in branch folding after OptimizeBlock
Dale Johannesen [Thu, 6 Aug 2009 22:56:40 +0000 (22:56 +0000)]
Fix PR 4626, a crash in branch folding after OptimizeBlock
produced a CFG it wasn't prepared for.

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

14 years agoUse stripPointerCasts instead of partially rewriting it.
Dale Johannesen [Thu, 6 Aug 2009 22:45:51 +0000 (22:45 +0000)]
Use stripPointerCasts instead of partially rewriting it.

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

14 years agoVanity.
Jakob Stoklund Olesen [Thu, 6 Aug 2009 21:54:23 +0000 (21:54 +0000)]
Vanity.

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

14 years agoOutput the new StructType constructor, which takes the context of the
Nicolas Geoffray [Thu, 6 Aug 2009 21:31:35 +0000 (21:31 +0000)]
Output the new StructType constructor, which takes the context of the
module as first argument.

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

14 years agoGet rid of RegScavenger::backwards() before the bitrot spreads.
Jakob Stoklund Olesen [Thu, 6 Aug 2009 21:19:03 +0000 (21:19 +0000)]
Get rid of RegScavenger::backwards() before the bitrot spreads.

If we need it one day, there is nothing wrong with putting it back in.

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

14 years agoRemove dead code.
Devang Patel [Thu, 6 Aug 2009 20:57:44 +0000 (20:57 +0000)]
Remove dead code.

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

14 years agoUse DebugInfoFinder
Devang Patel [Thu, 6 Aug 2009 20:53:24 +0000 (20:53 +0000)]
Use DebugInfoFinder

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

14 years agoUse DebugInfoFinder.
Devang Patel [Thu, 6 Aug 2009 20:53:06 +0000 (20:53 +0000)]
Use DebugInfoFinder.

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

14 years agoImplement Neon VST[234] operations.
Bob Wilson [Thu, 6 Aug 2009 18:47:44 +0000 (18:47 +0000)]
Implement Neon VST[234] operations.

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

14 years agoFix incorrect intrinsic declarations.
Bob Wilson [Thu, 6 Aug 2009 18:46:26 +0000 (18:46 +0000)]
Fix incorrect intrinsic declarations.

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

14 years agoTestcase for llvm-gcc 78324 (although in normal
Dale Johannesen [Thu, 6 Aug 2009 17:28:23 +0000 (17:28 +0000)]
Testcase for llvm-gcc 78324 (although in normal
testing mode it won't test much).

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

14 years agoTidy up this testcase.
Dan Gohman [Thu, 6 Aug 2009 17:11:55 +0000 (17:11 +0000)]
Tidy up this testcase.

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

14 years agoAdd parameter to pattern classes to enable an itinerary to be specified for instructi...
David Goodwin [Thu, 6 Aug 2009 16:52:47 +0000 (16:52 +0000)]
Add parameter to pattern classes to enable an itinerary to be specified for instructions. For now just use the existing itineraries or NoItinerary.

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

14 years agoFix several fixmes and clean up code by sinking *all* section
Chris Lattner [Thu, 6 Aug 2009 16:39:58 +0000 (16:39 +0000)]
Fix several fixmes and clean up code by sinking *all* section
creation activity into the target-specific subclasses of TLOF.
Before this, globals with explicit sections could be created by
the base class.

1. make getOrCreateSection protected, add a new getExplicitSectionGlobal
   pure virtual method to assign sections to globals with a specified
   section.
2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific.
3. eliminate the getKindForNamedSection virtual method, which is
   now just a static method for ELF.
4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16.
   They are now all detangled and understandable, woo! :)

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

14 years agoReg Scavenging generalization (Thumb support):
John Mosby [Thu, 6 Aug 2009 16:32:47 +0000 (16:32 +0000)]
Reg Scavenging generalization (Thumb support):
- start support for new PEI w/reg alloc, allow running RS from emit{Pro,Epi}logue() target hooks.
- fix minor issue with recursion detection.

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

14 years agogo through PIC16TargetObjectFile to make sections instead of
Chris Lattner [Thu, 6 Aug 2009 16:27:28 +0000 (16:27 +0000)]
go through PIC16TargetObjectFile to make sections instead of
creating them directly in the pic16 asmprinter.

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

14 years agoreduce testcase.
Chris Lattner [Thu, 6 Aug 2009 16:14:33 +0000 (16:14 +0000)]
reduce testcase.

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

14 years agoFix comment.
Devang Patel [Thu, 6 Aug 2009 15:39:34 +0000 (15:39 +0000)]
Fix comment.

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

14 years agoAdd assertion checks after the calls to LowerFormalArguments, LowerCall,
Dan Gohman [Thu, 6 Aug 2009 15:37:27 +0000 (15:37 +0000)]
Add assertion checks after the calls to LowerFormalArguments, LowerCall,
and LowerReturn, to verify that the targets' hooks have respected some
of their postconditions.

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

14 years agoRemove an over-aggressive assert. Functions with empty struct return
Dan Gohman [Thu, 6 Aug 2009 15:07:58 +0000 (15:07 +0000)]
Remove an over-aggressive assert. Functions with empty struct return
types don't have any return values, from CodeGen's perspective.
This fixes PR4688.

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

14 years agoAdd note about msys perl needed for windows/mingw32 builds.
Anton Korobeynikov [Thu, 6 Aug 2009 12:54:58 +0000 (12:54 +0000)]
Add note about msys perl needed for windows/mingw32 builds.
Patch by John Thompson!

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

14 years agoAdd tests for X86-64 code model handling. Small and kernel for now.
Anton Korobeynikov [Thu, 6 Aug 2009 12:25:20 +0000 (12:25 +0000)]
Add tests for X86-64 code model handling. Small and kernel for now.

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

14 years agoWe need to sext global addresses in kernel code model, not zext
Anton Korobeynikov [Thu, 6 Aug 2009 11:23:24 +0000 (11:23 +0000)]
We need to sext global addresses in kernel code model, not zext

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

14 years agoFix a bug in x86's PreprocessForRMW logic that was exposed
Dan Gohman [Thu, 6 Aug 2009 09:22:57 +0000 (09:22 +0000)]
Fix a bug in x86's PreprocessForRMW logic that was exposed
by aggressive chain operand optimization. UpdateNodeOperands
does not modify the node in place if it would result in
a node identical to an existing node.

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

14 years agoFix a few places in DAGCombiner that were creating all-ones-bits
Dan Gohman [Thu, 6 Aug 2009 09:18:59 +0000 (09:18 +0000)]
Fix a few places in DAGCombiner that were creating all-ones-bits
and high-bits values in ways that weren't correct for integer
types wider than 64 bits. This fixes a miscompile in
PPMacroExpansion.cpp in clang on x86-64.

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

14 years agoMissed part of recent kernel codemodel tweaks
Anton Korobeynikov [Thu, 6 Aug 2009 09:11:19 +0000 (09:11 +0000)]
Missed part of recent kernel codemodel tweaks

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

14 years agoadd a testcase for my llvm-gcc hack.
Chris Lattner [Thu, 6 Aug 2009 06:18:52 +0000 (06:18 +0000)]
add a testcase for my llvm-gcc hack.

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

14 years agoDon't search the entire type table just to delete a type by name.
Daniel Dunbar [Thu, 6 Aug 2009 06:04:35 +0000 (06:04 +0000)]
Don't search the entire type table just to delete a type by name.
 - This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml.

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

14 years agollvm-ld has a new option called -b to specify the name of bitcode output file, use...
Sanjiv Gupta [Thu, 6 Aug 2009 04:09:26 +0000 (04:09 +0000)]
llvm-ld has a new option called -b to specify the name of bitcode output file, use that.

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

14 years agothis passes.
Chris Lattner [Thu, 6 Aug 2009 03:55:49 +0000 (03:55 +0000)]
this passes.

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

14 years agoSimplify the ZIV tester to the max.
Andreas Bolka [Thu, 6 Aug 2009 03:10:33 +0000 (03:10 +0000)]
Simplify the ZIV tester to the max.

As suggested by Nick Lewycky.

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

14 years agoXFAIL it while it is being worked on.
Sanjiv Gupta [Thu, 6 Aug 2009 02:19:20 +0000 (02:19 +0000)]
XFAIL it while it is being worked on.

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

14 years agoAdd tests for new NEON vld instructions.
Bob Wilson [Thu, 6 Aug 2009 00:38:31 +0000 (00:38 +0000)]
Add tests for new NEON vld instructions.

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

14 years agoNeon does not actually have VLD{234}.64 instructions.
Bob Wilson [Thu, 6 Aug 2009 00:24:27 +0000 (00:24 +0000)]
Neon does not actually have VLD{234}.64 instructions.
These operations will have to be synthesized from other instructions.

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

14 years agoConvert more Neon tests to FileCheck.
Bob Wilson [Wed, 5 Aug 2009 23:51:20 +0000 (23:51 +0000)]
Convert more Neon tests to FileCheck.

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

14 years agoUpdate unit test.
Owen Anderson [Wed, 5 Aug 2009 23:28:57 +0000 (23:28 +0000)]
Update unit test.

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

14 years agoPrivatize the StructType table, which unfortunately involves routing contexts through...
Owen Anderson [Wed, 5 Aug 2009 23:16:16 +0000 (23:16 +0000)]
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.

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

14 years agoAdd a new pre-allocation pass to assign adjacent registers for Neon instructions
Bob Wilson [Wed, 5 Aug 2009 23:12:45 +0000 (23:12 +0000)]
Add a new pre-allocation pass to assign adjacent registers for Neon instructions
that have that constraint.  This is currently just assigning a fixed set of
registers, and it only handles VLDn for n=2,3,4 with DPR registers.
I'm going to expand it to handle more operations next; we can make it smarter
once everything is working correctly.

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

14 years agoBetter handle kernel code model. Also, generalize the things and fix one
Anton Korobeynikov [Wed, 5 Aug 2009 23:01:26 +0000 (23:01 +0000)]
Better handle kernel code model. Also, generalize the things and fix one
subtle bug with small code model.

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

14 years agoAdjust test for llvm-gcc checkin 78249.
Dale Johannesen [Wed, 5 Aug 2009 22:18:47 +0000 (22:18 +0000)]
Adjust test for llvm-gcc checkin 78249.

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

14 years agoUse GR32 for copies between GR32_NOSP and GR32_NOREX, as neither
Dan Gohman [Wed, 5 Aug 2009 22:18:26 +0000 (22:18 +0000)]
Use GR32 for copies between GR32_NOSP and GR32_NOREX, as neither
is a subset of the other, but both are subsets of GR32.

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

14 years agoMake block and function count available via ProfileInfo.
Daniel Dunbar [Wed, 5 Aug 2009 21:51:16 +0000 (21:51 +0000)]
Make block and function count available via ProfileInfo.
 - Part of optimal static profiling patch sequence by Andreas Neustifter.

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

14 years agoSuppress compiler warning.
Daniel Dunbar [Wed, 5 Aug 2009 21:42:40 +0000 (21:42 +0000)]
Suppress compiler warning.

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

14 years agoUse (void *)(intptr_t) to cast function addresses to void*
Dan Gohman [Wed, 5 Aug 2009 21:03:39 +0000 (21:03 +0000)]
Use (void *)(intptr_t) to cast function addresses to void*
for use with sys::Path::GetMainExecutable, to avoid warnings
with -pedantic.

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

14 years agoWhen using NEON for single-precision FP, the NEON result must be placed in D0-D15...
David Goodwin [Wed, 5 Aug 2009 21:02:22 +0000 (21:02 +0000)]
When using NEON for single-precision FP, the NEON result must be placed in D0-D15 as these are the only D registers with S subregs. Introduce a new regclass to represent D0-D15 and use it in the NEON single-precision FP patterns.

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

14 years agoFix some column padding bugs, reorganize things as suggested by Chris
David Greene [Wed, 5 Aug 2009 21:00:52 +0000 (21:00 +0000)]
Fix some column padding bugs, reorganize things as suggested by Chris
and eliminate complexity.  Yay!

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

14 years agoremove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.
Chris Lattner [Wed, 5 Aug 2009 20:49:52 +0000 (20:49 +0000)]
remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.

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

14 years agoAdd an svn:ignore property.
Dan Gohman [Wed, 5 Aug 2009 20:24:09 +0000 (20:24 +0000)]
Add an svn:ignore property.

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

14 years agoFix FindExecutable to use sys::Path::GetMainExecutable instead of
Dan Gohman [Wed, 5 Aug 2009 20:21:17 +0000 (20:21 +0000)]
Fix FindExecutable to use sys::Path::GetMainExecutable instead of
just argv[0]. And remove the code for searching the current
working directory and for searching PATH; the point of FindExecutable
is not to find whatever version of the executable can be found by
searching around, but to find an executable that accompanies the
current executable.

Update the tools to use sys::Program::FindProgramByName when they
want PATH searching.

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