oota-llvm.git
13 years agoAdd some missing isel predicates on def : pat patterns to avoid generating VFP vmla...
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

13 years agoKill more unused stuff.
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

13 years agoMCELF: Copy the symbol name only if we're going to modify it.
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

13 years agoRemove unused class.
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

13 years agoAdd --enable-docs. Patch by NAKAMURA Takumi.
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

13 years agoWhen the definition of an address value is in a different block
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

13 years agoaccept lret as an alias for lretl, fixing the reopened part of PR8592
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

13 years agoRemove what looks like dead code in the production of debug lines.
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

13 years agotypo (4th checkin for one fix)
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

13 years agoEmacs auto-fill bug.
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

13 years agoFill in the default predication bits for ARM unconditional branch.
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

13 years agoTest case for PR8287: SD scheduling time. Fixed in r118904.
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

13 years agoEncoding for ARM LDRSB instructions.
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

13 years agoFixes PR8287: SD scheduling time. The fix is a failsafe that prevents
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

13 years agoimplement PR8592: empirically "lretq" is a "lret" with a rex.w prefix.
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

13 years agotidy up.
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

13 years agognu as support both % and @ before types, do the same.
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

13 years agoRe-disable TBAA for now; it broke MultiSource/Applications/JM/lencod,
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

13 years agoFix memory access lowering on SPU, adding
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

13 years agoFix up a few more spots of addrmode2 (or not) changes that were
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

13 years agoEnable TBAA.
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

13 years agoFix some style issues in PBQP. Patch by David Blaikie.
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

13 years agoEnhance DSE to handle the case where a free call makes more than
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

13 years agoFilecheckize.
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

13 years agoRemove possibly useful info from comment, per Chris.
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

13 years agoEnable mips32 mul instruction. Patch by Akira Hatanaka <ahatanaka@mips.com>
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

13 years agodescribe the preferred approach to silencing 'unused variable warnings' due to asserts.
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

13 years agoadd operand iterator apis to MachineInstr, patch by ether zhhb.
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

13 years agoStart of support for binary emit of 16-it Thumb instructions.
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

13 years agoFill out support for Thumb2 encodings of NEON instructions.
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

13 years agoThe BRK instruction in the MicroBlaze is a branch-and-link.
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

13 years agoDoxygenify
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

13 years agoAdd helper functions for computing the Location of load, store,
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

13 years agoFix tblgen instruction errors exposed by MC asm parser tests
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

13 years agoAdd correct Thumb2 encodings for NEON vst[1,2,3,4] and vld[1,2,3,4].
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

13 years agoDon't forget the TBAA info, if available.
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

13 years agoFactor out Instruction::isSafeToSpeculativelyExecute's code for
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

13 years agoFlesh out tests for Thumb2 encodings of NEON instructions.
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

13 years agoDelete unneeded ssp attributes.
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

13 years agoRevert the accidental commit I made reverting the previous commit.
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

13 years agoTrailing whitespace.
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

13 years agoARM fixup encoding for direct call instructions (BL).
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

13 years agoRevert this temporarily.
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

13 years agoChange the prologue and epilogue to use push/pop for the low ARM registers.
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

13 years agoAvoid calling alias on non-pointer values.
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

13 years agoAdd support for Thumb2 encodings of NEON data processing instructions, using the...
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

13 years agoMark labels declared in tls sections as STT_TLS. This matches the behavior of
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

13 years agoFixed some bugs in MBlaze asm parser that were introduced when removing OwningPtrs...
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

13 years agoadd a note
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

13 years agoInitial comdat implementation.
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

13 years agoTBAA-enable ArgumentPromotion.
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

13 years agoAdd a FIXME comment.
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

13 years agoEncoding of destination fixup for ARM branch and conditional branch
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

13 years agoCheck TRI->getReservedRegs because other allocators do it. Even though
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

13 years agoAdd comments.
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

13 years agoMake AliasedSymbol able to handle MCTargetExpr. They can get here if
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

13 years agoadd pr#
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

13 years agoEncoding for ARM LDRSH_POST.
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

13 years agoFix the symbol index of weak references. Also make RecordRelocation a bit
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

13 years agoAdd brief doxygen comments for AliasResult enum values.
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

13 years agoInclude ImmutablePass passes in -debug-pass=Arguments.
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

13 years agoRemove the memmove->memcpy optimization from CodeGen. MemCpyOpt does this.
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

13 years agoMake Sink tbaa-aware.
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

13 years agoIt's safe to sink some instructions which are not safe to speculatively
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

