oota-llvm.git
14 years agoAdded the TargetAsmLexer implementation for AT&T syntax.
Sean Callanan [Tue, 26 Jan 2010 00:08:25 +0000 (00:08 +0000)]
Added the TargetAsmLexer implementation for AT&T syntax.

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

14 years agouse findDebugLoc in more places.
Dale Johannesen [Tue, 26 Jan 2010 00:03:12 +0000 (00:03 +0000)]
use findDebugLoc in more places.

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

14 years agoMinor jump table cleanup.
Jim Grosbach [Mon, 25 Jan 2010 23:50:13 +0000 (23:50 +0000)]
Minor jump table cleanup.

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

14 years agoin 32-bit pic mode for targets with a GOT, x86 emits jump table
Chris Lattner [Mon, 25 Jan 2010 23:38:14 +0000 (23:38 +0000)]
in 32-bit pic mode for targets with a GOT, x86 emits jump table
entries with @GOTOFF whih is EK_GPRel32BlockAddress.

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

14 years agofix quoting problem jim noticed!
Chris Lattner [Mon, 25 Jan 2010 23:28:03 +0000 (23:28 +0000)]
fix quoting problem jim noticed!

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

14 years agoRearrange handling of jump tables. Highlights:
Chris Lattner [Mon, 25 Jan 2010 23:26:13 +0000 (23:26 +0000)]
Rearrange handling of jump tables.  Highlights:
1. MachineJumpTableInfo is now created lazily for a function the first time
   it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
   MachineJumpTableInfo::JTEntryKind enum.  This enum is determined by the
   TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
   throughout the compiler that "knows" that jump table entries are always
   32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
   their kind, instead of at machinefunction creation time.

Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.

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

14 years agoprep work to support a future where getJumpTableInfo will return
Chris Lattner [Mon, 25 Jan 2010 23:22:00 +0000 (23:22 +0000)]
prep work to support a future where getJumpTableInfo will return
a null pointer for functions with no jump tables.  No functionality
change.

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

14 years agoadd a method to get the alignment of an integer type even
Chris Lattner [Mon, 25 Jan 2010 23:18:11 +0000 (23:18 +0000)]
add a method to get the alignment of an integer type even
when we don't have one laying around.  Useful if you don't
have an llvmcontext handy.

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

14 years agoMake it SP, LR, PC for GPR Register Class instead of LR, SP, PC.
Johnny Chen [Mon, 25 Jan 2010 22:54:29 +0000 (22:54 +0000)]
Make it SP, LR, PC for GPR Register Class instead of LR, SP, PC.

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

14 years agoeliminate redundant argument to EmitJumpTableInfo
Chris Lattner [Mon, 25 Jan 2010 22:41:33 +0000 (22:41 +0000)]
eliminate redundant argument to EmitJumpTableInfo

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

14 years agoImplemented ARMInstPrinter::printThumbS4ImmOperand().
Johnny Chen [Mon, 25 Jan 2010 22:13:10 +0000 (22:13 +0000)]
Implemented ARMInstPrinter::printThumbS4ImmOperand().

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

14 years agoImplemented the dialect decision logic for the X86
Sean Callanan [Mon, 25 Jan 2010 21:59:20 +0000 (21:59 +0000)]
Implemented the dialect decision logic for the X86
TargetAsmLexer.  Dialect-specific lexing code will
be placed in the functions LexTokenATT() and
LexTokenIntel().

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

14 years agoFixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...
Johnny Chen [Mon, 25 Jan 2010 21:56:35 +0000 (21:56 +0000)]
Fixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...

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

14 years agoFix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
Dan Gohman [Mon, 25 Jan 2010 21:55:39 +0000 (21:55 +0000)]
Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
of a forward-reference, which doesn't use an "abbrev" encoding.

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

14 years agomcstreamerize gprel32 emission.
Chris Lattner [Mon, 25 Jan 2010 21:28:50 +0000 (21:28 +0000)]
mcstreamerize gprel32 emission.

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

14 years agoRemove check for an impossible condition: the condition of the while loop has
Bob Wilson [Mon, 25 Jan 2010 21:28:05 +0000 (21:28 +0000)]
Remove check for an impossible condition: the condition of the while loop has
already checked that TmpBB->getSinglePredecessor() is non-null.

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

