oota-llvm.git
13 years agoTerminator gaps were unused. Might as well delete them.
Jakob Stoklund Olesen [Fri, 24 Sep 2010 23:58:56 +0000 (23:58 +0000)]
Terminator gaps were unused. Might as well delete them.

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

13 years agoMore pseudo instruction scheduling itinerary fixes.
Evan Cheng [Fri, 24 Sep 2010 22:41:41 +0000 (22:41 +0000)]
More pseudo instruction scheduling itinerary fixes.

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

13 years agoFix for test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll crash.
John Thompson [Fri, 24 Sep 2010 22:24:05 +0000 (22:24 +0000)]
Fix for test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll crash.

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

13 years agoFix scheduling itinerary for pseudo mov immediate instructions which expand into...
Evan Cheng [Fri, 24 Sep 2010 22:03:46 +0000 (22:03 +0000)]
Fix scheduling itinerary for pseudo mov immediate instructions which expand into two real instructions.

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

13 years agoReapply 114678 and 114667. Reverting them did not fix the bot:
Rafael Espindola [Fri, 24 Sep 2010 21:19:03 +0000 (21:19 +0000)]
Reapply 114678 and 114667. Reverting them did not fix the bot:

http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69

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

13 years agoAdd ARM explicit MCInst lowering for the Thumb eh.sjlj.setjmp sequence.
Jim Grosbach [Fri, 24 Sep 2010 20:47:58 +0000 (20:47 +0000)]
Add ARM explicit MCInst lowering for the Thumb eh.sjlj.setjmp sequence.

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

13 years agoBe more precise when trying to XFAIL this tester: http://google1.osuosl.org:8011...
Jakob Stoklund Olesen [Fri, 24 Sep 2010 20:34:49 +0000 (20:34 +0000)]
Be more precise when trying to XFAIL this tester: google1.osuosl.org:8011/builders/llvm-arm-linux

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

13 years agoGet rid of pop_macro warnings on MSVC.
Michael J. Spencer [Fri, 24 Sep 2010 19:48:47 +0000 (19:48 +0000)]
Get rid of pop_macro warnings on MSVC.

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

13 years agoCMake: Don't include tools, unittets, or examples as available targets
Michael J. Spencer [Fri, 24 Sep 2010 19:10:51 +0000 (19:10 +0000)]
CMake: Don't include tools, unittets, or examples as available targets
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X

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

13 years agoEnable code placement optimization pass for ARM.
Evan Cheng [Fri, 24 Sep 2010 19:07:23 +0000 (19:07 +0000)]
Enable code placement optimization pass for ARM.

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

13 years agoWe can't return SSE/MMX vectors if SSE is disabled.
Dale Johannesen [Fri, 24 Sep 2010 19:05:48 +0000 (19:05 +0000)]
We can't return SSE/MMX vectors if SSE is disabled.

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

13 years agoRevert 114678 and 114667 to see if
Rafael Espindola [Fri, 24 Sep 2010 18:48:08 +0000 (18:48 +0000)]
Revert 114678 and 114667 to see if

http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost

gets happy.

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

13 years agoAttach a DebugLoc to a GC point in order to get precise information in the JIT of...
Nicolas Geoffray [Fri, 24 Sep 2010 17:27:50 +0000 (17:27 +0000)]
Attach a DebugLoc to a GC point in order to get precise information in the JIT of a GC point.

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

13 years agoMC/AsmParser: Handle a missed case of floating literals in the lexer.
Daniel Dunbar [Fri, 24 Sep 2010 17:10:26 +0000 (17:10 +0000)]
MC/AsmParser: Handle a missed case of floating literals in the lexer.

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

13 years agoFix line endings from my last commit.
Michael J. Spencer [Fri, 24 Sep 2010 09:10:21 +0000 (09:10 +0000)]
Fix line endings from my last commit.

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

13 years agounittests: Support Windows.
Michael J. Spencer [Fri, 24 Sep 2010 09:01:34 +0000 (09:01 +0000)]
unittests: Support Windows.

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

