1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

10546 Commits

Author SHA1 Message Date
Chris Lattner
84323b260d $stub references should not be private ("L") labels.
llvm-svn: 75721
2009-07-15 01:23:13 +00:00
Chris Lattner
2f7a01f535 simplify "EmitExternalGlobal": it is only used to output a
reference to the personality function for a module, and
those are all added to the GVStubs array by looping
over MMI->getPersonalities()

llvm-svn: 75720
2009-07-15 01:16:38 +00:00
Chris Lattner
b43823c79d Convert GVStubs and HiddenGVStubs to work more like the X86 backend, this
eliminates a bunch of uses of "printSuffixedName" and "getGlobalLinkName".

llvm-svn: 75719
2009-07-15 01:14:44 +00:00
Chris Lattner
441db03418 minor cleanups: only switch sections once before all function stubs, instead of
before each one.

llvm-svn: 75718
2009-07-15 00:55:58 +00:00
Owen Anderson
8c85061ee6 Move EVER MORE stuff over to LLVMContext.
llvm-svn: 75703
2009-07-14 23:09:55 +00:00
Daniel Dunbar
df466c8f3d Fix path name.
llvm-svn: 75697
2009-07-14 22:58:03 +00:00
Bruno Cardoso Lopes
9aadad68e3 Use the right relocation type for X86::MOV64ri64i32
llvm-svn: 75687
2009-07-14 21:46:40 +00:00
Bob Wilson
fe2d3828e9 Fix bad indentation and 80-col violation.
llvm-svn: 75686
2009-07-14 21:45:58 +00:00
David Goodwin
0d1423fb22 Check for PRE_INC and POST_INC.
llvm-svn: 75683
2009-07-14 21:29:29 +00:00
Chris Lattner
cd7477b173 fix David's merge conflict
llvm-svn: 75673
2009-07-14 20:25:40 +00:00
Chris Lattner
290c415b94 reapply r75408, which eliminates MOV64r0 in favor of using
MOV32r0 + subregs to do the same thing.  This should work now
that PR4544 is fixed.  Thanks Evan!

llvm-svn: 75671
2009-07-14 20:19:57 +00:00
David Greene
9c8a1b9b90 Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>.

llvm-svn: 75670
2009-07-14 20:18:05 +00:00
David Goodwin
8cd9c88760 hasThumb2() does not mean we are compiling for thumb, must also check isThumb().
llvm-svn: 75660
2009-07-14 18:48:51 +00:00
Bob Wilson
8682c6607e Remove an extra space.
llvm-svn: 75658
2009-07-14 18:44:34 +00:00
Bill Wendling
ee38e4e012 Mark as fall through.
llvm-svn: 75652
2009-07-14 18:30:04 +00:00
Chris Lattner
6ec578688d Reapply my previous asmprinter changes now with more testing and two
additional bug fixes:

1. The bug that everyone hit was a problem in the asmprinter where it
   would remove $stub but keep the L prefix on a name when emitting the
   indirect symbol.  This is easy to fix by keeping the name of the stub
   and the name of the symbol in a StringMap instead of just keeping a
   StringSet and trying to reconstruct it late.

2. There was a problem printing the personality function.  The current
   logic to print out the personality function from the DWARF information
   is a bit of a cesspool right now that duplicates a bunch of other 
   logic in the asm printer.  The short version of it is that it depends
   on emitting both the L and _ prefix for symbols (at least on darwin)
   and until I can untangle it, it is best to switch the mangler back to
   emitting both prefixes.

llvm-svn: 75646
2009-07-14 18:17:16 +00:00
Torok Edwin
f955a6ef49 llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").

llvm-svn: 75640
2009-07-14 16:55:14 +00:00
Daniel Dunbar
dbbc49bb29 Revert r7561{9,8,7,6}, which depend on r75610.
--- Reverse-merging r75619 into '.':
U    lib/Target/DarwinTargetAsmInfo.cpp
U    lib/CodeGen/AsmPrinter/AsmPrinter.cpp
--- Reverse-merging r75618 into '.':
U    lib/CodeGen/ELFWriter.cpp
U    lib/CodeGen/MachOCodeEmitter.cpp
U    lib/CodeGen/MachOWriter.cpp
--- Reverse-merging r75617 into '.':
U    lib/Target/CBackend/CBackend.cpp
--- Reverse-merging r75616 into '.':
U    tools/bugpoint/Miscompilation.cpp
U    tools/lto/LTOCodeGenerator.cpp
U    tools/lto/LTOModule.cpp

llvm-svn: 75638
2009-07-14 16:25:11 +00:00
Daniel Dunbar
84d593320b Revert r75615, which depended on 75610.
--- Reverse-merging r75615 into '.':
U    lib/Target/XCore/XCoreAsmPrinter.cpp
U    lib/Target/PIC16/PIC16AsmPrinter.cpp
U    lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
U    lib/Target/MSP430/MSP430AsmPrinter.cpp
U    lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
U    lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
U    lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
U    lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
U    lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
U    lib/Target/MSIL/MSILWriter.cpp
U    lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
U    lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp

llvm-svn: 75637
2009-07-14 16:12:13 +00:00
Daniel Dunbar
3d0c94fbbc Revert r75610 (and r75620, which was blocking the revert), in the hopes of
unbreaking llvm-gcc (on Darwin).

--- Reverse-merging r75620 into '.':
U    include/llvm/Support/Mangler.h
--- Reverse-merging r75610 into '.':
U    test/CodeGen/X86/loop-hoist.ll
G    include/llvm/Support/Mangler.h
U    lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
U    lib/VMCore/Mangler.cpp

