oota-llvm.git
14 years agocapture implicit uses and defs in CodeGenInstruction
Chris Lattner [Thu, 18 Mar 2010 21:42:03 +0000 (21:42 +0000)]
capture implicit uses and defs in CodeGenInstruction

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

14 years agosimplify this code, the # of sets in the pattern for an instruction
Chris Lattner [Thu, 18 Mar 2010 21:15:05 +0000 (21:15 +0000)]
simplify this code, the # of sets in the pattern for an instruction
shouldn't change this.

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

14 years agodisallow concatenation of two dags with different operators.
Chris Lattner [Thu, 18 Mar 2010 21:07:51 +0000 (21:07 +0000)]
disallow concatenation of two dags with different operators.

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

14 years agorewrite this to not artificially force concat the ins/outs list.
Chris Lattner [Thu, 18 Mar 2010 21:07:39 +0000 (21:07 +0000)]
rewrite this to not artificially force concat the ins/outs list.

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

14 years agofix some buggy ops concatentation
Chris Lattner [Thu, 18 Mar 2010 21:06:54 +0000 (21:06 +0000)]
fix some buggy ops concatentation

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

14 years agoeliminate support for "ops" in the input/output list of an
Chris Lattner [Thu, 18 Mar 2010 20:56:35 +0000 (20:56 +0000)]
eliminate support for "ops" in the input/output list of an
instruction.  Instructions must use 'ins' and 'outs' now.

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

14 years agouse ins/outs
Chris Lattner [Thu, 18 Mar 2010 20:55:31 +0000 (20:55 +0000)]
use ins/outs

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

14 years agouse ins/outs.
Chris Lattner [Thu, 18 Mar 2010 20:55:18 +0000 (20:55 +0000)]
use ins/outs.

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

14 years agoremove some code that was working around old sparc v9 backend bugs.
Chris Lattner [Thu, 18 Mar 2010 20:50:52 +0000 (20:50 +0000)]
remove some code that was working around old sparc v9 backend bugs.
Add checking that the input/output operand list in spelled right.

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

14 years agoouts come before ins.
Chris Lattner [Thu, 18 Mar 2010 20:50:06 +0000 (20:50 +0000)]
outs come before ins.

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

14 years agoMake fast-isel understand llvm.stackprotector.
Eric Christopher [Thu, 18 Mar 2010 20:27:26 +0000 (20:27 +0000)]
Make fast-isel understand llvm.stackprotector.

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

14 years agoRefactor NEON ld/st instructions to hardcode class arguments that are constants.
Bob Wilson [Thu, 18 Mar 2010 20:18:39 +0000 (20:18 +0000)]
Refactor NEON ld/st instructions to hardcode class arguments that are constants.
No functional changes.

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

14 years agolit: Tweak example tests config.
Daniel Dunbar [Thu, 18 Mar 2010 20:06:05 +0000 (20:06 +0000)]
lit: Tweak example tests config.

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

14 years agoMC/X86/AsmMatcher: Use the new instruction cleanup routine to implement a
Daniel Dunbar [Thu, 18 Mar 2010 20:06:02 +0000 (20:06 +0000)]
MC/X86/AsmMatcher: Use the new instruction cleanup routine to implement a
temporary workaround for matching inc/dec on x86_64 to the correct instruction.
 - This hack will eventually be replaced with a robust mechanism for handling
   matching instructions based on the available target features.

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

14 years agoMC/AsmMatcher: Add support for target specific "instruction cleanup" functions,
Daniel Dunbar [Thu, 18 Mar 2010 20:05:56 +0000 (20:05 +0000)]
MC/AsmMatcher: Add support for target specific "instruction cleanup" functions,
to allow custom post-processing of matched instructions.

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

14 years agofix an x86-64 encoding bug Daniel found.
Chris Lattner [Thu, 18 Mar 2010 20:04:36 +0000 (20:04 +0000)]
fix an x86-64 encoding bug Daniel found.

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

14 years agooffsetof always has type size_t.
Dan Gohman [Thu, 18 Mar 2010 19:37:35 +0000 (19:37 +0000)]
offsetof always has type size_t.

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

14 years agoSimplify this code.
Dan Gohman [Thu, 18 Mar 2010 19:34:33 +0000 (19:34 +0000)]
Simplify this code.

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

