Inclusion of the ORC runtime in compiler-rt

  1. Re: Inclusion of the ORC runtime in compiler-rt.

InstrProfData.inc is shared between LLVM and compiler-rt:

There’s no special mechanism to keep those in sync, we manage them manually.

Thanks Petr. That’s about the same amount of code that ORC will need to
share I think. Glad there’s a precedent to follow.

Libomptarget has broken free of copy&paste of headers by declaring a build time requirement for the llvm source tree, from which it includes otherwise standalone headers.

This is much nicer than manually updating, or having tests that do the diff, or build scripts that do the copy.

If orc doesn’t have a cmake variable from which it can find llvm, it can warn about that and decline to build.

This will break people who build orc without llvm available anywhere on disk, until they download llvm or build a local skeleton directory containing copies of the files. That may be an empty set of people. Noone complained for libomptarget.

Please seriously consider this strategy instead of duplicating the files.

Jon

Hi Jon,

Libomptarget has broken free of copy&paste of headers by declaring a build time requirement for the llvm source tree, from which it includes otherwise standalone headers.

Thanks very much for pointing this out. It seems reasonable to assume the presence of an LLVM source tree – several compiler-rt tests rely on LLVM tools already. I’ll double check with the compiler-rt maintainers, but this sounds like a good solution to me.

– Lang.