14 years agomcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry
Chris Lattner [Mon, 25 Jan 2010 21:22:22 +0000 (21:22 +0000)]
mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry

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

14 years agohandle the _set_ symbol with an MCSymbol.
Chris Lattner [Mon, 25 Jan 2010 21:17:10 +0000 (21:17 +0000)]
handle the _set_ symbol with an MCSymbol.

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

14 years agorename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
Chris Lattner [Mon, 25 Jan 2010 21:10:10 +0000 (21:10 +0000)]
rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
make it clear what it is, instead of how it is used.

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

14 years agopull the non-pic jump table case out of printPICJumpTableEntry
Chris Lattner [Mon, 25 Jan 2010 21:01:58 +0000 (21:01 +0000)]
pull the non-pic jump table case out of printPICJumpTableEntry
and MCize the non-pic case.  Now printPICJumpTableEntry really
is just about printing PIC entries.

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

14 years agoremove JumpTableDirective, it is always null.
Chris Lattner [Mon, 25 Jan 2010 20:52:54 +0000 (20:52 +0000)]
remove JumpTableDirective, it is always null.

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

14 years agono need to implement these.
Chris Lattner [Mon, 25 Jan 2010 20:37:36 +0000 (20:37 +0000)]
no need to implement these.

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

14 years agomcize jump table symbol manipulation.
Chris Lattner [Mon, 25 Jan 2010 19:51:38 +0000 (19:51 +0000)]
mcize jump table symbol manipulation.

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

14 years agosink an arm specific method out of asmprinter into the ARMAsmPrinter and
Chris Lattner [Mon, 25 Jan 2010 19:39:52 +0000 (19:39 +0000)]
sink an arm specific method out of asmprinter into the ARMAsmPrinter and
rename it to avoid shadowing.

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

14 years agoremove dead code: the x86 target never sets usesGlobalOffsetTable,
Chris Lattner [Mon, 25 Jan 2010 19:23:04 +0000 (19:23 +0000)]
remove dead code: the x86 target never sets usesGlobalOffsetTable,
even on x86-32/elf which uses a GOT.

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

14 years agowirte up .file and .file to the mc asmparser.
Chris Lattner [Mon, 25 Jan 2010 19:02:58 +0000 (19:02 +0000)]
wirte up .file and .file to the mc asmparser.

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

14 years agomcstreamerize .file and .file. This also fixes an issue where the
Chris Lattner [Mon, 25 Jan 2010 18:58:59 +0000 (18:58 +0000)]
mcstreamerize .file and .file.  This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.

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

14 years agoemit ELF .type directives through MCStreamer instead of doing it textually.
Chris Lattner [Mon, 25 Jan 2010 18:33:40 +0000 (18:33 +0000)]
emit ELF .type directives through MCStreamer instead of doing it textually.

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

14 years agoadd symbol attribute support for the ELF .type directive.
Chris Lattner [Mon, 25 Jan 2010 18:30:45 +0000 (18:30 +0000)]
add symbol attribute support for the ELF .type directive.

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

14 years agoChange Value::getUnderlyingObject to have the MaxLookup value specified as a
Bob Wilson [Mon, 25 Jan 2010 18:26:54 +0000 (18:26 +0000)]
Change Value::getUnderlyingObject to have the MaxLookup value specified as a
parameter with a default value, instead of just hardcoding it in the
implementation.  The limit of MaxLookup = 6 was introduced in r69151 to fix
a performance problem with O(n^2) behavior in instcombine, but the scalarrepl
pass is relying on getUnderlyingObject to go all the way back to an AllocaInst.
Making the limit part of the method signature makes it clear that by default
the result is limited and should help avoid similar problems in the future.
This fixes pr6126.

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

14 years agoRevert r94260 until findDbgDeclare() is made more efficient
Victor Hernandez [Mon, 25 Jan 2010 17:52:13 +0000 (17:52 +0000)]
Revert r94260 until findDbgDeclare() is made more efficient

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

