1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

48440 Commits

Author SHA1 Message Date
Chris Lattner
151877b93e convert arm/darwin stubs to use the mangler to synthesize all the names instead of
doing it with printSuffixedName.

llvm-svn: 75741
2009-07-15 04:41:01 +00:00
Daniel Dunbar
cc2e2f1506 Add new TargetRegistry.
Targets implement a single global Target structure which will live in a new
<Target>/TargetInfo library; this will be present in any image which the target
is usable in.
 - Optional target specific classes can then be registered and attached to the
   Target description.

 - Registration for normal Targets will be done via the initialization functions
   instead of using static constructors.

 - This allows clients to use a single interface to obtain target data, without
   requiring the code generator be linked in. It also provides a natural
   extension point for adding new optional target data (assembler parser,
   disassembler, etc.).

 - This also provides a new entry point for obtaining a target for a particular
   triple (without a module).

 - Not yet used, however this should eventually replace the TargetMachineRegistry.

llvm-svn: 75739
2009-07-15 04:24:58 +00:00
Chris Lattner
499fe29f12 fix an arm codegen bug (the same as PR4482 on ppc) where available_externally
symbols were not getting stubs.  While I'm at it, add a big testcase for
stub generation to make sure I don't break anything.

llvm-svn: 75737
2009-07-15 04:12:33 +00:00
Chris Lattner
dd01e838c8 convert [Hidden]GVNonLazyPtrs to compute the global and stub names
with the mangler (like x86 and ppc), instead of going through 
printSuffixedName.

llvm-svn: 75736
2009-07-15 03:12:43 +00:00
Chris Lattner
e65cf5546b use makeNameProper to add the globalprefix instead of doing it manually.
llvm-svn: 75734
2009-07-15 03:01:23 +00:00
Chris Lattner
0c13774a29 get the PPC stub temporary label from the mangler instead of
using horrible string hacking.  This gives us a different label,
but it's just an assembler temporary, so the name doesn't matter.

llvm-svn: 75733
2009-07-15 02:56:53 +00:00
Chris Lattner
0b4dc240bd turn some if/then's into ?:
llvm-svn: 75732
2009-07-15 02:36:21 +00:00
Chris Lattner
34f25a514f eliminate a bunch of printSuffixedName's by using info computed from
Mangler in FnStubs.

llvm-svn: 75731
2009-07-15 02:33:19 +00:00
Chris Lattner
5c6ad7d426 convert FnStubs to using a more structured form, eliminating
a couple instances of printSuffixedName (in favor of having
the mangler do stuff).

llvm-svn: 75729
2009-07-15 02:28:57 +00:00
Chris Lattner
4fd9c770a6 actually $stub labels *are* private, I just missed that
printSuffixedName automatically does this.

llvm-svn: 75727
2009-07-15 01:53:36 +00:00
Chris Lattner
1c4b831cb2 convert this to filecheck style and make it a test of darwin/PPC's
extremely elaborate pic/nopic stubs.

llvm-svn: 75726
2009-07-15 01:43:31 +00:00
Chris Lattner
6f7ab678c9 simplify this test to test the esentials.
llvm-svn: 75725
2009-07-15 01:32:33 +00:00
Ryan Flynn
39eadb4ce5 test commit; add self
llvm-svn: 75724
2009-07-15 01:32:31 +00:00
Dan Gohman
6cc9cb6dc4 Fix indentation.
llvm-svn: 75723
2009-07-15 01:26:32 +00:00
Dan Gohman
81885d5b80 Make makeLoopInvariant report whether it made any changes or not,
and use this to simplify more code.

llvm-svn: 75722
2009-07-15 01:25:43 +00:00
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
Dan Gohman
1e946cc1a7 llvm-c/Core.h is no longer needed in lto.h, and it brings in
several unwanted dependencies.

llvm-svn: 75717
2009-07-15 00:47:00 +00:00
Chris Lattner
32757b2838 Fix a fixme, patch by Ryan Flynn!
llvm-svn: 75716
2009-07-15 00:36:04 +00:00
Evan Cheng
ec2df6b4f5 control reaches end of non-void function.
llvm-svn: 75714
2009-07-14 23:55:32 +00:00
Kevin Enderby
3e47cf1dda Added llvm-mc support for parsing the .include directive.
llvm-svn: 75711
2009-07-14 23:21:55 +00:00
Chris Lattner
0d3021c94c minor syntax cleanup
llvm-svn: 75707
2009-07-14 23:14:10 +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
Kevin Enderby
5821cee99b Added llvm-mc support for parsing the .lsym directive.
llvm-svn: 75685
2009-07-14 21:35:03 +00:00
David Goodwin
0d1423fb22 Check for PRE_INC and POST_INC.
llvm-svn: 75683
2009-07-14 21:29:29 +00:00
Dan Gohman
5329511fae Fix the expansion of umax and smax in the case where one or more of
the operands have pointer type, so that the resulting type matches
the original SCEV type, and so that unnecessary ptrtoints are
avoided in common cases.

llvm-svn: 75680
2009-07-14 20:57:04 +00:00
Chris Lattner
5a0869d540 fix a bug in my previous patch.
llvm-svn: 75678
2009-07-14 20:45:41 +00:00
Ted Kremenek
094e45cef0 Update CMake file.
llvm-svn: 75677
2009-07-14 20:44:17 +00:00
Chris Lattner
fed67048dc allow default construction of formatted_raw_ostream.
llvm-svn: 75674
2009-07-14 20:33:33 +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
Viktor Kutuzov
2c816caea3 Helper script to use bugpoint with a remote target.
llvm-svn: 75669
2009-07-14 20:08:45 +00:00
Chris Lattner
9f8b22c8ff convert to filecheck style, simplify RUN line, and add comment.
llvm-svn: 75667
2009-07-14 19:49:11 +00:00
Ted Kremenek
98ad0f7632 Update CMake file.
llvm-svn: 75666
2009-07-14 19:46:07 +00:00
Viktor Kutuzov
8171eaada3 Fix for bugpoint -remote-client
llvm-svn: 75665
2009-07-14 19:10:55 +00:00
Chris Lattner
a62bc404fd Remove some dead functions, patch by Ryan Flynn!
llvm-svn: 75664
2009-07-14 18:58:35 +00:00
Chris Lattner
7799b65baa convert this test to filecheck style
llvm-svn: 75663
2009-07-14 18:57:40 +00:00
Dan Gohman
07b00e1036 Fix a typo that Edwin spotted.
llvm-svn: 75661
2009-07-14 18:52:00 +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
Dan Gohman
9b44481454 Add a comment clarifying the role of getPrimitiveTypeSizeInBits.
llvm-svn: 75659
2009-07-14 18:48:32 +00:00
Bob Wilson
8682c6607e Remove an extra space.
llvm-svn: 75658
2009-07-14 18:44:34 +00:00
Torok Edwin
bbccd95874 Introduce a pointertracking pass.
For now this only computes the allocated size of the memory pointed to by a
pointer, and offset a pointer from allocated pointer.
The actual checkLimits part will come later, after another round of review.

llvm-svn: 75657
2009-07-14 18:44:28 +00:00
Chris Lattner
987c69b426 Testcase for PR4556
llvm-svn: 75655
2009-07-14 18:42:24 +00:00
Bill Wendling
ee38e4e012 Mark as fall through.
llvm-svn: 75652
2009-07-14 18:30:04 +00:00