14 years agoFix a name clash that was breaking MSVC builds.
Benjamin Kramer [Thu, 18 Mar 2010 19:34:06 +0000 (19:34 +0000)]
Fix a name clash that was breaking MSVC builds.

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

14 years agoExplicitly cast std::min's arguments to avoid type mismatches.
Dan Gohman [Thu, 18 Mar 2010 19:01:12 +0000 (19:01 +0000)]
Explicitly cast std::min's arguments to avoid type mismatches.

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

14 years agoanother one
Gabor Greif [Thu, 18 Mar 2010 18:59:08 +0000 (18:59 +0000)]
another one

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

14 years agoDefine placement new wrappers for BumpPtrAllocator and
Dan Gohman [Thu, 18 Mar 2010 18:49:47 +0000 (18:49 +0000)]
Define placement new wrappers for BumpPtrAllocator and
RecyclingAllocator to allow client code to be simpler, and
simplify several clients.

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

14 years agoMake this test more lenient; with SmallVector now using actually
Dan Gohman [Thu, 18 Mar 2010 18:47:50 +0000 (18:47 +0000)]
Make this test more lenient; with SmallVector now using actually
aligned storage, the capacity may be more than what is explicitly
requested.

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

14 years agoFix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() to
Bob Wilson [Thu, 18 Mar 2010 18:42:41 +0000 (18:42 +0000)]
Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() to
always create a new jump table.  The intention was to avoid merging jump
tables in SelectionDAGBuilder, and to wait for the branch folding pass to
merge tables.  Unfortunately, the same getJumpTableIndex() method is also
used to merge tables in branch folding, so as a result of this change
branch tables are never merged.  Worse, the branch folding code is expecting
getJumpTableIndex to always return the index of an existing table, but with
this change, it never does so.  In at least some cases, e.g., pr6543, this
creates references to non-existent tables.

I've fixed the problem by adding a new createJumpTableIndex function, which
will always create a new table, and I've changed getJumpTableIndex to only
look at existing tables.

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

14 years agoFix a bug found by inspection; in the __GNUC__ code, the alignment
Dan Gohman [Thu, 18 Mar 2010 18:40:47 +0000 (18:40 +0000)]
Fix a bug found by inspection; in the __GNUC__ code, the alignment
doesn't apply to the type, only to the variable, so subsequent uses
of U which expect it to be aligned weren't actually aligned.

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

14 years agoNick wants these alphabetized
Andrew Lenharth [Thu, 18 Mar 2010 18:18:00 +0000 (18:18 +0000)]
Nick wants these alphabetized

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

14 years agoadd a special relocation type for movq loads for object
Chris Lattner [Thu, 18 Mar 2010 18:10:56 +0000 (18:10 +0000)]
add a special relocation type for movq loads for object
files that produce special relocation types where the
linker changes movq's into lea's.

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

14 years agoAdd explicit braces to avoid ambiguous ‘else’.
Dan Gohman [Thu, 18 Mar 2010 18:07:13 +0000 (18:07 +0000)]
Add explicit braces to avoid ambiguous ‘else’.

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

14 years agocallq is pcrelative
Chris Lattner [Thu, 18 Mar 2010 17:52:22 +0000 (17:52 +0000)]
callq is pcrelative

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

14 years agoCheck if function names start with "llvm." before trying to lookup them up as
Bob Wilson [Thu, 18 Mar 2010 16:52:15 +0000 (16:52 +0000)]
Check if function names start with "llvm." before trying to lookup them up as
intrinsics.  The intrinsic lookup code assumes that this check has been done
and assumes the names are at least 6 characters long.  Valgrind complained
about this.  pr6638.

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

14 years agoFix comment.
Devang Patel [Thu, 18 Mar 2010 16:41:16 +0000 (16:41 +0000)]
Fix comment.

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

14 years agoAdd the ability to "intern" FoldingSetNodeID data into a
Dan Gohman [Thu, 18 Mar 2010 16:16:38 +0000 (16:16 +0000)]
Add the ability to "intern" FoldingSetNodeID data into a
BumpPtrAllocator-allocated region to allow it to be stored in a more
compact form and to avoid the need for a non-trivial destructor call.

Use this new mechanism in ScalarEvolution instead of
FastFoldingSetNode to avoid leaking memory in the case where a
FoldingSetNodeID uses heap storage, and to reduce overall memory
usage.

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