14 years agoUpdate test for darwin.
Rafael Espindola [Mon, 25 Jan 2010 15:32:10 +0000 (15:32 +0000)]
Update test for darwin.

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

14 years agoadd a comment
Chris Lattner [Mon, 25 Jan 2010 07:53:05 +0000 (07:53 +0000)]
add a comment

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

14 years agoemit the .size directive for global variables on ELF through
Chris Lattner [Mon, 25 Jan 2010 07:52:13 +0000 (07:52 +0000)]
emit the .size directive for global variables on ELF through
mcstreamer.

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

14 years agowe removed support for darwin8 tools.
Chris Lattner [Mon, 25 Jan 2010 07:43:40 +0000 (07:43 +0000)]
we removed support for darwin8 tools.

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

14 years agoall supported target now have aligned common support.
Chris Lattner [Mon, 25 Jan 2010 07:29:13 +0000 (07:29 +0000)]
all supported target now have aligned common support.

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

14 years agoRemove support for i386 tiger tools for aligned common symbols.
Chris Lattner [Mon, 25 Jan 2010 07:26:17 +0000 (07:26 +0000)]
Remove support for i386 tiger tools for aligned common symbols.
Previously we would just silently miscompile code that used aligned
common's, now at least you'll get a build error.  tiger-ppc already
triggered the build error because it didn't have a version of this
logic.

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

14 years agodon't set value to its default.
Chris Lattner [Mon, 25 Jan 2010 07:23:14 +0000 (07:23 +0000)]
don't set value to its default.

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

14 years agocoff targets support alignment on .comm
Chris Lattner [Mon, 25 Jan 2010 07:20:44 +0000 (07:20 +0000)]
coff targets support alignment on .comm

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

14 years agoARM does accept the .comm directive alignment.
Jim Grosbach [Mon, 25 Jan 2010 04:59:07 +0000 (04:59 +0000)]
ARM does accept the .comm directive alignment.

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

14 years agoFix autoconf llvm srcdir location for generic projects.
Eric Christopher [Mon, 25 Jan 2010 04:10:28 +0000 (04:10 +0000)]
Fix autoconf llvm srcdir location for generic projects.

Patch by Torvald Riegel!

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

14 years agoFix PR6134.
Rafael Espindola [Mon, 25 Jan 2010 02:27:39 +0000 (02:27 +0000)]
Fix PR6134.
We are not emitting alignments on Darwin for "bar". Not sure what is the
correct way to do it.

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

14 years agoAttempt to unbreak test on Linux. Chris, please check.
Daniel Dunbar [Mon, 25 Jan 2010 00:54:13 +0000 (00:54 +0000)]
Attempt to unbreak test on Linux. Chris, please check.

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

14 years agoThis example requires RTTI.
Daniel Dunbar [Mon, 25 Jan 2010 00:45:01 +0000 (00:45 +0000)]
This example requires RTTI.

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

14 years agolinux/ppc does use alignment in bytes, not pow-2. This fixes PR6129.
Chris Lattner [Sun, 24 Jan 2010 20:54:45 +0000 (20:54 +0000)]
linux/ppc does use alignment in bytes, not pow-2.  This fixes PR6129.
It looks like linux/arm and linux/mips have the same setting, which
are probably wrong.  Someone who cares about ARM and MIPS should
investigate with the testcase in PR6129.

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

14 years agodon't reset the default.
Chris Lattner [Sun, 24 Jan 2010 20:53:12 +0000 (20:53 +0000)]
don't reset the default.

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

14 years agomake -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:43:08 +0000 (20:43 +0000)]
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.

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

14 years agomark some libraries that currently require RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:22:08 +0000 (20:22 +0000)]
mark some libraries that currently require RTTI.

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

14 years agolibs that need EH need RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:21:50 +0000 (20:21 +0000)]
libs that need EH need RTTI.

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

14 years agoENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.
Chris Lattner [Sun, 24 Jan 2010 20:20:40 +0000 (20:20 +0000)]
ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.

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

14 years agoreassociate should do this.
Chris Lattner [Sun, 24 Jan 2010 20:17:09 +0000 (20:17 +0000)]
reassociate should do this.

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

