[llvm-commits] [llvm] r135760 - in /llvm/trunk: cmake/modules/LLVMLibDeps.cmake lib/Support/CMakeLists.txt lib/Support/TargetRegistry.cpp lib/Target/CMakeLists.txt lib/Target/TargetRegistry.cpp

Chandler Carruth chandlerc at gmail.com
Sat Aug 6 00:28:20 PDT 2011


On Fri, Aug 5, 2011 at 10:40 PM, Chandler Carruth <chandlerc at gmail.com>wrote:

> On Mon, Aug 1, 2011 at 3:40 PM, Evan Cheng <evan.cheng at apple.com> wrote:
>
>> I am not comfortable with a few weeks. Is it not possible to just move
>> TargetRegistry.cpp back to Support?
>
>
> Putting this into Support violates a lot of layering principles. I care a
> lot about layering and other invariants, thats how we keep building and
> using LLVM effectively.
>
> Anyways, I understand the need for an expedient solution. I think I have a
> reasonable compromise -- we could move the registry into MC. The only
> targets that don't actually need MC are the CBackend and the CppBackend.
> That seems likely to be the ongoing trend. It would allow MC clients to not
> pull in any part of Target.
>
> Best of all, that's where the other two pieces of the registry already
> live: the Reloc and CodeModel classes.
>
> I'm trying this out now to ensure it actually works, and does in fact
> shrink llvm-mc back down to size.
>

I've attached the patch. It looks like it will work. The disassembler (as
well as many other libraries) no longer depends on Target from my testing.
This look OK to commit?

I was thinking if it cleans up stuff we could rename this the
'MachineRegistry'... but not sure it really matters.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110806/5a4a77f0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: registry_mc.patch
Type: text/x-patch
Size: 59587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110806/5a4a77f0/attachment.bin>


More information about the llvm-commits mailing list