1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
Commit Graph

56 Commits

Author SHA1 Message Date
Daniel Dunbar
f69bd722c3 Allow multiple registrations of the same target.
- This doesn't necessarily seem like a good idea, but the JIT unittest
   currently relies on it.

llvm-svn: 75769
2009-07-15 10:32:44 +00:00
Daniel Dunbar
61ce410af9 Reimplement TargetMachineRegistry in terms of TargetRegistry.
- This is a temporary hack to aid in incremental refactoring, for now we
   allocate a new TargetMachineRegistryEntry on every getClosest... call.

 - No intended functionality change, other than the leaked memory.

llvm-svn: 75766
2009-07-15 09:53:37 +00:00
Daniel Dunbar
79a15cde61 Mark Target's creation routines as const.
llvm-svn: 75763
2009-07-15 09:38:10 +00:00
Daniel Dunbar
0e528c0005 Fix thinko
llvm-svn: 75760
2009-07-15 08:56:49 +00:00
Daniel Dunbar
18e781dae6 Address some review comments on TargetRegistry.
llvm-svn: 75753
2009-07-15 07:09:29 +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