Commit Graph

12731 Commits

Author SHA1 Message Date
Chris Lattner
ffa28b64e5 factor this code better how that the string version of getNameWithPrefix
takes a twine.

llvm-svn: 93687
2010-01-17 18:52:16 +00:00
Chris Lattner
57ac0be2b5 now that mangler is in libtarget, it can use MCAsmInfo instead of clients
having to pass various fields from it in.  Simplify.

llvm-svn: 93686
2010-01-17 18:22:35 +00:00
Bob Wilson
72cf548263 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.

llvm-svn: 93677
2010-01-17 06:35:17 +00:00
Bob Wilson
b4c16ab0b3 Fix an off-by-one error that caused the chain operand to be dropped from Neon
vector load-lane and store-lane instructions.

llvm-svn: 93673
2010-01-17 05:58:23 +00:00
Benjamin Kramer
58787e4d0b Update CMake files for Mangler move.
llvm-svn: 93665
2010-01-16 22:23:09 +00:00
Chris Lattner
51e8abe640 move the mangler into libtarget from vmcore.
llvm-svn: 93664
2010-01-16 21:57:06 +00:00
Chris Lattner
31aea3db21 rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,
and add an explicit ForcePrivate argument.

Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.

llvm-svn: 93646
2010-01-16 18:37:32 +00:00
Devang Patel
3bbca51dcd Replace DebugLocTuple with DILocation.
llvm-svn: 93630
2010-01-16 06:09:35 +00:00
Chris Lattner
e4a8737985 fix build failure.
llvm-svn: 93628
2010-01-16 03:38:27 +00:00
Chris Lattner
a00f220023 remove a couple of actively incorrect uses of getMangledName.
llvm-svn: 93627
2010-01-16 02:16:09 +00:00
Chris Lattner
33ba751c32 this doesn't need the mangler.
llvm-svn: 93626
2010-01-16 02:15:38 +00:00
Chris Lattner
8955452658 more string -> sym, getMangledName is now gone from this file.
llvm-svn: 93624
2010-01-16 02:09:06 +00:00
Chris Lattner
1ca411ee68 use symbols instead of strings, eliminating a bunch of getMangledName
calls.  Add FIXMEs about a bunch of nondeterminism in stub output.

llvm-svn: 93621
2010-01-16 02:00:23 +00:00
Chris Lattner
f227cb9fe7 simplify some code.
llvm-svn: 93619
2010-01-16 01:45:47 +00:00
Bill Wendling
d78fcdd332 Retrying r91337:
The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE for some platforms. Allow
individual platforms to decide for themselves.

llvm-svn: 93616
2010-01-16 01:40:55 +00:00
Chris Lattner
ea72cfbd42 eliminate uses of mangler and simplify code.
llvm-svn: 93615
2010-01-16 01:40:07 +00:00
Chris Lattner
bda0bbf7f9 get pic16 off CurrentFnName
llvm-svn: 93610
2010-01-16 01:21:04 +00:00
Chris Lattner
bb21a20f24 remove the string form of printVisibility.
llvm-svn: 93609
2010-01-16 01:17:26 +00:00
Chris Lattner
ef45b87192 switch more stuff onto MCSymbols
llvm-svn: 93608
2010-01-16 01:12:01 +00:00
Chris Lattner
ff1a508835 eliminate uses of deprecated mangler apis
llvm-svn: 93605
2010-01-16 01:00:27 +00:00
Chris Lattner
cbe9fe90bd switch X86 target off CurFunctionName and MCIze more.
Note that the code wasn't calling DecorateCygMingName
when emitting the ".ascii -export" stuff at the end of
file for DLLExported functions.  I don't know if it should
or not, but I'm preserving behavior.

llvm-svn: 93603
2010-01-16 00:51:39 +00:00
Chris Lattner
0bb1df70ef MCize tis, and make it keep CurrentFnSym up to date with CurrentFnName.
llvm-svn: 93598
2010-01-16 00:32:38 +00:00
Chris Lattner
e76d575ca2 revert the x86 part of my last patch, cygwin is mutating CurrentFnName!
llvm-svn: 93595
2010-01-16 00:24:20 +00:00
Chris Lattner
40eb58664f MCize a bunch more stuff, eliminating a lot of uses of the mangler
and CurrentFnName.

llvm-svn: 93594
2010-01-16 00:21:18 +00:00
Chris Lattner
9103a49143 remove two write-only sets.
llvm-svn: 93590
2010-01-15 23:56:03 +00:00
Chris Lattner
b1b91d11db supplement CurrentFnName with CurrentFnSym, which will eventually
replace it.  Upgrade Alpha, Blackfin, and part of CellSPU to not
use mangler anymore.  CellSPU needs more invasive surgery.