13 years agoTest unittests built with CMake.
Michael J. Spencer [Fri, 24 Sep 2010 09:01:22 +0000 (09:01 +0000)]
Test unittests built with CMake.

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

13 years agoCMake: Build unittests.
Michael J. Spencer [Fri, 24 Sep 2010 09:01:13 +0000 (09:01 +0000)]
CMake: Build unittests.

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

13 years agoFix whitespace.
Michael J. Spencer [Fri, 24 Sep 2010 09:00:56 +0000 (09:00 +0000)]
Fix whitespace.

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

13 years agoFix a potential null dereference bug.
Evan Cheng [Fri, 24 Sep 2010 05:18:35 +0000 (05:18 +0000)]
Fix a potential null dereference bug.

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

13 years agoMC/AsmParser: Support .single and .double for embedding floating point literals.
Daniel Dunbar [Fri, 24 Sep 2010 01:59:56 +0000 (01:59 +0000)]
MC/AsmParser: Support .single and .double for embedding floating point literals.
 - I believe more modern 'gas' supports a more enhanced set of arithmetic on
   them, but for now the only thing we can do is emit them as data.

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

13 years agoMC/Lexer: Add 'Real' token type for floating point literals.
Daniel Dunbar [Fri, 24 Sep 2010 01:59:31 +0000 (01:59 +0000)]
MC/Lexer: Add 'Real' token type for floating point literals.

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

13 years agoMC: Add missing ')' in diagnostic.
Daniel Dunbar [Fri, 24 Sep 2010 01:58:56 +0000 (01:58 +0000)]
MC: Add missing ')' in diagnostic.

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

13 years agoRevert r114703 and r114702, removing the isConditionalMove flag from instructions...
Owen Anderson [Thu, 23 Sep 2010 23:45:25 +0000 (23:45 +0000)]
Revert r114703 and r114702, removing the isConditionalMove flag from instructions.  After further
reflection, this isn't going to achieve the purpose I intended it for.  Back to the drawing board!

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

13 years agoSet alignment operand for NEON VST instructions.
Bob Wilson [Thu, 23 Sep 2010 23:42:37 +0000 (23:42 +0000)]
Set alignment operand for NEON VST instructions.

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

13 years agoARM-mode eh.sjlj.setjmp pseudo MC-inst lowering expansion
Jim Grosbach [Thu, 23 Sep 2010 23:33:56 +0000 (23:33 +0000)]
ARM-mode eh.sjlj.setjmp pseudo MC-inst lowering expansion

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

13 years ago#+4 --> #4 for consistency with other asm output
Jim Grosbach [Thu, 23 Sep 2010 23:32:38 +0000 (23:32 +0000)]
#+4 --> #4 for consistency with other asm output

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

13 years agoFix formatting of output .s code
Jim Grosbach [Thu, 23 Sep 2010 23:03:26 +0000 (23:03 +0000)]
Fix formatting of output .s code

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

13 years agoAdd isConditionalMove bits to X86 and ARM instructions.
Owen Anderson [Thu, 23 Sep 2010 22:57:01 +0000 (22:57 +0000)]
Add isConditionalMove bits to X86 and ARM instructions.

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

13 years agoAdd an TargetInstrDesc bit to indicate that a given instruction is a conditional...
Owen Anderson [Thu, 23 Sep 2010 22:44:10 +0000 (22:44 +0000)]
Add an TargetInstrDesc bit to indicate that a given instruction is a conditional move.
Not intended functionality change, as nothing uses this yet.

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

13 years agoremove an obsolete section
Chris Lattner [Thu, 23 Sep 2010 22:34:49 +0000 (22:34 +0000)]
remove an obsolete section

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

13 years agoSet alignment operand for NEON VLD instructions.
Bob Wilson [Thu, 23 Sep 2010 21:43:54 +0000 (21:43 +0000)]
Set alignment operand for NEON VLD instructions.

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

