oota-llvm.git
14 years agozap the ARM version of PrintGlobalVariable, which I missed.
Chris Lattner [Tue, 19 Jan 2010 06:08:15 +0000 (06:08 +0000)]
zap the ARM version of PrintGlobalVariable, which I missed.

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

14 years agomc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.
Chris Lattner [Tue, 19 Jan 2010 06:01:04 +0000 (06:01 +0000)]
mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.

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

14 years agofactor this code better.
Chris Lattner [Tue, 19 Jan 2010 05:51:42 +0000 (05:51 +0000)]
factor this code better.

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

14 years agoNow that we have everything nicely factored (e.g. asmprinter is not
Chris Lattner [Tue, 19 Jan 2010 05:38:33 +0000 (05:38 +0000)]
Now that we have everything nicely factored (e.g. asmprinter is not
doing global variable classification anymore) and hookized, sink almost
all target targets global variable emission code into AsmPrinter and out
of each target.

Some notes:

1. PIC16 does completely custom and crazy stuff, so it is not changed.
2. XCore has some custom handling for extra directives.  I'll look at it next.
3. This switches linux/ppc to use .globl instead of .global.  If .globl is
   actually wrong, let me know and I'll fix it.
4. This makes linux/ppc get a lot of random cases right which were obviously
   wrong before, it is probably now a bit healthier.
5. Blackfin will probably start getting .comm and other things that it didn't
   before.  If this is undesirable, it should explicitly opt out of these
   things by clearing the relevant fields of MCAsmInfo.

This leads to a nice diffstat:
 14 files changed, 127 insertions(+), 830 deletions(-)

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

14 years agouse %object like other elf targets, gas accepts either.
Chris Lattner [Tue, 19 Jan 2010 05:25:38 +0000 (05:25 +0000)]
use %object like other elf targets, gas accepts either.

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

14 years agosimplify the mips target to print .size and .type for c strings
Chris Lattner [Tue, 19 Jan 2010 05:23:59 +0000 (05:23 +0000)]
simplify the mips target to print .size and .type for c strings
just like all other elf targets.  Bruno, if this isn't right, please
let me know + why :)

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

14 years agohookize the cygwin ".linkonce" directive.
Chris Lattner [Tue, 19 Jan 2010 05:08:13 +0000 (05:08 +0000)]
hookize the cygwin ".linkonce" directive.

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

14 years agomore cleanups. Emit the .local directive even on cygwin/mingw.
Chris Lattner [Tue, 19 Jan 2010 04:59:55 +0000 (04:59 +0000)]
more cleanups.  Emit the .local directive even on cygwin/mingw.
I'm not sure that this is correct, but it causes no test failures,
and just emitting a .comm without protecting its linkage somehow
is surely not right.

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

14 years agosome cleanups
Chris Lattner [Tue, 19 Jan 2010 04:53:18 +0000 (04:53 +0000)]
some cleanups

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

14 years agoadd a bool for whether .lcomm takes an alignment instead of basing this on "isdarwin".
Chris Lattner [Tue, 19 Jan 2010 04:48:20 +0000 (04:48 +0000)]
add a bool for whether .lcomm takes an alignment instead of basing this on "isdarwin".

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

14 years agohoist handling of external globals and special globals up to common code.
Chris Lattner [Tue, 19 Jan 2010 04:39:15 +0000 (04:39 +0000)]
hoist handling of external globals and special globals up to common code.
This makes a similar code dead in all the other targets, I'll clean it up
in a bit.

This also moves handling of lcomm up before acquisition of a section,
since lcomm never needs a section.

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

14 years agomove production of .reference directives for static ctor/dtor list on
Chris Lattner [Tue, 19 Jan 2010 04:34:02 +0000 (04:34 +0000)]
move production of .reference directives for static ctor/dtor list on
darwin into common code.

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

