[llvm-commits] [llvm] [PATCH] pruning llvm -- only include intrinsics for targets S, given --enable-targets=S

Eric Christopher echristo at apple.com
Wed Sep 14 14:27:26 PDT 2011


On Sep 9, 2011, at 11:22 AM, Jan Voung wrote:

> Attached is one more patch for dragonegg to go with these other patches.
> It simply generates a Make error when there is a mismatch between the
> dragonegg target and the backend targets enabled in llvm, by asking llvm-config.
> It also possible to go without this patch and simply have compile errors
> when the intrinsics referenced by dragonegg aren't actually defined by llvm
> (since it's been pruned out), but the error would be more mysterious.
> 
> Otherwise, the previously attached llvm and clang patches should still apply
> (checked at rev 139374).

For the clang bits it would be nice if this were constructed similarly to
how the llvm target support works in that there's a TARGETS_TO_BUILD that
is set and builds whole files instead of conditionalizing it based on defines.

This just means that the various target specific class information will need to be
spread out into separate files.

For the llvm pass code like BasicAliasAnalysis I'd probably call into the backend
and request the information.

Chris: Any opinion on this part? Is it OK if the various opt passes call into target
info for intrinsics? Would you rather use conditional compilation?

I like the idea in general though :)

-eric




More information about the llvm-commits mailing list