13 years agoFix Getting Started docs.
Andrew Trick [Thu, 23 Sep 2010 20:26:44 +0000 (20:26 +0000)]
Fix Getting Started docs.
configure expects LLVM Test Suite to be in projects/test-suite.
Made the "getting started" and "testing infrastructure" docs internally consistent.
Avoid confusion between llvm-test and llvm/test.

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

13 years agoCorrectly handle weak undefined symbols. Before we would get a invalid binding
Rafael Espindola [Thu, 23 Sep 2010 19:55:14 +0000 (19:55 +0000)]
Correctly handle weak undefined symbols. Before we would get a invalid binding
(2 == STB_WEAK | STB_GLOBAL).

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

13 years agonever mind. I can't read, apparently
Jim Grosbach [Thu, 23 Sep 2010 19:42:17 +0000 (19:42 +0000)]
never mind. I can't read, apparently

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

13 years agoFix r114632. Return if the only terminator is an unconditional branch after the redun...
Evan Cheng [Thu, 23 Sep 2010 19:42:03 +0000 (19:42 +0000)]
Fix r114632. Return if the only terminator is an unconditional branch after the redundant ones are deleted.

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

13 years agoFix opcode value for the 'trap' instruction, keeping the type suffix on the
Jim Grosbach [Thu, 23 Sep 2010 19:32:40 +0000 (19:32 +0000)]
Fix opcode value for the 'trap' instruction, keeping the type suffix on the
constant. Hopefully the non-Darwin bots will like it...

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

13 years agoexplicit 'unsigned long' on constant value. Hopefully make bots happier.
Jim Grosbach [Thu, 23 Sep 2010 19:08:04 +0000 (19:08 +0000)]
explicit 'unsigned long' on constant value. Hopefully make bots happier.

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

13 years agoUnbreak build. Jim, please review.
Benjamin Kramer [Thu, 23 Sep 2010 18:57:26 +0000 (18:57 +0000)]
Unbreak build. Jim, please review.

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

13 years agoRevert 114634 for now since buildbot claim it broke Clang self-hosting. I doubt it...
Evan Cheng [Thu, 23 Sep 2010 18:32:19 +0000 (18:32 +0000)]
Revert 114634 for now since buildbot claim it broke Clang self-hosting. I doubt it but it's possible it's exposing another bug somewhere.

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

13 years agotrailing whitespace
Jim Grosbach [Thu, 23 Sep 2010 18:07:04 +0000 (18:07 +0000)]
trailing whitespace

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

13 years agoClean up the 'trap' instruction printing a bit. Non-Darwin assemblers don't
Jim Grosbach [Thu, 23 Sep 2010 18:05:37 +0000 (18:05 +0000)]
Clean up the 'trap' instruction printing a bit. Non-Darwin assemblers don't
(yet) recognize the 'trap' mnemonic, so we use .short/.long to emit the
opcode directly. On Darwin, however, we do want the mnemonic for more
readable assembly code and better disassembly.

Adjust the .td file to use the 'trap' mnemonic and handle using the binutils
workaround in the assembly printer. Also tweak the formatting of the opcode
values to make them consistent between the MC printer and the old printer.

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

13 years agoCorrectly compute the offset of the symbol. Forgot these bits from the
Rafael Espindola [Thu, 23 Sep 2010 18:01:31 +0000 (18:01 +0000)]
Correctly compute the offset of the symbol. Forgot these bits from the
last commit.

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

13 years agonuke unused var
Jim Grosbach [Thu, 23 Sep 2010 17:58:00 +0000 (17:58 +0000)]
nuke unused var

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

13 years agorewrite the copyright section to match reality: llvm does't have a
Chris Lattner [Thu, 23 Sep 2010 17:37:11 +0000 (17:37 +0000)]
rewrite the copyright section to match reality: llvm does't have a
copyright assignment process.

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

13 years agoadd lldb and libc++ code owners.
Chris Lattner [Thu, 23 Sep 2010 17:27:54 +0000 (17:27 +0000)]
add lldb and libc++ code owners.

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

