[llvm-dev] [RFC] Heterogeneous LLVM-IR Modules (original) (raw)
Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 30 09:11:24 PDT 2020
- Previous message: [llvm-dev] [RFC] Heterogeneous LLVM-IR Modules
- Next message: [llvm-dev] [RFC] Heterogeneous LLVM-IR Modules
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 30 Jul 2020 at 16:58, Johannes Doerfert <johannesdoerfert at gmail.com> wrote:
I mean, you can put the command line string that set the options into the first place, right? That is as long as it initially was, or maybe I am missing something.
Options change with time, and this would make the IR incompatible across releases without intentionally doing so.
To recap things that might "differ" from the original proposal: - We want multiple target triples. - We probably want multiple data layouts. - We probably want multiple pass pipelines, with different (cmd line) options and such. - We might want to make modules self contained wrt. target options such that you can create TTI and friends w/o repeating driver options.
The extent of the separation is what made me suggest that it might be easier, in the end, to carry multiple modules, from different front-ends, through multiple pipelines but interacting with each other.
I guess this is why David made a parallel with LTO, as this ends up as being a multi-device LTO in a sense. I think that will be easier and much less intrusive than rewriting the global context, target flags, IR annotation, data layout assumptions, target triple parsing, target options bundling, etc.
--renato
- Previous message: [llvm-dev] [RFC] Heterogeneous LLVM-IR Modules
- Next message: [llvm-dev] [RFC] Heterogeneous LLVM-IR Modules
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]