oota-llvm.git
15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 years agoMinor code simplification.
Dan Gohman [Wed, 5 Aug 2009 20:16:55 +0000 (20:16 +0000)]
Minor code simplification.

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

15 years agoRemove redundand checks: the only way to have, e.g. f32 RegVT is exactly
Anton Korobeynikov [Wed, 5 Aug 2009 20:15:19 +0000 (20:15 +0000)]
Remove redundand checks: the only way to have, e.g. f32 RegVT is exactly
hardfloat case.

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

15 years agohasSuperClass tests for a strict superset relation, rather than
Dan Gohman [Wed, 5 Aug 2009 20:13:45 +0000 (20:13 +0000)]
hasSuperClass tests for a strict superset relation, rather than
a superset relation. This code wants to test the regular superset
relation.

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

15 years agoUnbreak the stuff, this is ugly, but we cannot do better for now with 'plain' C calli...
Anton Korobeynikov [Wed, 5 Aug 2009 19:40:16 +0000 (19:40 +0000)]
Unbreak the stuff, this is ugly, but we cannot do better for now with 'plain' C calling conv.

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

15 years agoTest for llvm-gcc checkin 78223.
Dale Johannesen [Wed, 5 Aug 2009 19:10:41 +0000 (19:10 +0000)]
Test for llvm-gcc checkin 78223.

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

15 years agoMissed pieces for ARM HardFP ABI.
Anton Korobeynikov [Wed, 5 Aug 2009 19:04:42 +0000 (19:04 +0000)]
Missed pieces for ARM HardFP ABI.
Patch by Sandeep Patel!

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

15 years agoPrivatize the FunctionType table.
Owen Anderson [Wed, 5 Aug 2009 18:13:27 +0000 (18:13 +0000)]
Privatize the FunctionType table.

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

15 years agoUse elf Object File directly
Andrew Lenharth [Wed, 5 Aug 2009 18:13:04 +0000 (18:13 +0000)]
Use elf Object File directly

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

15 years agoRemove some dead code.
Daniel Dunbar [Wed, 5 Aug 2009 18:12:37 +0000 (18:12 +0000)]
Remove some dead code.

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

15 years agoEnable the new no-SP register classes by default. This is to address
Dan Gohman [Wed, 5 Aug 2009 17:40:24 +0000 (17:40 +0000)]
Enable the new no-SP register classes by default. This is to address
PR4572. A few tests have some minor code regressions due to different
coalescing.

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

15 years agoRemove a redundant declaration.
Bob Wilson [Wed, 5 Aug 2009 17:39:44 +0000 (17:39 +0000)]
Remove a redundant declaration.

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

15 years agoUpdate a comment to reflect the current code.
Dan Gohman [Wed, 5 Aug 2009 17:32:39 +0000 (17:32 +0000)]
Update a comment to reflect the current code.

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

15 years agoAdd testcases for reg-mem arithemtics added recently
Anton Korobeynikov [Wed, 5 Aug 2009 17:04:32 +0000 (17:04 +0000)]
Add testcases for reg-mem arithemtics added recently

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

15 years agoConvert bswap test to filecheck, add more test entries & convert stuff to filecheck
Anton Korobeynikov [Wed, 5 Aug 2009 16:50:53 +0000 (16:50 +0000)]
Convert bswap test to filecheck, add more test entries & convert stuff to filecheck

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

15 years agoFix a bug in the PIC16 backend.
Dan Gohman [Wed, 5 Aug 2009 16:46:43 +0000 (16:46 +0000)]
Fix a bug in the PIC16 backend.

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

15 years agoDisable NEON single-precision FP support for Cortex-A8, for now...
David Goodwin [Wed, 5 Aug 2009 16:40:57 +0000 (16:40 +0000)]
Disable NEON single-precision FP support for Cortex-A8, for now...

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

15 years agoAdd an explicit keyword.
Dan Gohman [Wed, 5 Aug 2009 16:40:32 +0000 (16:40 +0000)]
Add an explicit keyword.

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

15 years agoRemove dead code. MDNode and MDString are not Constant anymore.
Devang Patel [Wed, 5 Aug 2009 16:40:02 +0000 (16:40 +0000)]
Remove dead code.  MDNode and MDString are not Constant anymore.

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

15 years agoDelete an obsolete sentance from a comment.
Dan Gohman [Wed, 5 Aug 2009 16:39:42 +0000 (16:39 +0000)]
Delete an obsolete sentance from a comment.

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

15 years agoAdd new function attribute keywords to the vim syntax.
Dan Gohman [Wed, 5 Aug 2009 16:38:48 +0000 (16:38 +0000)]
Add new function attribute keywords to the vim syntax.

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

15 years agoChange these tests to use function attributes rather than special llc
Dan Gohman [Wed, 5 Aug 2009 16:37:27 +0000 (16:37 +0000)]
Change these tests to use function attributes rather than special llc
command-line options.

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

15 years agoAdd memory versions of some instructions.
Anton Korobeynikov [Wed, 5 Aug 2009 16:16:11 +0000 (16:16 +0000)]
Add memory versions of some instructions.
Patch by Neale Ferguson!

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