13 years agoRepresent relocations against local symbols as relocations against the section
Rafael Espindola [Thu, 23 Sep 2010 17:25:18 +0000 (17:25 +0000)]
Represent relocations against local symbols as relocations against the section
they are in. Both ways should be equivalent, but gas produces relocations
against the section.

Roman wrote the patch, I added the test.

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

13 years agoFix llvm-extract so that it changes the linkage of all GlobalValues to
Bob Wilson [Thu, 23 Sep 2010 17:25:06 +0000 (17:25 +0000)]
Fix llvm-extract so that it changes the linkage of all GlobalValues to
"external" even when doing lazy bitcode loading.  This was broken because
a function that is not materialized fails the !isDeclaration() test.

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

13 years agoAvoid warnings about conversions to `bool' in MS compilers.
Oscar Fuentes [Thu, 23 Sep 2010 16:59:44 +0000 (16:59 +0000)]
Avoid warnings about conversions to `bool' in MS compilers.

Patch by Nathan Jeffords!

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

13 years agoFix VS 2010 build.
Oscar Fuentes [Thu, 23 Sep 2010 16:59:36 +0000 (16:59 +0000)]
Fix VS 2010 build.

Patch by Nathan Jeffords!

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

13 years agoRevert r114596, it's breaking a few tests.
Nate Begeman [Thu, 23 Sep 2010 16:49:17 +0000 (16:49 +0000)]
Revert r114596, it's breaking a few tests.

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

13 years agoBump LLVM in CMake makefiles to 2.9
Douglas Gregor [Thu, 23 Sep 2010 14:19:21 +0000 (14:19 +0000)]
Bump LLVM in CMake makefiles to 2.9

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

13 years agoFix the FIXME.
Rafael Espindola [Thu, 23 Sep 2010 14:14:56 +0000 (14:14 +0000)]
Fix the FIXME.

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

13 years agoFollow up to r114630. Do not optimize away unconditional branch following a condition...
Evan Cheng [Thu, 23 Sep 2010 07:18:35 +0000 (07:18 +0000)]
Follow up to r114630. Do not optimize away unconditional branch following a conditional one.

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

13 years agoDisable codegen prepare critical edge splitting. Machine instruction passes now
Evan Cheng [Thu, 23 Sep 2010 06:55:34 +0000 (06:55 +0000)]
Disable codegen prepare critical edge splitting. Machine instruction passes now
break critical edges on demand.

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

13 years agoIf there are multiple unconditional branches terminating a block, eliminate all
Evan Cheng [Thu, 23 Sep 2010 06:54:40 +0000 (06:54 +0000)]
If there are multiple unconditional branches terminating a block, eliminate all
but the first one. Those will never be executed. There was logic to do this
but it was faulty.

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

13 years agoDon't sink insert_subreg, subreg_to_reg, reg_sequence. They are meant to be
Evan Cheng [Thu, 23 Sep 2010 06:53:00 +0000 (06:53 +0000)]
Don't sink insert_subreg, subreg_to_reg, reg_sequence. They are meant to be
close to their sources to facilitate coalescing.

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

13 years agoSDISel should not optimize a unconditional branch following a conditional branch
Evan Cheng [Thu, 23 Sep 2010 06:51:55 +0000 (06:51 +0000)]
SDISel should not optimize a unconditional branch following a conditional branch
when the unconditional branch destination is the fallthrough block. The
canonicalization makes it easier to allow optimizations on DAGs to invert
conditional branches. The branch folding pass (and AnalyzeBranch) will clean up
the unnecessary unconditional branches later.

This is one of the patches leading up to disabling codegen prepare critical edge
splitting.

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

13 years agoMoved the PBQP allocator class out of the header and back in to the cpp file to hide...
Lang Hames [Thu, 23 Sep 2010 04:28:54 +0000 (04:28 +0000)]
Moved the PBQP allocator class out of the header and back in to the cpp file to hide the gory details.
Allocator instances can now be created by calling createPBQPRegisterAllocator.