14 years agoadd a note.
Chris Lattner [Sun, 24 Jan 2010 20:01:41 +0000 (20:01 +0000)]
add a note.

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

14 years agojust remove this test, it is not reduced, is not clear what its testing for and
Chris Lattner [Sun, 24 Jan 2010 19:23:09 +0000 (19:23 +0000)]
just remove this test, it is not reduced, is not clear what its testing for and
it is dying due to fragility in the asmprinter .s comments.

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

14 years agothis test has been failing or a long time, just disable it for now to get
Chris Lattner [Sun, 24 Jan 2010 19:13:39 +0000 (19:13 +0000)]
this test has been failing or a long time, just disable it for now to get
back to green.

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

14 years agofix some issues where we weren't emitting enough newlines.
Chris Lattner [Sun, 24 Jan 2010 19:01:06 +0000 (19:01 +0000)]
fix some issues where we weren't emitting enough newlines.

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

14 years agowhen emitting DIEs, emit the comment on the same line as the directive.
Chris Lattner [Sun, 24 Jan 2010 18:54:17 +0000 (18:54 +0000)]
when emitting DIEs, emit the comment on the same line as the directive.
This fixes FrontendObjC/2009-11-30-Objc-ID.m

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

14 years agomove PR5945 here.
Chris Lattner [Sun, 24 Jan 2010 02:27:03 +0000 (02:27 +0000)]
move PR5945 here.

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

14 years agofix a parsing problem on instructions like:
Chris Lattner [Sun, 24 Jan 2010 01:07:33 +0000 (01:07 +0000)]
fix a parsing problem on instructions like:
movw $8, (_cost_table_-L97$pb)+66(%eax)

After the parens, we could still have a binop.

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

14 years agoThis corrects an error in the type of the Llvm.dispose_context function.
Chris Lattner [Sun, 24 Jan 2010 00:25:09 +0000 (00:25 +0000)]
This corrects an error in the type of the Llvm.dispose_context function.
Patch by James Woodyatt!

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

14 years agoIt seems better to scalarize vectors of size 1 instead of widening them.
Mon P Wang [Sun, 24 Jan 2010 00:24:43 +0000 (00:24 +0000)]
It seems better to scalarize vectors of size 1 instead of widening them.
Add support to widen SETCC.

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

14 years agochange the canonical form of "cond ? -1 : 0" to be
Chris Lattner [Sun, 24 Jan 2010 00:09:49 +0000 (00:09 +0000)]
change the canonical form of "cond ? -1 : 0" to be
"sext cond" instead of a select.  This simplifies some instcombine
code, matches the policy for zext (cond ? 1 : 0 -> zext), and allows
us to generate better code for a testcase on ppc.

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

14 years agoImproved widening loads by adding support for wider loads if
Mon P Wang [Sun, 24 Jan 2010 00:05:03 +0000 (00:05 +0000)]
Improved widening loads by adding support for wider loads if
the alignment allows.  Fixed a bug where we didn't use a
vector load/store for PR5626.

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

14 years agofix a potential overflow issue Eli pointed out.
Chris Lattner [Sat, 23 Jan 2010 23:31:46 +0000 (23:31 +0000)]
fix a potential overflow issue Eli pointed out.

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

14 years agoSpeculatively revert r94322 to see if it fixes darwin selfhost buildbot.
Nick Lewycky [Sat, 23 Jan 2010 20:32:12 +0000 (20:32 +0000)]
Speculatively revert r94322 to see if it fixes darwin selfhost buildbot.

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

14 years agothird bug from PR6119: the xor dupe extension allows
Chris Lattner [Sat, 23 Jan 2010 19:21:31 +0000 (19:21 +0000)]
third bug from PR6119: the xor dupe extension allows
for arbitrary terminators in predecessors, don't assume
it is a conditional or uncond branch.  The testcase shows
an example where they can happen with switches.

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

14 years agoTeach DAE that even though it can't modify the function signature of an
Nick Lewycky [Sat, 23 Jan 2010 19:19:34 +0000 (19:19 +0000)]
Teach DAE that even though it can't modify the function signature of an
externally visible function, it can still find all callers of it and replace
the parameters to a dead argument with undef.

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