13 years agoCMake: Add the new option "LLVM_LIT_ARGS".
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

13 years agoRemove some explicit arguments to getELFSection. This is
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

13 years agoEncoding for ARM LDRSH and LDRSH_PRE. Cannonicalize operand names.
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

13 years agoFix encoding of Ra register for ARM smla* instructions.
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

13 years agoAdd support for specifying a PostEncoderMethod, which can perform post-processing...
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

13 years agoARM STRH encoding information.
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

13 years agoAdd a testcase which demonstrates alias analysis pass precedence.
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

13 years agoDelete SplittingSpiller. It was not being used by anyone, and it is being
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

13 years agoIt's not necessary to clear out the Size and TBAATag at each of
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

13 years agoSet NonLocalDepInfo's Size field to UnknownSize when invalidating
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

13 years agoInsert two blank SlotIndexes between basic blocks instead of just one.
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

13 years agoDocument debuginfo-tests.
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

13 years agoDelete unused function.
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

13 years agoNo need to add liveness that's already there.
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

13 years agoHook up AliasAnalysis in InlineSpiller. This is used for rematerializing
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

13 years agoMove LDM predicate operand encoding into base clase. Add STM missing STM
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

13 years agoARM LDM encoding for the mode (ia, ib, da, db) operand.
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

13 years agoFactor some code into WriteSection.
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

13 years agoFix ARM encoding of non-return LDM instructions.
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

13 years agoFix ARM encoding of LDM+Return instruction.
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

13 years agoWhen clearing a non-local pointer dependency cache entry, clear
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

13 years agoUpdate the section index map after we add the medatada sections.
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

13 years agoTake care of special characters while creating named MDNode name to hold function...
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

13 years agoUse SectionIndexMap in WriteSymbolTable to make it a little less brittle.
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

13 years agoFactor out the code for computing an AliasAnalysis::Location
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

13 years agoFactor some code into ComputeIndexMap.
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

13 years agoFully invalidate cached results when a prior query's size or
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

13 years agoFix an issue where we tried to turn a v2f32 build_vector into a v4i32 build vector...
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

13 years agoReduce the maximum recursion depth, 5 seems pointlessly too much.
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

13 years agoEnhance GVN to do more precise alias queries for non-local memory
Dan Gohman [Wed, 10 Nov 2010 20:37:15 +0000 (20:37 +0000)]
Enhance GVN to do more precise alias queries for non-local memory
references. For example, this allows gvn to eliminate the load in
this example:

  void foo(int n, int* p, int *q) {
    p[0] = 0;
    p[1] = 1;
    if (n) {
      *q = p[0];
    }
  }

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

13 years agoChange the String<size> methods to take a fragment instead of a buffer.
Rafael Espindola [Wed, 10 Nov 2010 20:02:59 +0000 (20:02 +0000)]
Change the String<size> methods to take a fragment instead of a buffer.

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

13 years agoBasic rematerialization during splitting.
Jakob Stoklund Olesen [Wed, 10 Nov 2010 19:31:50 +0000 (19:31 +0000)]
Basic rematerialization during splitting.

Whenever splitting wants to insert a copy, it checks if the value can be
rematerialized cheaply instead.

Missing features:
- Delete instructions when all uses have been rematerialized.
- Truncate live ranges to the remaining uses after rematerialization.

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

13 years agoRABasic is nearly functionally complete. There are a few remaining
Andrew Trick [Wed, 10 Nov 2010 19:18:47 +0000 (19:18 +0000)]
RABasic is nearly functionally complete. There are a few remaining
benchmarks hitting an assertion.
Adds LiveIntervalUnion::collectInterferingVRegs.
Fixes "late spilling" by checking for any unspillable live vregs among
all physReg aliases.

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

13 years agoUse MCSectionELF in places we know we have an ELF section.
Rafael Espindola [Wed, 10 Nov 2010 19:05:07 +0000 (19:05 +0000)]
Use MCSectionELF in places we know we have an ELF section.

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

13 years agoUse getValueOperand() and getPointerOperand() on load and store
Dan Gohman [Wed, 10 Nov 2010 19:03:33 +0000 (19:03 +0000)]
Use getValueOperand() and getPointerOperand() on load and store
instructions instead of hard-coding operand numbers.

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

13 years agoRename AccessesArguments and AccessesArgumentsReadonly, and rewrite
Dan Gohman [Wed, 10 Nov 2010 18:30:00 +0000 (18:30 +0000)]
Rename AccessesArguments and AccessesArgumentsReadonly, and rewrite
their comments.

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