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
Jim Grosbach [Thu, 11 Nov 2010 16:55:29 +0000 (16:55 +0000)]
Encoding for ARM LDRSH_POST.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118794
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 11 Nov 2010 16:48:11 +0000 (16:48 +0000)]
Fix the symbol index of weak references. Also make RecordRelocation a bit
easier to read by having const references to the symbol, aliased symbol and
renamed symbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118793
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 16:37:38 +0000 (16:37 +0000)]
Add brief doxygen comments for AliasResult enum values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118792
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 16:32:17 +0000 (16:32 +0000)]
Include ImmutablePass passes in -debug-pass=Arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118790
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 16:24:49 +0000 (16:24 +0000)]
Remove the memmove->memcpy optimization from CodeGen. MemCpyOpt does this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118789
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 16:21:47 +0000 (16:21 +0000)]
Make Sink tbaa-aware.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118788
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 16:20:28 +0000 (16:20 +0000)]
It's safe to sink some instructions which are not safe to speculatively
execute. Make Sink's predicate more precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118787
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 11 Nov 2010 04:09:35 +0000 (04:09 +0000)]
CMake: Add the new option "LLVM_LIT_ARGS".
Defaults:
if (MSVC OR XCODE): "-sv --no-progress-bar"
else: "-sv"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118776
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 11 Nov 2010 03:40:25 +0000 (03:40 +0000)]
Remove some explicit arguments to getELFSection. This is
a leftover from the removal of isExplicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118774
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 01:55:59 +0000 (01:55 +0000)]
Encoding for ARM LDRSH and LDRSH_PRE. Cannonicalize operand names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118767
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 01:27:41 +0000 (01:27 +0000)]
Fix encoding of Ra register for ARM smla* instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118761
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 11 Nov 2010 01:19:24 +0000 (01:19 +0000)]
Add support for specifying a PostEncoderMethod, which can perform post-processing after the automated encoding of an instruction.
Not yet used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118759
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 11 Nov 2010 01:09:40 +0000 (01:09 +0000)]
ARM STRH encoding information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118757
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 01:03:30 +0000 (01:03 +0000)]
Add a testcase which demonstrates alias analysis pass precedence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118755
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 11 Nov 2010 00:52:44 +0000 (00:52 +0000)]
Delete SplittingSpiller. It was not being used by anyone, and it is being
superceded by SplitKit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118754
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 00:42:22 +0000 (00:42 +0000)]
It's not necessary to clear out the Size and TBAATag at each of
these points.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118752
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 11 Nov 2010 00:20:27 +0000 (00:20 +0000)]
Set NonLocalDepInfo's Size field to UnknownSize when invalidating
it, so that it doesn't appear to be a known size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118748
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 11 Nov 2010 00:19:20 +0000 (00:19 +0000)]
Insert two blank SlotIndexes between basic blocks instead of just one.
This is the first small step towards using closed intervals for liveness instead
of the half-open intervals we're using now.
We want to be able to distinguish between a SlotIndex that represents a variable
being live-out of a basic block, and an index representing a variable live-in to
its successor.
That requires two separate indexes between blocks. One for live-outs and one for
live-ins.
With this change, getMBBEndIdx(MBB).getPrevSlot() becomes stable so it stays
greater than any instructions inserted at the end of MBB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118747
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 11 Nov 2010 00:13:39 +0000 (00:13 +0000)]
Document debuginfo-tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118746
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 23:56:02 +0000 (23:56 +0000)]
Delete unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118743
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 23:56:00 +0000 (23:56 +0000)]
No need to add liveness that's already there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118742
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 23:55:56 +0000 (23:55 +0000)]
Hook up AliasAnalysis in InlineSpiller. This is used for rematerializing
constant loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118741
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:44:32 +0000 (23:44 +0000)]
Move LDM predicate operand encoding into base clase. Add STM missing STM
encoding bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118738
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:38:36 +0000 (23:38 +0000)]
ARM LDM encoding for the mode (ia, ib, da, db) operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118736
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 23:36:59 +0000 (23:36 +0000)]
Factor some code into WriteSection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118733
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:18:49 +0000 (23:18 +0000)]
Fix ARM encoding of non-return LDM instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118732
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:12:48 +0000 (23:12 +0000)]
Fix ARM encoding of LDM+Return instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118730
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 22:35:02 +0000 (22:35 +0000)]
When clearing a non-local pointer dependency cache entry, clear
the reverse map too. This fixes seflhost build errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118729
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 22:34:07 +0000 (22:34 +0000)]
Update the section index map after we add the medatada sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118728
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 10 Nov 2010 22:19:21 +0000 (22:19 +0000)]
Take care of special characters while creating named MDNode name to hold function specific local variable's info.
This fixes radar
8653152. I am checking in testcase as a separate check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118726
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 22:16:43 +0000 (22:16 +0000)]
Use SectionIndexMap in WriteSymbolTable to make it a little less brittle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118725
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 21:51:35 +0000 (21:51 +0000)]
Factor out the code for computing an AliasAnalysis::Location
for a given instruction into a helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118723
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 21:51:05 +0000 (21:51 +0000)]
Factor some code into ComputeIndexMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118722
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 21:45:11 +0000 (21:45 +0000)]
Fully invalidate cached results when a prior query's size or
type is insufficient for, or incompatible with, the current query.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118721
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 10 Nov 2010 21:35:41 +0000 (21:35 +0000)]
Fix an issue where we tried to turn a v2f32 build_vector into a v4i32 build vector with 2 elts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118720
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 10 Nov 2010 20:53:24 +0000 (20:53 +0000)]
Reduce the maximum recursion depth, 5 seems pointlessly too much.
Probably it should just be 1, but compromise with 3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118718
91177308-0d34-0410-b5e6-
96231b3b80d8