14 years agoadd an early out to ProcessBranchOnXOR to speed it up,
Chris Lattner [Sat, 23 Jan 2010 19:16:25 +0000 (19:16 +0000)]
add an early out to ProcessBranchOnXOR to speed it up,
handle the case when we can infer an input to the xor
from all inputs that agree, instead of going into an
infinite loop.  Another part of PR6199

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

14 years agofix a crash in jump threading, PR6119
Chris Lattner [Sat, 23 Jan 2010 18:56:07 +0000 (18:56 +0000)]
fix a crash in jump threading, PR6119

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

14 years agoimplement a simple instcombine xform that has been in the
Chris Lattner [Sat, 23 Jan 2010 18:49:30 +0000 (18:49 +0000)]
implement a simple instcombine xform that has been in the
readme forever.

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

14 years agoadd a note
Chris Lattner [Sat, 23 Jan 2010 18:42:37 +0000 (18:42 +0000)]
add a note

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

14 years agoadd some notes, making posix-memalign be nocapture would be an easy improvement.
Chris Lattner [Sat, 23 Jan 2010 17:59:23 +0000 (17:59 +0000)]
add some notes, making posix-memalign be nocapture would be an easy improvement.

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

14 years agoRemove the '-disable-scheduling' flag and replace it with the 'source' option of
Bill Wendling [Sat, 23 Jan 2010 10:26:57 +0000 (10:26 +0000)]
Remove the '-disable-scheduling' flag and replace it with the 'source' option of
the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also,
keep track of the SDNode ordering by default. Eventually, we would like to make
this ordering a way to break a "tie" in the scheduler. However, doing that now
breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux.

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

14 years agoRespect operator precedence (and silence a gcc 4.3 warning).
Benjamin Kramer [Sat, 23 Jan 2010 09:54:23 +0000 (09:54 +0000)]
Respect operator precedence (and silence a gcc 4.3 warning).

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

14 years agomcize lcomm, simplify .comm, extend both to support 64-bit sizes.
Chris Lattner [Sat, 23 Jan 2010 07:47:02 +0000 (07:47 +0000)]
mcize lcomm, simplify .comm, extend both to support 64-bit sizes.

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

14 years agoresolve a fixme: the "nonexecutable stack directive" is actually
Chris Lattner [Sat, 23 Jan 2010 07:21:06 +0000 (07:21 +0000)]
resolve a fixme: the "nonexecutable stack directive" is actually
a .section.  Switch to it with SwitchSection.

However, I think that this directive should be safe on any ELF target.
If so, we should hoist it up out of the X86 and SystemZ targets.

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

14 years agoremove a dead call.
Chris Lattner [Sat, 23 Jan 2010 07:17:54 +0000 (07:17 +0000)]
remove a dead call.

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

14 years agouse helpers.
Chris Lattner [Sat, 23 Jan 2010 07:00:21 +0000 (07:00 +0000)]
use helpers.

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

14 years agomcize visibility directives.
Chris Lattner [Sat, 23 Jan 2010 06:53:23 +0000 (06:53 +0000)]
mcize visibility directives.

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

14 years agomove the various directive enums out of the MCStreamer class
Chris Lattner [Sat, 23 Jan 2010 06:39:22 +0000 (06:39 +0000)]
move the various directive enums out of the MCStreamer class
into a new MCDirectives.h file.

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

14 years agoChange constantexpr global variable initializers to convert the constants
Chris Lattner [Sat, 23 Jan 2010 06:17:14 +0000 (06:17 +0000)]
Change constantexpr global variable initializers to convert the constants
to MCExpr then emit them through MCStreamer with EmitValue.  I think all
global variable initializers are now going through mcstreamer.

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

14 years agoDon't lower splat vector load to relative to the esp if the
Eric Christopher [Sat, 23 Jan 2010 06:02:43 +0000 (06:02 +0000)]
Don't lower splat vector load to relative to the esp if the
stack may be misaligned.

Update test accordingly.

Patch by Evan Cheng!

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