llvm-svn: 75636
2009-07-14 15:57:55 +00:00
Torok Edwin
a73f9bdc2c eliminate extra space.
llvm-svn: 75630
2009-07-14 12:22:58 +00:00
Anton Korobeynikov
503e689e52 Add extra sign extension to the same bit width before int sign
extension to another bit width. This is needed to get correct singed value.
Patch by Artur Pietrek!

llvm-svn: 75629
2009-07-14 09:53:14 +00:00
Anton Korobeynikov
80da762d21 Add missing break. Patch by Artur Pietrek!
llvm-svn: 75628
2009-07-14 09:52:47 +00:00
Chris Lattner
b6fc9c6c54 rename getValueName -> getMangledName. These two files have very
dubious looking things that I need to investigate in more detail.

llvm-svn: 75619
2009-07-14 06:21:12 +00:00
Chris Lattner
bc4a4a1e6c rename getValueName -> getMangledName
llvm-svn: 75617
2009-07-14 06:19:21 +00:00
Chris Lattner
8aa18612e2 Rename getValueName -> getMangledName.
llvm-svn: 75615
2009-07-14 06:18:50 +00:00
Chris Lattner
b0e0d16efb Change the X86 asmprinter to use the mangler to apply suffixes like "$non_lazy_ptr"
to symbols instead of doing it with "printSuffixedName".  This gets us to the point
where there is a real separation between computing a symbol name and printing it,
something I need for MC printer stuff.

This patch also fixes a corner case bug where unnamed private globals wouldn't get
the private label prefix.

Next up, rename all uses of getValueName -> getMangledName for better greppability,
and then tackle the ppc/arm backends to eliminate "printSuffixedName".

llvm-svn: 75610
2009-07-14 06:04:35 +00:00
Evan Cheng
b8666f7abc 1. In Thumb mode, select tBx instead of ARM variants.
2. BX does not "use" the link register, it defines it.
3. Fix a couple more places in thumb td file that still uses pre-UAL syntax.

llvm-svn: 75585
2009-07-14 01:49:27 +00:00
Bill Wendling
16502fbbcc Remove hack now that Evan fixed it so that the frame pointer isn't saved twice.
llvm-svn: 75581
2009-07-14 01:16:18 +00:00
Chris Lattner
774d30003c use getValueName instead of makeNameProper.
llvm-svn: 75577
2009-07-14 01:01:12 +00:00
David Goodwin
88f38c0380 Fix detection of valid BFC immediates.
llvm-svn: 75576
2009-07-14 00:57:56 +00:00
Bob Wilson
a8d7dde3ce Fix an obvious copy-and-paste error.
llvm-svn: 75566
2009-07-14 00:23:44 +00:00
Bob Wilson
4c76b1c7fc Revert 75309.
llvm-svn: 75562
2009-07-14 00:01:42 +00:00
Chris Lattner
2a0ba70c02 fix CBE & MSIL backends to not use the mangler for non-global symbols.
llvm-svn: 75556
2009-07-13 23:46:46 +00:00
Chris Lattner
85170a73c8 don't print redundant @PLT suffixes
llvm-svn: 75554
2009-07-13 23:44:13 +00:00
Chris Lattner
6ace4d4863 clean up some syntax.
llvm-svn: 75532
2009-07-13 22:28:21 +00:00
Owen Anderson
3501454313 These don't really need contexts either.
llvm-svn: 75528
2009-07-13 22:18:28 +00:00
Chris Lattner
2f4b2d3ea3 eliminate a bunch of code in print_pcrel_imm for printing symbols, using
printSymbolOperand instead.

llvm-svn: 75526
2009-07-13 22:07:30 +00:00
Chris Lattner
734c817d24 move a method and add a comment, no functionality change.
llvm-svn: 75520
2009-07-13 21:53:19 +00:00
Chris Lattner
1c9a2afaa9 refactor operand printing to remove hte last of the "mem" modifier hack. The
only remaining modifier is "subreg".

llvm-svn: 75516
2009-07-13 21:48:33 +00:00
David Goodwin
9634e3ff8f Fix FP elimination code to work for Thumb-2 addrmode AddrModeT2_so. This fixes SingleSource/Benchmarks/Stanford/Queens (among others).
llvm-svn: 75513
2009-07-13 21:43:08 +00:00
Chris Lattner
575e7ab711 refactor symbol printing so the whole "mem" thing is handled in fewer places.
llvm-svn: 75512
2009-07-13 21:41:08 +00:00
Owen Anderson
7b2ee7dc21 As Chris pointed out, this doesn't actually need an LLVMContext to operate.
llvm-svn: 75508
2009-07-13 21:27:19 +00:00
Owen Anderson
1e5155161a Move more functionality over to LLVMContext.
llvm-svn: 75497
2009-07-13 20:58:05 +00:00
Bill Wendling
d7ca276d9f Reverted r75484. It was causing a failure with Apple-style builds.
llvm-svn: 75491
2009-07-13 20:27:41 +00:00
David Greene
814f6a648f Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.

This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate.  It also add parameters to
TargetAsmInfo to control comment layout.

llvm-svn: 75490
2009-07-13 20:25:48 +00:00
Bill Wendling
1f26277c9b More standard way of specifying greater than Leopard.
llvm-svn: 75488
2009-07-13 20:18:43 +00:00
Bill Wendling
4ef26e9b22 On greater than Leopard systems, place exception tables in the __TEXT section.
llvm-svn: 75484
2009-07-13 18:48:39 +00:00
Bob Wilson
e0478ff8e5 Fix comment typos.
llvm-svn: 75479
2009-07-13 18:11:36 +00:00
Owen Anderson
393d8b0a0c Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.

llvm-svn: 75445
2009-07-13 04:09:18 +00:00