14 years agoFix a crash in scalarrepl for memcpy/memmove where the source and destination
Bob Wilson [Tue, 19 Jan 2010 04:32:48 +0000 (04:32 +0000)]
Fix a crash in scalarrepl for memcpy/memmove where the source and destination
are the same.  I had already fixed a similar problem where the source and
destination were different bitcasts derived from the same alloca, but the
previous fix still did not handle the case where both operands are exactly
the same value.  Radar 7552893.

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

14 years agouse BSSLocal classifier to identify 'lcomm' data instead of
Chris Lattner [Tue, 19 Jan 2010 04:21:20 +0000 (04:21 +0000)]
use BSSLocal classifier to identify 'lcomm' data instead of
duplicating the logic (differently) in lots of different targets.

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

14 years agomake TLOF subclassify BSS based on linkage type into private, external
Chris Lattner [Tue, 19 Jan 2010 04:15:51 +0000 (04:15 +0000)]
make TLOF subclassify BSS based on linkage type into private, external
and everything else (weak).

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

14 years agonow that elf weak bss symbols are handled correctly, simplify a bunch of code.
Chris Lattner [Tue, 19 Jan 2010 03:13:44 +0000 (03:13 +0000)]
now that elf weak bss symbols are handled correctly, simplify a bunch of code.

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

14 years agofix a significant difference between llvm and gcc on ELF systems:
Chris Lattner [Tue, 19 Jan 2010 03:06:01 +0000 (03:06 +0000)]
fix a significant difference between llvm and gcc on ELF systems:
GCC would put weak zero initialized mutable data in the .bss section,
we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits'
section.  Fixing this will allow simplifications next up.

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

14 years agointroduce a section kind for common linkage. Use this to slightly
Chris Lattner [Tue, 19 Jan 2010 02:48:26 +0000 (02:48 +0000)]
introduce a section kind for common linkage.  Use this to slightly
simplify and commonize some of the asmprinter logic for globals.

This also avoids printing the MCSection for .zerofill, which broke
the llvm-gcc build.

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

14 years agothere is no need to emit a .section above .comm on linux.
Chris Lattner [Tue, 19 Jan 2010 02:46:56 +0000 (02:46 +0000)]
there is no need to emit a .section above .comm on linux.

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

14 years agoEven more explanation.
Bill Wendling [Tue, 19 Jan 2010 02:44:01 +0000 (02:44 +0000)]
Even more explanation.

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

14 years agochange an accessor to a predicate.
Chris Lattner [Tue, 19 Jan 2010 02:13:06 +0000 (02:13 +0000)]
change an accessor to a predicate.

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

14 years agoCleanup handling of .zerofill on darwin:
Chris Lattner [Tue, 19 Jan 2010 02:09:44 +0000 (02:09 +0000)]
Cleanup handling of .zerofill on darwin:

1. TargetLoweringObjectFileMachO should decide if something
   goes in zerofill instead of having every target do it.
2. TargetLoweringObjectFileMachO should assign said symbols to
   the right MCSection, the asmprinters should just emit to the
   right section.
3. Since all zerofill stuff goes through mcstreamer anymore,
   MAI can have a bool "haszerofill" instead of having the textual
   directive to emit.

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

14 years agoRemove this fixme, looking at the linker source, all targets pad to 4 bytes.
Nate Begeman [Tue, 19 Jan 2010 01:32:44 +0000 (01:32 +0000)]
Remove this fixme, looking at the linker source, all targets pad to 4 bytes.

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

14 years agoremove extraneous ;
Chris Lattner [Tue, 19 Jan 2010 01:28:09 +0000 (01:28 +0000)]
remove extraneous ;

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

14 years agoRevert accident check-in from r93165.
Devang Patel [Tue, 19 Jan 2010 01:26:02 +0000 (01:26 +0000)]
Revert accident check-in from r93165.

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

14 years agoFix comment.
Eric Christopher [Tue, 19 Jan 2010 01:20:15 +0000 (01:20 +0000)]
Fix comment.

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

14 years agoFix r93758. Use isel patterns instead of c++ selection code to select rbit and make...
Evan Cheng [Tue, 19 Jan 2010 00:44:15 +0000 (00:44 +0000)]
Fix r93758. Use isel patterns instead of c++ selection code to select rbit and make sure we pick different instructions for ARM vs. Thumb2.

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