Tidied up use of CoalescerPair as per Jakob's suggestions.

Made the new PBQPBuilder based construction process the default. The internal construction process
remains in-place and available via -pbqp-builder=false for now. It will be removed shortly if the new
process doesn't cause any regressions.

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

13 years agoFixed a crash in the enhanced disassembler where
Sean Callanan [Thu, 23 Sep 2010 02:14:12 +0000 (02:14 +0000)]
Fixed a crash in the enhanced disassembler where
because of the lack of a newline, AsmToken::Eof
was being found instead of AsmToken::EndOfStatement.

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

13 years agoFix llvm-extract -delete's lazy loading to materialize the functions that
Dan Gohman [Thu, 23 Sep 2010 00:33:13 +0000 (00:33 +0000)]
Fix llvm-extract -delete's lazy loading to materialize the functions that
will not be deleted, rather than the ones that will.

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

13 years agoAdd support for ELF PLT references for ARM MC asm printing. Adding a
Jim Grosbach [Wed, 22 Sep 2010 23:27:36 +0000 (23:27 +0000)]
Add support for ELF PLT references for ARM MC asm printing. Adding a
new VariantKind to the MCSymbolExpr seems like overkill, but I'm not sure
there's a more straightforward way to get the printing difference captured.
(i.e., x86 uses @PLT, ARM uses (PLT)).

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

13 years agoMake SetVector's remove indicate whether it actually removed something.
Dan Gohman [Wed, 22 Sep 2010 23:20:04 +0000 (23:20 +0000)]
Make SetVector's remove indicate whether it actually removed something.

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

13 years agoEnable a few additional asserts in MC instruction lowering.
Jim Grosbach [Wed, 22 Sep 2010 23:01:28 +0000 (23:01 +0000)]
Enable a few additional asserts in MC instruction lowering.

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

13 years agoA select between a constant and zero, when fed by a bit test, can be efficiently
Owen Anderson [Wed, 22 Sep 2010 22:58:22 +0000 (22:58 +0000)]
A select between a constant and zero, when fed by a bit test, can be efficiently
lowered using a series of shifts.
Fixes <rdar://problem/8285015>.

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

13 years agoFix PR8201: Update the code to call via X86::CALL64pcrel32 in the 64-bit case.
Cameron Esfahani [Wed, 22 Sep 2010 22:35:21 +0000 (22:35 +0000)]
Fix PR8201: Update the code to call via X86::CALL64pcrel32 in the 64-bit case.

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

13 years ago<rdar://problem/8228022> Wvector-conversions warnings in arm_neon.h
Nate Begeman [Wed, 22 Sep 2010 22:28:42 +0000 (22:28 +0000)]
<rdar://problem/8228022> Wvector-conversions warnings in arm_neon.h

Explicitly cast arguments to the type the builtin expects, which is <vN x i8>

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

13 years agoChange VDUPLANE DAG combiner to just return the result instead of calling
Bob Wilson [Wed, 22 Sep 2010 22:27:30 +0000 (22:27 +0000)]
Change VDUPLANE DAG combiner to just return the result instead of calling
CombineTo to avoid putting the result on the worklist.  I don't think it makes
much difference for now, but it might help someday as we add more DAG
combine optimizations.

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

13 years agoAvoid some Mach-O specific alignment being done on ELF.
Rafael Espindola [Wed, 22 Sep 2010 22:27:05 +0000 (22:27 +0000)]
Avoid some Mach-O specific alignment being done on ELF.

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

13 years agoallow target-specific label suffixes, patch by Yuri Gribov!
Chris Lattner [Wed, 22 Sep 2010 22:19:53 +0000 (22:19 +0000)]
allow target-specific label suffixes, patch by Yuri Gribov!

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

13 years agoFix uninitialized TBAAFlag field values.
Dan Gohman [Wed, 22 Sep 2010 22:18:07 +0000 (22:18 +0000)]
Fix uninitialized TBAAFlag field values.

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