14 years agoAdding MicroBlaze as an experimental backend in the release notes
Wesley Peck [Thu, 18 Mar 2010 14:31:30 +0000 (14:31 +0000)]
Adding MicroBlaze as an experimental backend in the release notes

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

14 years agoCMake: Add options for using static runtime on MSVC++ build.
Oscar Fuentes [Thu, 18 Mar 2010 13:52:05 +0000 (13:52 +0000)]
CMake: Add options for using static runtime on MSVC++ build.

Patch by Victor Zverovich!

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

14 years agoAdd an extra newline to separate PP directives from the contents
Kovarththanan Rajaratnam [Thu, 18 Mar 2010 13:16:38 +0000 (13:16 +0000)]
Add an extra newline to separate PP directives from the contents

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

14 years agoTry to fix a valgrind error on 32 bit platforms: use %zu instead of %llu to format...
Benjamin Kramer [Thu, 18 Mar 2010 12:18:36 +0000 (12:18 +0000)]
Try to fix a valgrind error on 32 bit platforms: use %zu instead of %llu to format a size_t.

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

14 years agoAvoid a problem in libc_freeres() seen on a linux-i686 buildbot when running
Jeffrey Yasskin [Thu, 18 Mar 2010 07:00:12 +0000 (07:00 +0000)]
Avoid a problem in libc_freeres() seen on a linux-i686 buildbot when running
under valgrind:

==19577== Invalid free() / delete / delete[]
==19577==    at 0x4C9C866: free (vg_replace_malloc.c:325)
==19577==    by 0x5121104: ??? (in /lib/libc-2.10.2.so)
==19577==    by 0x4C97412: _vgnU_freeres (vg_preloaded.c:62)
==19577==    by 0x5041486: __run_exit_handlers (exit.c:93)
==19577==    by 0x50414FE: exit (exit.c:100)
==19577==    by 0x5028B5C: (below main) (libc-start.c:254)
==19577==  Address 0xffffffff is not stack'd, malloc'd or (recently) free'd
==19577==

Apparently this happens under certain versions of glibc, so valgrind provides
the --run-libc-freeres=no option to avoid calling freeres().  This may increase
the number of "still reachable" blocks valgrind reports, but we don't care
about those, while this error breaks the buildbots.

There are upstream bugs about this at
http://sourceware.org/bugzilla/show_bug.cgi?id=10610 and
http://bugs.kde.org/show_bug.cgi?id=167483, but they don't look likely to be
fixed.

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

14 years agoTurning off post-ra scheduling for x86. It isn't a consistent win.
Evan Cheng [Thu, 18 Mar 2010 06:55:42 +0000 (06:55 +0000)]
Turning off post-ra scheduling for x86. It isn't a consistent win.

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

14 years agoadd a couple blurbs back
Chris Lattner [Thu, 18 Mar 2010 06:52:15 +0000 (06:52 +0000)]
add a couple blurbs back

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

14 years agoReapply r98755 with a thinko which miscompiled gengtype fixed.
Dan Gohman [Thu, 18 Mar 2010 01:17:13 +0000 (01:17 +0000)]
Reapply r98755 with a thinko which miscompiled gengtype fixed.

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

14 years agoMCValue: Change to holding MCSymbolRefExprs instead of MCSymbols, we will need this...
Daniel Dunbar [Thu, 18 Mar 2010 00:59:10 +0000 (00:59 +0000)]
MCValue: Change to holding MCSymbolRefExprs instead of MCSymbols, we will need this for accessing to symbol modifiers.

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

14 years agoAdd MCSymbol::isInSection.
Daniel Dunbar [Thu, 18 Mar 2010 00:59:02 +0000 (00:59 +0000)]
Add MCSymbol::isInSection.

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

14 years agoMC/Darwin: Add a new target hook for whether the target uses "reliable" symbol differ...
Daniel Dunbar [Thu, 18 Mar 2010 00:58:53 +0000 (00:58 +0000)]
MC/Darwin: Add a new target hook for whether the target uses "reliable" symbol differences, basically whether the assembler should attempt to understand atoms when using scattered symbols.

Also, avoid some virtual call overhead.

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

14 years agoRevert "Change coalescer complexity from N^2 to N logN by changing one letter."
Jakob Stoklund Olesen [Thu, 18 Mar 2010 00:23:47 +0000 (00:23 +0000)]
Revert "Change coalescer complexity from N^2 to N logN by changing one letter."