14 years agoTest case for r93758.
Evan Cheng [Tue, 19 Jan 2010 00:35:20 +0000 (00:35 +0000)]
Test case for r93758.

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

14 years agoReverting.
Dale Johannesen [Tue, 19 Jan 2010 00:12:05 +0000 (00:12 +0000)]
Reverting.

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

14 years agoRevert 93811 per request.
Dale Johannesen [Tue, 19 Jan 2010 00:10:52 +0000 (00:10 +0000)]
Revert 93811 per request.

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

14 years agoEnable code to emit dbg.declare as DEBUG_VALUE
Dale Johannesen [Mon, 18 Jan 2010 23:34:55 +0000 (23:34 +0000)]
Enable code to emit dbg.declare as DEBUG_VALUE
comments (fast isel, X86).  This doesn't seem
to break any functionality, but will introduce
cases where -g affects the generated code.  I'll
be fixing that.

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

14 years agoAdd comment that MDNode::getFunction() is not to be used by performance-critical...
Victor Hernandez [Mon, 18 Jan 2010 22:55:08 +0000 (22:55 +0000)]
Add comment that MDNode::getFunction() is not to be used by performance-critical code (currently only used by AsmWriter)

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

14 years agoMake opt -O3 act more like clang -O3 etc., by making the inlining thresholds
Eli Friedman [Mon, 18 Jan 2010 22:38:31 +0000 (22:38 +0000)]
Make opt -O3 act more like clang -O3 etc., by making the inlining thresholds
match.

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

14 years agoAdd some potentially interesting transformations to README.
Eli Friedman [Mon, 18 Jan 2010 22:36:59 +0000 (22:36 +0000)]
Add some potentially interesting transformations to README.

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

14 years ago- Add getLSDAEncoding to the PowerPC backend.
Bill Wendling [Mon, 18 Jan 2010 22:36:35 +0000 (22:36 +0000)]
- Add getLSDAEncoding to the PowerPC backend.
- Greatly improve the comments to the getLSDAEncoding method.

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

14 years agomake llvm-config more portable to windows versions of perl,
Chris Lattner [Mon, 18 Jan 2010 22:27:43 +0000 (22:27 +0000)]
make llvm-config more portable to windows versions of perl,
patch by Michael Beck!

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

14 years agomy instcombine transformations to make extension elimination more
Chris Lattner [Mon, 18 Jan 2010 22:19:16 +0000 (22:19 +0000)]
my instcombine transformations to make extension elimination more
aggressive changed the canonical form from sext(trunc(x)) to ashr(lshr(x)),
make sure to transform a couple more things into that canonical form,
and catch a case where we missed turning zext/shl/ashr into a single sext.

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

14 years agoAdded a newline at the end of SMLoc.h
Sean Callanan [Mon, 18 Jan 2010 22:16:54 +0000 (22:16 +0000)]
Added a newline at the end of SMLoc.h

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

14 years agoChanged the comment in the file header for SMLoc
Sean Callanan [Mon, 18 Jan 2010 22:11:34 +0000 (22:11 +0000)]
Changed the comment in the file header for SMLoc
to something more accurate.

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

14 years agoHave FastISel handle llvm.trap().
Eric Christopher [Mon, 18 Jan 2010 22:11:29 +0000 (22:11 +0000)]
Have FastISel handle llvm.trap().

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

14 years agoSplit SMLoc out in its own header so that it can
Sean Callanan [Mon, 18 Jan 2010 22:07:51 +0000 (22:07 +0000)]
Split SMLoc out in its own header so that it can
be used independently of SourceMgr.

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

14 years agoMinor cleanup for jump table printing. Need a reference, not a pointer, for
Jim Grosbach [Mon, 18 Jan 2010 22:01:39 +0000 (22:01 +0000)]
Minor cleanup for jump table printing. Need a reference, not a pointer, for
printing via <<. Otherwise we just print the pointer value.

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