13 years agoCombine both VMOVDRR(VMOVRRD) and VMOVRRD(VMOVDRR), instead of just doing one
Bob Wilson [Wed, 22 Sep 2010 22:09:21 +0000 (22:09 +0000)]
Combine both VMOVDRR(VMOVRRD) and VMOVRRD(VMOVDRR), instead of just doing one
of those.  Refactor to share code for handling BUILD_VECTOR(VMOVRRD).
I don't have a testcase that exercises this, but it seems like an obvious
good thing to do.

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

13 years agoTeach memdep about TBAA tags.
Dan Gohman [Wed, 22 Sep 2010 21:41:02 +0000 (21:41 +0000)]
Teach memdep about TBAA tags.

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

13 years agoUse DW_OP_fbreg when offset is based on frame register.
Devang Patel [Wed, 22 Sep 2010 21:10:38 +0000 (21:10 +0000)]
Use DW_OP_fbreg when offset is based on frame register.

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

13 years agoadd FIXME
Jim Grosbach [Wed, 22 Sep 2010 20:55:15 +0000 (20:55 +0000)]
add FIXME

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

13 years agoTemporarily work around new address lowering while I figure out what
Eric Christopher [Wed, 22 Sep 2010 20:42:08 +0000 (20:42 +0000)]
Temporarily work around new address lowering while I figure out what
needs to happen for darwin.

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

13 years agoRemove a few commented out bits
Jim Grosbach [Wed, 22 Sep 2010 20:32:34 +0000 (20:32 +0000)]
Remove a few commented out bits

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

13 years agoConstify.
Dan Gohman [Wed, 22 Sep 2010 20:11:43 +0000 (20:11 +0000)]
Constify.

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

13 years agoFix typo and add a FIXME.
Rafael Espindola [Wed, 22 Sep 2010 19:04:41 +0000 (19:04 +0000)]
Fix typo and add a FIXME.

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

13 years agoWhen moving zext/sext to be folded with a load, ignore the issue of whether
Bob Wilson [Wed, 22 Sep 2010 18:44:56 +0000 (18:44 +0000)]
When moving zext/sext to be folded with a load, ignore the issue of whether
truncates are free only in the case where the extended type is legal but the
load type is not.  If both types are illegal, such as when they are too big,
the load may not be legalized into an extended load.

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

13 years agoAdd PrintSpecial() handling for in ARM MC instruction printer.
Jim Grosbach [Wed, 22 Sep 2010 18:37:14 +0000 (18:37 +0000)]
Add PrintSpecial() handling for  in ARM MC instruction printer.

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

13 years agogrammar tweakage
Jim Grosbach [Wed, 22 Sep 2010 18:18:30 +0000 (18:18 +0000)]
grammar tweakage

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

13 years agoremove trailing whitespace
Jim Grosbach [Wed, 22 Sep 2010 18:16:55 +0000 (18:16 +0000)]
remove trailing whitespace

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

13 years agoCrashRecovery/Darwin: Override raise() as well so that crash recovery doesn't
Daniel Dunbar [Wed, 22 Sep 2010 17:46:10 +0000 (17:46 +0000)]
CrashRecovery/Darwin: Override raise() as well so that crash recovery doesn't
end up altering the thread on which crashes are done because of its use of
Darwin's broken raise() implementation.

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

13 years agoCorrectly align bss.
Rafael Espindola [Wed, 22 Sep 2010 17:43:04 +0000 (17:43 +0000)]
Correctly align bss.

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

13 years agoAdd MC instruction printer support for ARM and Thumb1 jump tables.
Jim Grosbach [Wed, 22 Sep 2010 17:39:48 +0000 (17:39 +0000)]
Add MC instruction printer support for ARM and Thumb1 jump tables.

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