This reverts commit 98776. It broke the llvm-gcc boot strap.

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

14 years agoX86 address mode matching code MatchAddressRecursively does some aggressive hack...
Evan Cheng [Wed, 17 Mar 2010 23:58:35 +0000 (23:58 +0000)]
X86 address mode matching code MatchAddressRecursively does some aggressive hack which require doing a RAUW. It may end up deleting some SDNode up stream. It should avoid referencing deleted nodes.

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

14 years agoDebug info intrinsic does not intefer during tail call optimization.
Devang Patel [Wed, 17 Mar 2010 23:52:37 +0000 (23:52 +0000)]
Debug info intrinsic does not intefer during tail call optimization.

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

14 years agoRevert 98745 with respect to the addition of NEONFrm subformats for disassembly.
Johnny Chen [Wed, 17 Mar 2010 23:26:50 +0000 (23:26 +0000)]
Revert 98745 with respect to the addition of NEONFrm subformats for disassembly.
There is a better way coming up.

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

14 years agoChange coalescer complexity from N^2 to N logN by changing one letter.
Jakob Stoklund Olesen [Wed, 17 Mar 2010 23:21:58 +0000 (23:21 +0000)]
Change coalescer complexity from N^2 to N logN by changing one letter.

Remove ugly hack that aborted the coalescer before using N^2 time.

This affects functions with very complicated live intervals for physical
registers, i.e. functions with thousands of function calls.

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

14 years agoFixed a bug in the IT mask printing where T means the cond bit in the mask
Johnny Chen [Wed, 17 Mar 2010 23:14:23 +0000 (23:14 +0000)]
Fixed a bug in the IT mask printing where T means the cond bit in the mask
matches that of Firstcond[0] and E means otherwise.  The Firstcond[0] is also
tagged in the Mask to facilitate Asm printing.  The disassembler also depends
on this arrangement.  This is similar to what's described in A2.5.2 ITSTATE.

Ran:

utils/lit/lit.py test/CodeGen/ARM test/CodeGen/Thumb test/CodeGen/Thumb2

successfully.

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

14 years agoRefines 98745 so that it only contains the patch related to the output of the
Johnny Chen [Wed, 17 Mar 2010 23:01:59 +0000 (23:01 +0000)]
Refines 98745 so that it only contains the patch related to the output of the
addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>.

This patch removes the impl of printT2AddrModeImm8s4OffsetOperand() from
ARMAsmPrinter.cpp.  It is used by disassembler as of now.

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

14 years agoChanged install_name for libEnhancedDisassembly.dylib on
Sean Callanan [Wed, 17 Mar 2010 22:01:36 +0000 (22:01 +0000)]
Changed install_name for libEnhancedDisassembly.dylib on
Mac OS X to match current install location.  This has no
effect on other platforms.

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

14 years agoremove arm mode workaround for ARM host
Jim Grosbach [Wed, 17 Mar 2010 21:28:19 +0000 (21:28 +0000)]
remove arm mode workaround for ARM host

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

14 years agoUse llvm-gcc to build ARM when it's available
Jim Grosbach [Wed, 17 Mar 2010 21:25:13 +0000 (21:25 +0000)]
Use llvm-gcc to build ARM when it's available

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

14 years agoClean up whitespace.
Bob Wilson [Wed, 17 Mar 2010 21:16:45 +0000 (21:16 +0000)]
Clean up whitespace.

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

14 years agoIncrease format field from 5 to 6 bits. ARMII::FormMask was increased to 0x3f
Bob Wilson [Wed, 17 Mar 2010 21:13:43 +0000 (21:13 +0000)]
Increase format field from 5 to 6 bits.  ARMII::FormMask was increased to 0x3f
in svn r74988 but the format field was never widened.

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

14 years agoInitialize Size member to appease valgrind.
Benjamin Kramer [Wed, 17 Mar 2010 19:55:31 +0000 (19:55 +0000)]
Initialize Size member to appease valgrind.

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

14 years agoRevert 98755, which may be causing trouble.
Dan Gohman [Wed, 17 Mar 2010 19:54:53 +0000 (19:54 +0000)]
Revert 98755, which may be causing trouble.

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

14 years agofeedback from Nick
Gabor Greif [Wed, 17 Mar 2010 19:27:31 +0000 (19:27 +0000)]
feedback from Nick

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