14 years agofilecheckize this.
Chris Lattner [Mon, 18 Jan 2010 22:00:46 +0000 (22:00 +0000)]
filecheckize this.

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

14 years agofilecheckize
Chris Lattner [Mon, 18 Jan 2010 21:58:32 +0000 (21:58 +0000)]
filecheckize

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

14 years agoremove a redundant test, filecheckize another.
Chris Lattner [Mon, 18 Jan 2010 21:55:43 +0000 (21:55 +0000)]
remove a redundant test, filecheckize another.

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

14 years agoCanonicalize -1 - x to ~x.
Evan Cheng [Mon, 18 Jan 2010 21:38:44 +0000 (21:38 +0000)]
Canonicalize -1 - x to ~x.

Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore:
  %t1 = sub i32 0, %a
  %t2 = add i32 %t1, -1
The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A
will fold it to -1 - %a.

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

14 years agoupdate mkpatch, patch by Garrison Venn!
Chris Lattner [Mon, 18 Jan 2010 21:09:05 +0000 (21:09 +0000)]
update mkpatch, patch by Garrison Venn!

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

14 years agoMake findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts array
Victor Hernandez [Mon, 18 Jan 2010 20:42:09 +0000 (20:42 +0000)]
Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts array

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

14 years agoSimplify MDNode::getFunction() and assertLocalFunction() by avoiding extra Function...
Victor Hernandez [Mon, 18 Jan 2010 20:36:54 +0000 (20:36 +0000)]
Simplify MDNode::getFunction() and assertLocalFunction() by avoiding extra Function* variable and smallptrset since function-local metadata cannot be cyclic

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

14 years agoThe most significant encoding bit of GPR:$src or GPR:$dst was over-specified in
Johnny Chen [Mon, 18 Jan 2010 20:15:56 +0000 (20:15 +0000)]
The most significant encoding bit of GPR:$src or GPR:$dst was over-specified in
the various MOV (register) instructions (16-bit Thumb), including tBRIND (the
indirect branch).  Instead of '1', it should be specified as '?', because GPR
only specifies the register class, which includes both hi-and-lo registers.

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

14 years agoPatch by David Conrad:
Jim Grosbach [Mon, 18 Jan 2010 19:58:49 +0000 (19:58 +0000)]
Patch by David Conrad:

"On ARMv6T2 this turns cttz into rbit, clz instead of the 4 instruction
 sequence it is now."

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

14 years agoWhile mapping llvm.dbg.declare intrinsic manually map its operand, if possible,
Devang Patel [Mon, 18 Jan 2010 19:52:14 +0000 (19:52 +0000)]
While mapping llvm.dbg.declare intrinsic manually map its operand, if possible,
because it points to an alloca instruction through metadata.

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

14 years agoreject some invalid IR. We already assert and reject this from the
Chris Lattner [Mon, 18 Jan 2010 19:50:32 +0000 (19:50 +0000)]
reject some invalid IR.  We already assert and reject this from the
.ll parser, but PR6070 wants it in the verifier too.

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

14 years agoAdd FIXME comment.
Bill Wendling [Mon, 18 Jan 2010 19:47:53 +0000 (19:47 +0000)]
Add FIXME comment.

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

14 years ago- Add a comment to the callback indicating that it's *extremely* not a good
Bill Wendling [Mon, 18 Jan 2010 19:36:27 +0000 (19:36 +0000)]
- Add a comment to the callback indicating that it's *extremely* not a good
  idea, but unfortunately necessary.
- Default to using 4-bytes for the LSDA pointer encoding to agree with the
  encoded value in the CIE.

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