13 years agoAttempt to fix llvm-gcc build. It was crashing when building gcov.o for an
Bob Wilson [Wed, 22 Sep 2010 17:35:14 +0000 (17:35 +0000)]
Attempt to fix llvm-gcc build.  It was crashing when building gcov.o for an
ARM cross-compiler on x86, because the MMO size did not match the type size.
This fixes the MMO size and also the size of the stack object to match the
type size.

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

13 years agoAdd MC instruction printer support for TB[BH] style thumb2 jump tables.
Jim Grosbach [Wed, 22 Sep 2010 17:15:35 +0000 (17:15 +0000)]
Add MC instruction printer support for TB[BH] style thumb2 jump tables.

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

13 years agoClean up comment.
Jim Grosbach [Wed, 22 Sep 2010 16:45:13 +0000 (16:45 +0000)]
Clean up comment.

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

13 years agollvmc: Support '-emit-llvm -S' with -opt.
Mikhail Glushenkov [Wed, 22 Sep 2010 09:00:41 +0000 (09:00 +0000)]
llvmc: Support '-emit-llvm -S' with -opt.

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

13 years agoA more informative output suffix for the opt tool.
Mikhail Glushenkov [Wed, 22 Sep 2010 09:00:35 +0000 (09:00 +0000)]
A more informative output suffix for the opt tool.

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

13 years agofix rdar://8456371 - Handle commutable instructions written backward.
Chris Lattner [Wed, 22 Sep 2010 06:26:39 +0000 (06:26 +0000)]
fix rdar://8456371 - Handle commutable instructions written backward.

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

13 years agoFix an inconsistency in the x86 backend that led it to reject "calll foo" on
Chris Lattner [Wed, 22 Sep 2010 05:49:14 +0000 (05:49 +0000)]
Fix an inconsistency in the x86 backend that led it to reject "calll foo" on
x86-32: 32-bit calls were named "call" not "calll".  64-bit calls were correctly
named "callq", so this only impacted x86-32.

This fixes rdar://8456370 - llvm-mc rejects 'calll'

This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call,
I will file a bugzilla.

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

13 years agofix rdar://8456412 - llvm-mc crash in encoder on "mov %rdx, %cr8"
Chris Lattner [Wed, 22 Sep 2010 05:29:50 +0000 (05:29 +0000)]
fix rdar://8456412 - llvm-mc crash in encoder on "mov %rdx, %cr8"
Teaching the code generator about CR8-15, how to rex them up, etc.

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

13 years agofix rdar://8456417 - llvm-mc can't do basic math
Chris Lattner [Wed, 22 Sep 2010 05:05:16 +0000 (05:05 +0000)]
fix rdar://8456417 - llvm-mc can't do basic math

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

13 years agoadd the missing aliases for fp stack cmovs, rdar://8456391
Chris Lattner [Wed, 22 Sep 2010 04:56:20 +0000 (04:56 +0000)]
add the missing aliases for fp stack cmovs, rdar://8456391

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

13 years agoreimplement elf TLS support in terms of addressing modes, eliminating SegmentBaseAddress.
Chris Lattner [Wed, 22 Sep 2010 04:39:11 +0000 (04:39 +0000)]
reimplement elf TLS support in terms of addressing modes, eliminating SegmentBaseAddress.

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

13 years agoFix rdar://8456364 - llvm-mc rejects '%CS'
Chris Lattner [Wed, 22 Sep 2010 04:11:10 +0000 (04:11 +0000)]
Fix rdar://8456364 - llvm-mc rejects '%CS'

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

13 years agofix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'
Chris Lattner [Wed, 22 Sep 2010 04:04:03 +0000 (04:04 +0000)]
fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'

-This line, and those below, will be ignored--

M    test/MC/AsmParser/X86/x86_instructions.s
M    lib/Target/X86/AsmParser/X86AsmParser.cpp

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

13 years agofix rdar://8456361 - llvm-mc rejects 'rep movsd'
Chris Lattner [Wed, 22 Sep 2010 03:50:32 +0000 (03:50 +0000)]
fix rdar://8456361 - llvm-mc rejects 'rep movsd'

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