llvm-svn: 93589
2010-01-15 23:55:16 +00:00
Chris Lattner
5f4c482b72 add a version of AsmPrinter::printVisibility that takes an MCSymbol.
llvm-svn: 93587
2010-01-15 23:38:51 +00:00
Chris Lattner
8511f8cc1e use MCSymbol instead of getMangledName() in all cases except one.
llvm-svn: 93582
2010-01-15 23:31:55 +00:00
Dale Johannesen
9f30926cb7 Adjust some comments per review.
llvm-svn: 93580
2010-01-15 23:29:29 +00:00
Chris Lattner
000ca8fe0c mc'ize a bunch of symbol stuff, eliminating std::strings.
llvm-svn: 93578
2010-01-15 23:26:49 +00:00
David Greene
e52529d7cb Fix PR6019. A load has more than one use if it feeds a bitconvert that
has more than one use.

llvm-svn: 93576
2010-01-15 23:23:41 +00:00
Chris Lattner
ea4d444561 add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
helper method, use it to simplify some code.

llvm-svn: 93575
2010-01-15 23:18:17 +00:00
Ted Kremenek
89fb514857 Update CMake build.
llvm-svn: 93570
2010-01-15 22:59:11 +00:00
Dale Johannesen
7a3b1c5ffc DEBUG_VALUE is now variable sized, as it has a
target-dependent memory address representation in it.
Restore X86 printing of DEBUG_VALUE; lowering is
done in X86RegisterInfo using the normal algorithm.

llvm-svn: 93565
2010-01-15 22:22:35 +00:00
Jim Grosbach
5a66487dfd Update Thumb1 storeRegToStackSlot() and loadRegFromStackSlot() to properly
handle physical registers R0-R7 when described as having a non-tGPR register
class.

llvm-svn: 93564
2010-01-15 22:21:03 +00:00
Dan Gohman
7b9900094e Fix a typo that Anton noticed.
llvm-svn: 93563
2010-01-15 22:18:15 +00:00
Eric Christopher
3c5d9dc0e3 Remove the InlineHint attribute. There are no current or planned
users.

llvm-svn: 93558
2010-01-15 21:36:30 +00:00
Anton Korobeynikov
8d5197ab8a zext / truncate is free on msp430. Inform codegen about this.
llvm-svn: 93556
2010-01-15 21:19:43 +00:00
Anton Korobeynikov
f1080f2bbe Add branch relaxation pass (shamelessly stolen from PPC).
llvm-svn: 93554
2010-01-15 21:19:05 +00:00
Anton Korobeynikov
75c93b4ec3 Provide instruction sizes & encoding. No opcodes yet (but not needed so far).
llvm-svn: 93553
2010-01-15 21:18:39 +00:00
Anton Korobeynikov
719dd1465f Enable bit tests and setcc stuff.
llvm-svn: 93552
2010-01-15 21:18:18 +00:00
Anton Korobeynikov
aaed919671 Add micro-optimization which allows us to fold imm into cmp. This allows us to save 1 word (sometimes) and reduce register pressure.
llvm-svn: 93551
2010-01-15 21:18:02 +00:00
Anton Korobeynikov
0ca5fcdfaa Add instruction formats & support stuff
llvm-svn: 93550
2010-01-15 21:17:13 +00:00
Chris Lattner
d6b351119b fix a bug in range information for $42, eliminate an
unneeded argument from ParseExpression.

llvm-svn: 93536
2010-01-15 19:39:23 +00:00
Chris Lattner
e18762283a add range information for mem X86Operand's, now all
X86Operand's have range info.

llvm-svn: 93535
2010-01-15 19:33:43 +00:00
Chris Lattner
836cf5d129 extend MCAsmParser::ParseExpression and ParseParenExpression
to return range information for subexpressions.  Use this to
provide range info for several new X86Operands.

llvm-svn: 93534
2010-01-15 19:28:38 +00:00
Chris Lattner
fba7cf4b44 give X86Operand a ctor and start passing SMLoc's into it.
llvm-svn: 93532
2010-01-15 19:06:59 +00:00
Dale Johannesen
e3562c3fa2 Revert 93499. After discussion with Chris we agreed
FrameIndexes should be lowered, but the same way as
everything else (target dependent) rather than in a
special hacked way.  The lowering needs to be done
for eventual purposes of Dwarf generation.

llvm-svn: 93530
2010-01-15 18:58:14 +00:00
Chris Lattner
618f75b46e add range location info for registers, change
X86Operand::Create* implementations to avoid
copy ctor use.

llvm-svn: 93528
2010-01-15 18:51:29 +00:00
Chris Lattner
5d30d26a5d clean up the memory management of the operands.
llvm-svn: 93526
2010-01-15 18:44:13 +00:00