Devang Patel [Tue, 19 Jan 2010 06:09:04 +0000 (06:09 +0000)]
Avoid including DebugInfo.h in AsmPrinter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93864
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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