14 years agoMake printing of metadata more robust when function is not found (which is the normal...
Victor Hernandez [Mon, 18 Jan 2010 19:15:57 +0000 (19:15 +0000)]
Make printing of metadata more robust when function is not found (which is the normal situation for non function-local metadata)

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

14 years agoDon't try to build compiler-rt if it happens to be checked out into projects/
Daniel Dunbar [Mon, 18 Jan 2010 17:52:28 +0000 (17:52 +0000)]
Don't try to build compiler-rt if it happens to be checked out into projects/

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

14 years agoUnnamed symbol index should be >= 1. This was lost during the mangler refactoring...
Benjamin Kramer [Mon, 18 Jan 2010 14:39:20 +0000 (14:39 +0000)]
Unnamed symbol index should be >= 1. This was lost during the mangler refactoring.  Fixes PR6067.

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

14 years agoFix refacto reported by Nicolas Geoffray.
Benjamin Kramer [Mon, 18 Jan 2010 12:40:05 +0000 (12:40 +0000)]
Fix refacto reported by Nicolas Geoffray.

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

14 years agoEmit spaces after commas in Neon register lists. This is more consistent
Bob Wilson [Mon, 18 Jan 2010 01:24:43 +0000 (01:24 +0000)]
Emit spaces after commas in Neon register lists.  This is more consistent
with the rest of the assembly output, is easier to read, and matches the
expected output for gcc's Neon tests.

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

14 years agoswitch x86 zerofill emission over to use MCStreamer.
Chris Lattner [Mon, 18 Jan 2010 01:21:08 +0000 (01:21 +0000)]
switch x86 zerofill emission over to use MCStreamer.

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

14 years agoChange CurrentFnSym to be a non-const pointer since asmprinter mutates it
Chris Lattner [Mon, 18 Jan 2010 00:59:24 +0000 (00:59 +0000)]
Change CurrentFnSym to be a non-const pointer since asmprinter mutates it
as it emits code.  Switch .globl directives to use OutStreamer instead of
doing it textually (in x86)

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

14 years agoremove the MAI argument to MCExpr::print and switch overthing to use << when printing...
Chris Lattner [Mon, 18 Jan 2010 00:37:40 +0000 (00:37 +0000)]
remove the MAI argument to MCExpr::print and switch overthing to use << when printing them.

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

14 years agounbreak x86 jump tables with my previous patch.
Chris Lattner [Mon, 18 Jan 2010 00:21:06 +0000 (00:21 +0000)]
unbreak x86 jump tables with my previous patch.

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

14 years agonow that MCSymbol::print doesn't use it's MAI argument, we can
Chris Lattner [Sun, 17 Jan 2010 21:43:43 +0000 (21:43 +0000)]
now that MCSymbol::print doesn't use it's MAI argument, we can
remove it and change all the code that prints MCSymbols to use
<< instead, which is much simpler and cleaner.

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

14 years agorename NameNeedsEscaping -> NameNeedsQuoting, eliminate the check
Chris Lattner [Sun, 17 Jan 2010 20:11:03 +0000 (20:11 +0000)]
rename NameNeedsEscaping -> NameNeedsQuoting, eliminate the check
for first character which is a digit, mangler would have taken care
of this already.

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

14 years agoConvert some of the dynamic opcode lookups into static ones.
Owen Anderson [Sun, 17 Jan 2010 19:33:27 +0000 (19:33 +0000)]
Convert some of the dynamic opcode lookups into static ones.

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

14 years agostop the CBE from using Mangler::appendMangledName, which is a private function,...
Chris Lattner [Sun, 17 Jan 2010 19:32:29 +0000 (19:32 +0000)]
stop the CBE from using Mangler::appendMangledName, which is a private function, it is mangling types, which don't matter how they are done.

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

14 years agofix uninit member, thanks to Benjamin Kramer for identifying the bug.
Chris Lattner [Sun, 17 Jan 2010 19:24:35 +0000 (19:24 +0000)]
fix uninit member, thanks to Benjamin Kramer for identifying the bug.

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

14 years agoGet MCSymbol out of the mangling business, and move all the logic
Chris Lattner [Sun, 17 Jan 2010 19:23:46 +0000 (19:23 +0000)]
Get MCSymbol out of the mangling business, and move all the logic
to Mangler.  Now MCSymbol just decides whether to slap quotes around
a symbol when printing it.

This also fixes some weirdness where two MCSymbols could be created
for the same symbol, if one needed to be mangled and got mangled to
the other one.

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

14 years agoReally fix this. I checked that on ARM I get
Rafael Espindola [Sun, 17 Jan 2010 19:20:45 +0000 (19:20 +0000)]
Really fix this. I checked that on ARM I get

PASS: LLVM::FrontendC/pr5406.c (3463 of 5030)

and on X86 I get

XFAIL: LLVM::FrontendC/pr5406.c (3465 of 5030

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

14 years agoreduce this test and convert to filecheck, hopefully the linux buildbot
Chris Lattner [Sun, 17 Jan 2010 19:09:12 +0000 (19:09 +0000)]
reduce this test and convert to filecheck, hopefully the linux buildbot
will tell me something more useful.

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

14 years agofactor this code better how that the string version of getNameWithPrefix
Chris Lattner [Sun, 17 Jan 2010 18:52:16 +0000 (18:52 +0000)]
factor this code better how that the string version of getNameWithPrefix
takes a twine.

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

14 years agonow that mangler is in libtarget, it can use MCAsmInfo instead of clients
Chris Lattner [Sun, 17 Jan 2010 18:22:35 +0000 (18:22 +0000)]
now that mangler is in libtarget, it can use MCAsmInfo instead of clients
having to pass various fields from it in.  Simplify.

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

14 years agoDon't create a (empty) output file, and don't warn about bitcode output
Dan Gohman [Sun, 17 Jan 2010 17:47:24 +0000 (17:47 +0000)]
Don't create a (empty) output file, and don't warn about bitcode output
to a console, when --analyze is used.

Similarly, avoid creating an empty output file when --disable-output is used.

Print a warning when the -o option appears with either --analyze or
--disable-output, to indicate that the option is being ignored.

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

14 years agoSwitch some functions to take Twines, eliminate uses of StringExtras.h.
Benjamin Kramer [Sun, 17 Jan 2010 07:46:39 +0000 (07:46 +0000)]
Switch some functions to take Twines, eliminate uses of StringExtras.h.

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

14 years agoFix comment.
Owen Anderson [Sun, 17 Jan 2010 06:49:03 +0000 (06:49 +0000)]
Fix comment.

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

14 years agoThe Neon "vtst" instruction takes a suffix that is the element size alone --
Bob Wilson [Sun, 17 Jan 2010 06:35:17 +0000 (06:35 +0000)]
The Neon "vtst" instruction takes a suffix that is the element size alone --
adding an "i" to the suffix, indicating that the elements are integers, is
accepted but not part of the standard syntax.  This helps us pass a few more
of the Neon tests from gcc.

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

14 years agoFix an off-by-one error that caused the chain operand to be dropped from Neon
Bob Wilson [Sun, 17 Jan 2010 05:58:23 +0000 (05:58 +0000)]
Fix an off-by-one error that caused the chain operand to be dropped from Neon
vector load-lane and store-lane instructions.

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

14 years agoLooks like XFAIL has to list every unsupported arch
Rafael Espindola [Sun, 17 Jan 2010 05:40:41 +0000 (05:40 +0000)]
Looks like XFAIL has to list every unsupported arch

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

14 years agoAdd test for pr5406
Rafael Espindola [Sun, 17 Jan 2010 04:44:55 +0000 (04:44 +0000)]
Add test for pr5406

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

14 years agoAdd a note for the macho streamer and remove a used of the mangler from the soon...
Nate Begeman [Sun, 17 Jan 2010 03:49:01 +0000 (03:49 +0000)]
Add a note for the macho streamer and remove a used of the mangler from the soon to be defunct machowriter pass.

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

14 years agoReduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll to
Bill Wendling [Sun, 17 Jan 2010 00:21:21 +0000 (00:21 +0000)]
Reduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll to
fsub.ll and FileCheckify it.

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

14 years agoWhen checking for sret-demotion, it needs to use legal types. When using the return...
Kenneth Uildriks [Sat, 16 Jan 2010 23:37:33 +0000 (23:37 +0000)]
When checking for sret-demotion, it needs to use legal types.  When using the return value of an sret-demoted call, it needs to use possibly illegal types that match the declared Type of the callee.

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

14 years agoUpdate CMake files for Mangler move.
Benjamin Kramer [Sat, 16 Jan 2010 22:23:09 +0000 (22:23 +0000)]
Update CMake files for Mangler move.

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

14 years agomove the mangler into libtarget from vmcore.
Chris Lattner [Sat, 16 Jan 2010 21:57:06 +0000 (21:57 +0000)]
move the mangler into libtarget from vmcore.

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

14 years agofix a warning.
Chris Lattner [Sat, 16 Jan 2010 21:55:24 +0000 (21:55 +0000)]
fix a warning.

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

14 years agothis doesn't need to suck in Mangler.
Chris Lattner [Sat, 16 Jan 2010 21:35:09 +0000 (21:35 +0000)]
this doesn't need to suck in Mangler.

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

14 years agoremove obsolete comment.
Chris Lattner [Sat, 16 Jan 2010 21:34:51 +0000 (21:34 +0000)]
remove obsolete comment.

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

14 years agobugpoint doesn't need the mangler at all. DisambiguateGlobalSymbols
Chris Lattner [Sat, 16 Jan 2010 21:34:01 +0000 (21:34 +0000)]
bugpoint doesn't need the mangler at all.  DisambiguateGlobalSymbols
dates to a time when two different LLVM values could have the same
name but different types.  Simplify it to just assign names to unnamed
things and let the core symtab resolve duplicates.

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

14 years agoadd a thing to investigate.
Chris Lattner [Sat, 16 Jan 2010 21:25:13 +0000 (21:25 +0000)]
add a thing to investigate.

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

14 years agoremove calls to dead methods.
Chris Lattner [Sat, 16 Jan 2010 21:20:34 +0000 (21:20 +0000)]
remove calls to dead methods.

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

14 years agoreapply the mangler gutting patch.
Chris Lattner [Sat, 16 Jan 2010 21:08:46 +0000 (21:08 +0000)]
reapply the mangler gutting patch.

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

14 years agoremove use of getMangledName.
Chris Lattner [Sat, 16 Jan 2010 20:56:05 +0000 (20:56 +0000)]
remove use of getMangledName.

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

14 years agounbreak the build.
Chris Lattner [Sat, 16 Jan 2010 20:53:11 +0000 (20:53 +0000)]
unbreak the build.

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

14 years agoRevert 93648.
Rafael Espindola [Sat, 16 Jan 2010 20:27:59 +0000 (20:27 +0000)]
Revert 93648.
Mangler::getMangledName is used from lto
Mangler::setUseQuotes is used in the AsmPrinter
Mangler::setSymbolsCanStartWithDigit is used in the AsmPrinter

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

14 years agoMangler::getMangledName is now dead, remove it and all the other stuff in Mangler...
Chris Lattner [Sat, 16 Jan 2010 19:08:51 +0000 (19:08 +0000)]
Mangler::getMangledName is now dead, remove it and all the other stuff in Mangler that is now transitively dead.  woo.

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

14 years agoChange DIEObjectLabel to take an MCSymbol instead of std::string.
Chris Lattner [Sat, 16 Jan 2010 18:50:28 +0000 (18:50 +0000)]
Change DIEObjectLabel to take an MCSymbol instead of std::string.

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

14 years agorename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,
Chris Lattner [Sat, 16 Jan 2010 18:37:32 +0000 (18:37 +0000)]
rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,
and add an explicit ForcePrivate argument.

Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.

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

14 years agoeliminate uses of getMangledName from AsmPrinter.cpp, last up is
Chris Lattner [Sat, 16 Jan 2010 18:17:26 +0000 (18:17 +0000)]
eliminate uses of getMangledName from AsmPrinter.cpp, last up is
dwarf emission which is going to be more invasive.

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