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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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