[LLVMdev] Target specific info available to Clang (and others)

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Oct 24 05:43:12 PDT 2014


On 24 October 2014 08:33, Renato Golin <renato.golin at linaro.org> wrote:
> On 24 October 2014 13:13, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:
>> lib/Target/ARM: only built if the ARM target is enabled.
>> lib/TargetInfo/ARM: always build. Include only info that clang wants
>> to use: parse fpu name, construct the datalayout.
>
> Yes! That's the final plan!
>
> So, TableGen would generate two sets of files, one public and another
> private. The former only containing high-level target descriptions,
> cpu names, feature combinations, etc and the latter containing
> everything else, from instructions to pipeline descriptions.
>
> The public stuff should be available somewhere other projects can
> access without having access to the other local files by accident.
> Projects should not include them directly, but they'll include files
> that include them, so the directory should be in the projects' paths,
> too. We also may need to get these new classes into a library on its
> own, no?

Yes, a fpu-name to fpu-enum function would live is such  a library. In
the above example TargetInfo would not be just a directory
organization,  there would be a lib/libLLVMTargetInfo.a in the build
directory.

Cheers,
Rafael




More information about the llvm-dev mailing list