Add new TargetRegistry.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 15 Jul 2009 04:24:58 +0000 (04:24 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 15 Jul 2009 04:24:58 +0000 (04:24 +0000)
commitbb061291406b1b9f0c976e9845f69f9faf985606
tree9cd372ba4d91849ff6d1217b8bb9dd4eec4de40a
parent4fb63d088bca9fc31e54eb1619e2cb448c3a4b53
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75739 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetRegistry.h [new file with mode: 0644]
lib/Support/TargetRegistry.cpp [new file with mode: 0644]