14 years agomcstreamerize .no_dead_strip and .reference for static ctors/dtors.
Chris Lattner [Sat, 23 Jan 2010 05:51:36 +0000 (05:51 +0000)]
mcstreamerize .no_dead_strip and .reference for static ctors/dtors.

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

14 years agostop testing for invalid output.
Chris Lattner [Sat, 23 Jan 2010 05:45:28 +0000 (05:45 +0000)]
stop testing for invalid output.

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

14 years agoReapply 94059 while fixing the calling convention setup
Eric Christopher [Sat, 23 Jan 2010 05:29:06 +0000 (05:29 +0000)]
Reapply 94059 while fixing the calling convention setup
for strcpy.

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

14 years agoremove unneeded directive set.
Chris Lattner [Sat, 23 Jan 2010 05:28:25 +0000 (05:28 +0000)]
remove unneeded directive set.

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

14 years agouse some helpers instead of duplicating logic.
Chris Lattner [Sat, 23 Jan 2010 05:26:25 +0000 (05:26 +0000)]
use some helpers instead of duplicating logic.

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

14 years agomcize jump table and constant pool entry labels, .local on elf,
Chris Lattner [Sat, 23 Jan 2010 05:19:23 +0000 (05:19 +0000)]
mcize jump table and constant pool entry labels, .local on elf,
and some .weak directives.

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

14 years agoemit .ascii and .asciz through MCStreamer.
Chris Lattner [Sat, 23 Jan 2010 04:54:10 +0000 (04:54 +0000)]
emit .ascii and .asciz through MCStreamer.

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

14 years agosimplify code a bit.
Chris Lattner [Sat, 23 Jan 2010 04:42:42 +0000 (04:42 +0000)]
simplify code a bit.

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

14 years agoInstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a...
Mon P Wang [Sat, 23 Jan 2010 04:35:57 +0000 (04:35 +0000)]
InstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a sext/zext

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

14 years agoUpdate CMake build.
Ted Kremenek [Sat, 23 Jan 2010 04:01:37 +0000 (04:01 +0000)]
Update CMake build.

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

14 years agoremove one form of EmitString, just use EmitBytes instead. We must
Chris Lattner [Sat, 23 Jan 2010 03:11:46 +0000 (03:11 +0000)]
remove one form of EmitString, just use EmitBytes instead.  We must
be careful to add a \0 at the end though, because EmitString didn't
do this.

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

14 years agoremove this test.
Chris Lattner [Sat, 23 Jan 2010 03:11:10 +0000 (03:11 +0000)]
remove this test.

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

14 years agoAdded the skeleton for the implementation of the X86
Sean Callanan [Sat, 23 Jan 2010 02:43:15 +0000 (02:43 +0000)]
Added the skeleton for the implementation of the X86
target-specific AsmLexer, and added the appropriate
registration calls.

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

14 years agoFix test.
Evan Cheng [Sat, 23 Jan 2010 01:21:27 +0000 (01:21 +0000)]
Fix test.

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

14 years agoFix tests.
Evan Cheng [Sat, 23 Jan 2010 01:19:28 +0000 (01:19 +0000)]
Fix tests.

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

14 years agoModified the register matcher function in AsmMatcher to
Sean Callanan [Sat, 23 Jan 2010 00:40:33 +0000 (00:40 +0000)]
Modified the register matcher function in AsmMatcher to
be static.  Also made it possible for clients to get it
and no other functions from ...GenAsmMatcher.inc by
defining REGISTERS_ONLY before including GenAsmMatcher.inc.
This sets the stage for target-specific lexers that can
identify registers and return AsmToken::Register as
appropriate.

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

14 years agoAvoid using "Type" as the variable name.
Devang Patel [Sat, 23 Jan 2010 00:26:28 +0000 (00:26 +0000)]
Avoid using "Type" as the variable name.

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

14 years agoAsmMatcher: Add a comment.
Daniel Dunbar [Sat, 23 Jan 2010 00:26:16 +0000 (00:26 +0000)]
AsmMatcher: Add a comment.

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

14 years agoIn mem2reg, for all alloca/stores that get promoted where the alloca has an associate...
Victor Hernandez [Sat, 23 Jan 2010 00:17:34 +0000 (00:17 +0000)]
In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store

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