14 years agoChange SCEVNAryExpr's operand array from a SmallVector to a plain
Dan Gohman [Wed, 17 Mar 2010 18:51:01 +0000 (18:51 +0000)]
Change SCEVNAryExpr's operand array from a SmallVector to a plain
pointer and length, and allocate the arrays in ScalarEvolution's
BumpPtrAllocator, so that they get released when their owning
SCEV gets released. SCEVs are immutable, so they don't need to worry
about operand array resizing. This fixes a memory leak reported
in PR6637.

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

14 years agoRemove an unnecessary (and misspelled) typedef. Tweak whitespace.
Bob Wilson [Wed, 17 Mar 2010 18:43:25 +0000 (18:43 +0000)]
Remove an unnecessary (and misspelled) typedef.  Tweak whitespace.

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

14 years agomissing include
Andrew Lenharth [Wed, 17 Mar 2010 18:33:00 +0000 (18:33 +0000)]
missing include

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

14 years ago98745 contains something unrelated to the patch.
Johnny Chen [Wed, 17 Mar 2010 18:32:39 +0000 (18:32 +0000)]
98745 contains something unrelated to the patch.
Remove it from ARMAddressingModes.h.

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

14 years agonotes from evan
Chris Lattner [Wed, 17 Mar 2010 18:15:52 +0000 (18:15 +0000)]
notes from evan

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

14 years agoAdded sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm
Johnny Chen [Wed, 17 Mar 2010 17:52:21 +0000 (17:52 +0000)]
Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm
instructions to help disassembly.

We also changed the output of the addressing modes to omit the '+' from the
assembler syntax #+/-<imm> or +/-<Rm>.  See, for example, A8.6.57/58/60.

And modified test cases to not expect '+' in +reg or #+num.  For example,

