Bill Wendling [Sat, 13 Nov 2010 10:40:19 +0000 (10:40 +0000)]
Minor cleanups:
- Get the opcode once.
- Add a ParserMatchClass to reglist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118997
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 13 Nov 2010 09:09:38 +0000 (09:09 +0000)]
Add *_ldst_mult multiclasses to the ARM back-end. These will be used in the
future to separate out the ia, ib, da, db variants of the load/store multiple
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118995
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 07:33:40 +0000 (07:33 +0000)]
MC: Simplify Mach-O and ELF object writer implementations.
- What was I thinking?????
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118992
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 05:48:21 +0000 (05:48 +0000)]
Fixed error and re-enabled MBlaze MC disassembler tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118987
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 13 Nov 2010 05:14:20 +0000 (05:14 +0000)]
Conditional moves are slightly more expensive than moves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118985
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 04:55:06 +0000 (04:55 +0000)]
Fix warning and add support for printing gnu_unique_object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118981
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 04:51:02 +0000 (04:51 +0000)]
Parse and record the gnu_unique_object type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118980
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 04:17:15 +0000 (04:17 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118978
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 13 Nov 2010 03:55:04 +0000 (03:55 +0000)]
This test stops after disassembling 1 instructions on
darwin and, judging from the buildbots, Linux.
Removing it for now, but this is not the right fix,
Wesley please look at it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118977
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 03:18:27 +0000 (03:18 +0000)]
Parse and remember discriminators in .loc line. I try to output them with
another patch.
This lets us parse a bit more of the gcc 4.5 output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118975
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 02:51:00 +0000 (02:51 +0000)]
Add test cases that should have been committed with 118969.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118974
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:57 +0000 (02:48 +0000)]
JIT: More nitty style tweakage, aka territory marking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118973
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:51 +0000 (02:48 +0000)]
report_fatal_error: Simplify a possible ambiguity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118972
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:46 +0000 (02:48 +0000)]
More style nittiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118971
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 02:48:41 +0000 (02:48 +0000)]
Clean up some doxyments/style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118970
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 02:37:59 +0000 (02:37 +0000)]
1. Adding test cases for MBlaze MC disassembler.
2. Fixing several errors in disassembler uncovered by test cases.
3. Fixing invalid encoding of PCMPEQ and PCMPNE uncovered by test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118969
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 13 Nov 2010 02:25:14 +0000 (02:25 +0000)]
Add conditional move of large immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118968
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 01:28:30 +0000 (01:28 +0000)]
Swap multiclass operand order for consistency with other patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118965
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 01:07:20 +0000 (01:07 +0000)]
Continue ARM indexed load refactoring. Multiclass for LDR{B} pre/post indexed
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118963
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 13 Nov 2010 01:06:27 +0000 (01:06 +0000)]
Fix the encoding of negative line deltas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118962
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:55:45 +0000 (00:55 +0000)]
Fix some more 80-col violas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118959
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:55:42 +0000 (00:55 +0000)]
Fix 80-col violation / non-sensicalness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118958
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Sat, 13 Nov 2010 00:35:48 +0000 (00:35 +0000)]
More ARM load/store indexed refactoring. Also fix an incorrect IndexMode
flag for the LDRT/STRT family instructions as a side effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118955
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 13 Nov 2010 00:31:40 +0000 (00:31 +0000)]
Revert r118917, which is implicated in the llvm-gcc-i386-linux-selfhost failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118954
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:28:32 +0000 (00:28 +0000)]
Update CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118953
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 13 Nov 2010 00:28:01 +0000 (00:28 +0000)]
lli: Switch to using ParseIRFile, for consistency with other LLVM tools.
- Also, switch tests to not using llvm-as. They run 20% faster now, not that it matters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118952
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 13 Nov 2010 00:27:47 +0000 (00:27 +0000)]
Fix an obvious typo which inverted an immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118951
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 13 Nov 2010 00:25:06 +0000 (00:25 +0000)]
This should be still failing, but is. Disable it with the
forget-me-stick for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118950
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sat, 13 Nov 2010 00:03:46 +0000 (00:03 +0000)]
1. Adding missing immediate mode asm parser test cases.
2. Fixing improper immediate mode reverse subtract.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118948
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 12 Nov 2010 23:50:48 +0000 (23:50 +0000)]
Temporarily revert this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118946
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 23:46:13 +0000 (23:46 +0000)]
For pre-v6t2 targets, only select MOVi32imm if the immediate can be handled with movi + orr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118945
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 12 Nov 2010 23:41:10 +0000 (23:41 +0000)]
Fixing improperly encoded reverse subtract instructions in MBlaze backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118943
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 12 Nov 2010 23:36:03 +0000 (23:36 +0000)]
Revert r118939 while I work out why it broke some buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118942
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 12 Nov 2010 23:30:17 +0000 (23:30 +0000)]
1. Finishing MBlaze MC asm parser test cases
2. Parsing .word directive in MBlaze asm parser
3. Fixing hack where memory instructions reversed order of last two parameters
4. Fixing many improperly encoded instructions
5. Support parsing special instructions (MFS,MTS,etc.)
6. Removing unused functions from inst printer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118941
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 12 Nov 2010 23:20:42 +0000 (23:20 +0000)]
Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118940
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 12 Nov 2010 23:18:11 +0000 (23:18 +0000)]
Attemt to provide correct encodings for Thumb2 binary operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118939
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 23:03:38 +0000 (23:03 +0000)]
Eliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either movi+orr or movw+movt depending on the subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118938
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 12 Nov 2010 22:52:32 +0000 (22:52 +0000)]
Make this happen for ARM like x86. Don't entirely bail out when
an address is in a different block, get it into a register and go
from there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118936
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 22:42:47 +0000 (22:42 +0000)]
Add conditional mvn instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118935
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 21:29:10 +0000 (21:29 +0000)]
Zap a copy/paste-o bit of dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118926
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 21:28:15 +0000 (21:28 +0000)]
Refactor to parameterize some ARM load/store encoding patterns. Preparatory
to splitting the load/store pre/post indexed instructions into [r, r] and
[r, imm] forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118925
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 12 Nov 2010 21:12:40 +0000 (21:12 +0000)]
First stab at providing correct Thumb2 encodings, start with adc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118924
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 12 Nov 2010 21:10:24 +0000 (21:10 +0000)]
Have GVN simplify instructions as it goes. For example, consider
"%z = %x and %y". If GVN can prove that %y equals %x, then it turns
this into "%z = %x and %x". With the new code, %z will be replaced
with %x everywhere (and then deleted). Previously %z would be value
numbered too, which is a waste of time. Also, while a clever value
numbering algorithm would give %z the same value number as %x, our
current one doesn't do so (at least I don't think it does). The new
logic has an essentially equivalent effect to what you would get if
%z was given the same value number as %x, i.e. it should make value
numbering smarter. While there, get hold of target data once at the
start rather than a gazillion times all over the place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118923
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 12 Nov 2010 20:32:20 +0000 (20:32 +0000)]
Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118922
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 19:27:45 +0000 (19:27 +0000)]
Kill more unused stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118921
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 12 Nov 2010 19:26:04 +0000 (19:26 +0000)]
MCELF: Copy the symbol name only if we're going to modify it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118920
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 19:24:53 +0000 (19:24 +0000)]
Remove unused class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118919
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 12 Nov 2010 19:24:06 +0000 (19:24 +0000)]
Add --enable-docs. Patch by NAKAMURA Takumi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118918
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Nov 2010 19:14:00 +0000 (19:14 +0000)]
When the definition of an address value is in a different block
from the user of the address, fall back to just using the
address in a register instead of bailing out of fast-isel
altogether.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Nov 2010 18:54:56 +0000 (18:54 +0000)]
accept lret as an alias for lretl, fixing the reopened part of PR8592
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118916
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 12 Nov 2010 18:41:26 +0000 (18:41 +0000)]
Remove what looks like dead code in the production of debug lines.
We only produce debug line information if we have seen a line directive, so
this code is dead. Also, if we want to be bug by bug compatible with
gas and sometimes produce "empty" .debug_line sections, this will
match the content produced by gas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118914
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 12 Nov 2010 18:36:03 +0000 (18:36 +0000)]
typo (4th checkin for one fix)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118913
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 12 Nov 2010 18:17:46 +0000 (18:17 +0000)]
Emacs auto-fill bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118908
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 18:13:26 +0000 (18:13 +0000)]
Fill in the default predication bits for ARM unconditional branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118907
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 12 Nov 2010 17:57:22 +0000 (17:57 +0000)]
Test case for PR8287: SD scheduling time. Fixed in r118904.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118906
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 12 Nov 2010 17:52:59 +0000 (17:52 +0000)]
Encoding for ARM LDRSB instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118905
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 12 Nov 2010 17:50:46 +0000 (17:50 +0000)]
Fixes PR8287: SD scheduling time. The fix is a failsafe that prevents
catastrophic compilation time in the event of unreasonable LLVM
IR. Code quality is a separate issue--someone upstream needs to do a
better job of reducing to llvm.memcpy. If the situation can be reproduced with
any supported frontend, then it will be a separate bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Nov 2010 17:41:20 +0000 (17:41 +0000)]
implement PR8592: empirically "lretq" is a "lret" with a rex.w prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Nov 2010 17:24:29 +0000 (17:24 +0000)]
tidy up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118896
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 12 Nov 2010 15:47:08 +0000 (15:47 +0000)]
gnu as support both % and @ before types, do the same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118893
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Nov 2010 11:21:08 +0000 (11:21 +0000)]
Re-disable TBAA for now; it broke MultiSource/Applications/JM/lencod,
at least.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118890
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Fri, 12 Nov 2010 10:14:03 +0000 (10:14 +0000)]
Fix memory access lowering on SPU, adding
support for the case where alignment<value size.
These cases were silently miscompiled before this patch.
Now they are overly verbose -especially storing is- and
any front-end should still avoid misaligned memory
accesses as much as possible. The bit juggling algorithm
added here probably has some room for improvement still.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118889
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 12 Nov 2010 09:48:30 +0000 (09:48 +0000)]
Fix up a few more spots of addrmode2 (or not) changes that were
missed. Update some comments accordingly.
Fixes rdar://
8652289
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118888
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Nov 2010 06:20:01 +0000 (06:20 +0000)]
Enable TBAA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118884
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Fri, 12 Nov 2010 05:47:21 +0000 (05:47 +0000)]
Fix some style issues in PBQP. Patch by David Blaikie.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118883
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Nov 2010 02:19:17 +0000 (02:19 +0000)]
Enhance DSE to handle the case where a free call makes more than
one store dead. This is especially noticeable in
SingleSource/Benchmarks/Shootout/objinst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118875
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 12 Nov 2010 02:02:39 +0000 (02:02 +0000)]
Filecheckize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118874
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 12 Nov 2010 00:43:18 +0000 (00:43 +0000)]
Remove possibly useful info from comment, per Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118865
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Fri, 12 Nov 2010 00:38:32 +0000 (00:38 +0000)]
Enable mips32 mul instruction. Patch by Akira Hatanaka <ahatanaka@mips.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Nov 2010 00:19:41 +0000 (00:19 +0000)]
describe the preferred approach to silencing 'unused variable warnings' due to asserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 12 Nov 2010 00:00:21 +0000 (00:00 +0000)]
add operand iterator apis to MachineInstr, patch by ether zhhb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118862
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 23:41:09 +0000 (23:41 +0000)]
Start of support for binary emit of 16-it Thumb instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118859
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 11 Nov 2010 23:12:55 +0000 (23:12 +0000)]
Fill out support for Thumb2 encodings of NEON instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118854
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 11 Nov 2010 22:21:08 +0000 (22:21 +0000)]
The BRK instruction in the MicroBlaze is a branch-and-link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118848
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 11 Nov 2010 21:51:44 +0000 (21:51 +0000)]
Doxygenify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118846
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 21:50:19 +0000 (21:50 +0000)]
Add helper functions for computing the Location of load, store,
and vaarg instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118845
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 11 Nov 2010 21:40:53 +0000 (21:40 +0000)]
Fix tblgen instruction errors exposed by MC asm parser tests
Fix minimum 16-bit signed value error exposed by MC asm parser tests
Add initial MC asm parser tests for the MBlaze backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118844
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 11 Nov 2010 21:36:43 +0000 (21:36 +0000)]
Add correct Thumb2 encodings for NEON vst[1,2,3,4] and vld[1,2,3,4].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118843
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 21:27:26 +0000 (21:27 +0000)]
Don't forget the TBAA info, if available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118842
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 21:23:25 +0000 (21:23 +0000)]
Factor out Instruction::isSafeToSpeculativelyExecute's code for
testing for dereferenceable pointers into a helper function,
isDereferenceablePointer. Teach it how to reason about GEPs
with simple non-zero indices.
Also eliminate ArgumentPromtion's IsAlwaysValidPointer,
which didn't check for weak externals or out of range gep
indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118840
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 11 Nov 2010 21:15:47 +0000 (21:15 +0000)]
Flesh out tests for Thumb2 encodings of NEON instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118837
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 21:08:46 +0000 (21:08 +0000)]
Delete unneeded ssp attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118836
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 11 Nov 2010 20:50:14 +0000 (20:50 +0000)]
Revert the accidental commit I made reverting the previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118835
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 20:16:23 +0000 (20:16 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118831
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 20:05:40 +0000 (20:05 +0000)]
ARM fixup encoding for direct call instructions (BL).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118829
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 11 Nov 2010 19:47:02 +0000 (19:47 +0000)]
Revert this temporarily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118827
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 11 Nov 2010 19:26:03 +0000 (19:26 +0000)]
Change the prologue and epilogue to use push/pop for the low ARM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118823
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 19:23:51 +0000 (19:23 +0000)]
Avoid calling alias on non-pointer values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118822
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 11 Nov 2010 19:07:48 +0000 (19:07 +0000)]
Add support for Thumb2 encodings of NEON data processing instructions, using the new PostEncoderMethod infrastructure.
More tests to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118819
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 11 Nov 2010 19:04:55 +0000 (19:04 +0000)]
Mark labels declared in tls sections as STT_TLS. This matches the behavior of
gas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118818
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 11 Nov 2010 18:41:33 +0000 (18:41 +0000)]
Fixed some bugs in MBlaze asm parser that were introduced when removing OwningPtrs from the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 11 Nov 2010 18:23:57 +0000 (18:23 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118806
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 11 Nov 2010 18:13:52 +0000 (18:13 +0000)]
Initial comdat implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118805
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 18:09:32 +0000 (18:09 +0000)]
TBAA-enable ArgumentPromotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118804
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 18:08:43 +0000 (18:08 +0000)]
Add a FIXME comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118803
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 18:04:49 +0000 (18:04 +0000)]
Encoding of destination fixup for ARM branch and conditional branch
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118801
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 11 Nov 2010 17:46:29 +0000 (17:46 +0000)]
Check TRI->getReservedRegs because other allocators do it. Even though
it makes no sense for allocation_order iterators to visit reserved regs.
The inline spiller depends on AliasAnalysis.
Manage the Query state to avoid uninitialized or stale results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118800
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 17:33:39 +0000 (17:33 +0000)]
Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118799
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 11 Nov 2010 17:24:43 +0000 (17:24 +0000)]
Make AliasedSymbol able to handle MCTargetExpr. They can get here if
a weakref is used with a VariantKind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118798
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 11 Nov 2010 17:17:56 +0000 (17:17 +0000)]
add pr#
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118797
91177308-0d34-0410-b5e6-
96231b3b80d8