; CHECK:       ldr.w r9, [r7, #28]

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

14 years agoTestcase for r98728.
Stuart Hastings [Wed, 17 Mar 2010 17:51:08 +0000 (17:51 +0000)]
Testcase for r98728.

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

14 years agoFix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info so isEH...
Devang Patel [Wed, 17 Mar 2010 17:29:55 +0000 (17:29 +0000)]
Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*.

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

14 years agoseveral updates
Chris Lattner [Wed, 17 Mar 2010 17:25:49 +0000 (17:25 +0000)]
several updates

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

14 years agoMake lit pay attention to --vg for tcl tests too, which makes it work on LLVM's
Jeffrey Yasskin [Wed, 17 Mar 2010 17:04:56 +0000 (17:04 +0000)]
Make lit pay attention to --vg for tcl tests too, which makes it work on LLVM's
non-unit tests.

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

14 years agoFixed spelling errors.
John Criswell [Wed, 17 Mar 2010 15:01:50 +0000 (15:01 +0000)]
Fixed spelling errors.

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

14 years agoFix a false-positive memory leak in code using RemoveFileOnSignal(). Because
Jeffrey Yasskin [Wed, 17 Mar 2010 07:08:12 +0000 (07:08 +0000)]
Fix a false-positive memory leak in code using RemoveFileOnSignal().  Because
libstdc++'s std::string class points to the interior of an allocation, valgrind
reports strings still alive at program termination as possible leaks.  I didn't
use a ManagedStatic for this because System can't depend on Support.

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

14 years agocombiner-aa too, what's its status?
Chris Lattner [Wed, 17 Mar 2010 06:42:25 +0000 (06:42 +0000)]
combiner-aa too, what's its status?

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

14 years agomore chris scribble.
Chris Lattner [Wed, 17 Mar 2010 06:41:58 +0000 (06:41 +0000)]
more chris scribble.

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

14 years agofix GetOrCreateTemporarySymbol to require a name, clients
Chris Lattner [Wed, 17 Mar 2010 05:41:18 +0000 (05:41 +0000)]
fix GetOrCreateTemporarySymbol to require a name, clients
should use CreateTempSymbol() if they don't care about the
name.

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

14 years agoadd a bunch of random and unformatted notes as I am reading
Chris Lattner [Wed, 17 Mar 2010 04:41:49 +0000 (04:41 +0000)]
add a bunch of random and unformatted notes as I am reading
through tons of old commits.

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

14 years agoadd logo, comment out project info, they need to send updates
Chris Lattner [Wed, 17 Mar 2010 04:02:39 +0000 (04:02 +0000)]
add logo, comment out project info, they need to send updates
to get reincluded.

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

14 years agoremove dead variable, patch by Nathan Howell!
Chris Lattner [Wed, 17 Mar 2010 01:45:17 +0000 (01:45 +0000)]
remove dead variable, patch by Nathan Howell!

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

14 years agoFix death tests in -Asserts builds.
Jeffrey Yasskin [Wed, 17 Mar 2010 01:18:45 +0000 (01:18 +0000)]
Fix death tests in -Asserts builds.

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

14 years agoRemove a check that can no longer be true, after r84803.
Bob Wilson [Tue, 16 Mar 2010 23:40:32 +0000 (23:40 +0000)]
Remove a check that can no longer be true, after r84803.

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

14 years agoRevert 98683. It is breaking something in the disassembler.
Bob Wilson [Tue, 16 Mar 2010 23:01:13 +0000 (23:01 +0000)]
Revert 98683.  It is breaking something in the disassembler.

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

14 years agoFix liveintervals handling of dbg_value instructions.
Evan Cheng [Tue, 16 Mar 2010 21:51:27 +0000 (21:51 +0000)]
Fix liveintervals handling of dbg_value instructions.

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

14 years agoRemove redundant writeback flag from ARM address mode 6. Also remove the
Bob Wilson [Tue, 16 Mar 2010 21:44:40 +0000 (21:44 +0000)]
Remove redundant writeback flag from ARM address mode 6.  Also remove the
optional register update argument, which is currently unused -- when we add
support for that, it can just be a separate operand.

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

14 years agoreapply r98656 unmodified, which exposed the asmprinter not
Chris Lattner [Tue, 16 Mar 2010 21:25:55 +0000 (21:25 +0000)]
reapply r98656 unmodified, which exposed the asmprinter not
handling constant unions.

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

14 years agoDisambiguate the *_UPD and * variants by specifying the writeback flag as 1.
Johnny Chen [Tue, 16 Mar 2010 21:25:05 +0000 (21:25 +0000)]
Disambiguate the *_UPD  and * variants by specifying the writeback flag as 1.
This is for the disassembly work.

There are cases where this is not possible, for example, A8.6.53 LDM Encoding T1.
In such case, we'll use an adhoc approach to deduce the Opcode programmatically.

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

14 years agoadd asmprinter suport for unions, fixing Feature/unions.ll to actually
Chris Lattner [Tue, 16 Mar 2010 21:21:35 +0000 (21:21 +0000)]
add asmprinter suport for unions, fixing Feature/unions.ll to actually
be doing something useful.

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

14 years agoIgnore debug value instructions while analyzing BB for tail duplication.
Devang Patel [Tue, 16 Mar 2010 21:02:07 +0000 (21:02 +0000)]
Ignore debug value instructions while analyzing BB for tail duplication.

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

14 years agoRevert r98666 too; it's checkin-without-testing day!
Daniel Dunbar [Tue, 16 Mar 2010 20:52:59 +0000 (20:52 +0000)]
Revert r98666 too; it's checkin-without-testing day!

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

14 years agostr[r]chr returns its pointer argument so we cannot mark it as nocapture. Thanks...
Benjamin Kramer [Tue, 16 Mar 2010 20:33:15 +0000 (20:33 +0000)]
str[r]chr returns its pointer argument so we cannot mark it as nocapture. Thanks to Duncan for spotting my mistake.

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

14 years agotemporarily xfail
Chris Lattner [Tue, 16 Mar 2010 20:08:07 +0000 (20:08 +0000)]
temporarily xfail

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

14 years agoMark str[r]chr readonly.
Benjamin Kramer [Tue, 16 Mar 2010 19:36:43 +0000 (19:36 +0000)]
Mark str[r]chr readonly.

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

14 years agoRevert r98656, its breaking all over the place.
Daniel Dunbar [Tue, 16 Mar 2010 19:35:34 +0000 (19:35 +0000)]
Revert r98656, its breaking all over the place.

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

14 years agoimprove support for uniontype and ConstantUnion, patch by Tim Northover!
Chris Lattner [Tue, 16 Mar 2010 19:15:03 +0000 (19:15 +0000)]
improve support for uniontype and ConstantUnion, patch by Tim Northover!

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

14 years agoAdd an rdar number to this test.
Dan Gohman [Tue, 16 Mar 2010 19:08:20 +0000 (19:08 +0000)]
Add an rdar number to this test.

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

14 years agowork around an MSVC2010 bug, PR6504
Chris Lattner [Tue, 16 Mar 2010 19:07:05 +0000 (19:07 +0000)]
work around an MSVC2010 bug, PR6504

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

14 years agoChris pointed out that producing undef here is wrong in
Duncan Sands [Tue, 16 Mar 2010 18:50:54 +0000 (18:50 +0000)]
Chris pointed out that producing undef here is wrong in
general.

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

14 years agoRemove redundant writeback flag in ARM addressing mode 5.
Bob Wilson [Tue, 16 Mar 2010 18:38:09 +0000 (18:38 +0000)]
Remove redundant writeback flag in ARM addressing mode 5.

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

14 years agoRemove the writeback flag from ARM's address mode 4. Now that we have separate
Bob Wilson [Tue, 16 Mar 2010 17:46:45 +0000 (17:46 +0000)]
Remove the writeback flag from ARM's address mode 4.  Now that we have separate
instructions for ld/st with writeback, the flag is completely redundant.

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

14 years agoFix unused variable warnings.
Bob Wilson [Tue, 16 Mar 2010 17:44:45 +0000 (17:44 +0000)]
Fix unused variable warnings.

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

14 years ago--- Reverse-merging r98637 into '.':
Bob Wilson [Tue, 16 Mar 2010 16:59:47 +0000 (16:59 +0000)]
--- Reverse-merging r98637 into '.':
U    test/CodeGen/ARM/tls2.ll
U    test/CodeGen/ARM/arm-negative-stride.ll
U    test/CodeGen/ARM/2009-10-30.ll
U    test/CodeGen/ARM/globals.ll
U    test/CodeGen/ARM/str_pre-2.ll
U    test/CodeGen/ARM/ldrd.ll
U    test/CodeGen/ARM/2009-10-27-double-align.ll
U    test/CodeGen/Thumb2/thumb2-strb.ll
U    test/CodeGen/Thumb2/ldr-str-imm12.ll
U    test/CodeGen/Thumb2/thumb2-strh.ll
U    test/CodeGen/Thumb2/thumb2-ldr.ll
U    test/CodeGen/Thumb2/thumb2-str_pre.ll
U    test/CodeGen/Thumb2/thumb2-str.ll
U    test/CodeGen/Thumb2/thumb2-ldrh.ll
U    utils/TableGen/TableGen.cpp
U    utils/TableGen/DisassemblerEmitter.cpp
D    utils/TableGen/RISCDisassemblerEmitter.h
D    utils/TableGen/RISCDisassemblerEmitter.cpp
U    Makefile.rules
U    lib/Target/ARM/ARMInstrNEON.td
U    lib/Target/ARM/Makefile
U    lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
U    lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
U    lib/Target/ARM/AsmPrinter/ARMInstPrinter.h
D    lib/Target/ARM/Disassembler
U    lib/Target/ARM/ARMInstrFormats.td
U    lib/Target/ARM/ARMAddressingModes.h
U    lib/Target/ARM/Thumb2ITBlockPass.cpp

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

14 years agoInitial ARM/Thumb disassembler check-in. It consists of a tablgen backend
Johnny Chen [Tue, 16 Mar 2010 16:36:54 +0000 (16:36 +0000)]
Initial ARM/Thumb disassembler check-in.  It consists of a tablgen backend
(RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb,
and the disassembler core which invokes the decoder function and builds up the
MCInst based on the decoded Opcode.

Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm
instructions to help disassembly.

We also changed the output of the addressing modes to omit the '+' from the
assembler syntax #+/-<imm> or +/-<Rm>.  See, for example, A8.6.57/58/60.

And modified test cases to not expect '+' in +reg or #+num.  For example,

; CHECK:       ldr.w r9, [r7, #28]

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

14 years agoStop using the old pre-UAL syntax for LDM/STM instruction suffixes.
Bob Wilson [Tue, 16 Mar 2010 16:19:07 +0000 (16:19 +0000)]
Stop using the old pre-UAL syntax for LDM/STM instruction suffixes.
This does not move entirely to UAL syntax, since the default "increment after"
suffix is empty but we still use "IA" for that.

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