Doerfert, Johannes via llvm-dev
2020-Jun-11 22:06 UTC
[llvm-dev] [cfe-dev] [flang-dev] [RFC] Refactor Clang: move frontend/driver/diagnostics code to LLVM
On 6/11/20 4:04 PM, James Y Knight wrote:> I think the expectation is that LLVM remains at the bottom of the > dependency tree, with frontend-support depending on LLVM, and Clang and > Flang depending on frontend-support (and LLVM). > > Not everything which makes sense to share between clang and flang makes > sense to be part of llvm core. E.g., implementation of a GCC-compatible > command-line compiler-driver seems like it would be very much out-of-place > in llvm core.That clears things up, thanks a lot. So we could have a frontend-support subproject for non-LLVM(-IR) related things and `llvm/lib/Frontend` for LLVM(-IR) related stuff, e.g., IR generation parts. Thanks, Johannes> On Thu, Jun 11, 2020 at 10:28 AM Doerfert, Johannes via cfe-dev < > cfe-dev at lists.llvm.org> wrote: > >> On 6/11/20 3:32 AM, Andrzej Warzynski wrote: >>> >>> On 11/06/2020 00:49, Michael Kruse wrote: >>>> Am Mi., 10. Juni 2020 um 10:04 Uhr schrieb Doerfert, Johannes via >>>> flang-dev <flang-dev at lists.llvm.org>: >>>>> I'm not against a subproject *but* if we also move the existing >>>>> llvm/lib/Frontend stuff, that would introduce a dependence from >>>>> llvm-core to this project, which I think is uncommon. We could also >>>>> have >>>>> both. At the end of the day it depends on the benefit we would get from >>>>> an independent subproject. >>>> If we have non-conditional dependencies llvm-core->frontend-support >>>> and frontend-support->llvm-core, what advantage is there left of >>>> making frontend-support a subproject? Both of them are required all >>>> the time. >>>> >>>> Michael >>>> >>> Thanks for the feedback! It sounds like we should keep >>> llvm/lib/Frontend in LLVM and `frontend-support` would be a new >>> subproject for things unrelated to LLVM IR. >> Sure, if we expect usage of such a subproject without llvm-core. (Maybe >> there are other reasons to separate it but I'm not sure I understood them.) >> >> >> Thanks, >> >> Johannes >> >> >>> -Andrzej >> >> _______________________________________________ >> cfe-dev mailing list >> cfe-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev >>
Andrzej Warzynski via llvm-dev
2020-Jun-12 10:24 UTC
[llvm-dev] [cfe-dev] [flang-dev] [RFC] Refactor Clang: move frontend/driver/diagnostics code to LLVM
FYI: this RFC will be discussed in the next Flang Technical Community call: http://lists.llvm.org/pipermail/flang-dev/2020-June/000379.html -Andrzej On 11/06/2020 23:06, Doerfert, Johannes wrote:> On 6/11/20 4:04 PM, James Y Knight wrote: >> I think the expectation is that LLVM remains at the bottom of the >> dependency tree, with frontend-support depending on LLVM, and Clang and >> Flang depending on frontend-support (and LLVM). >> >> Not everything which makes sense to share between clang and flang makes >> sense to be part of llvm core. E.g., implementation of a GCC-compatible >> command-line compiler-driver seems like it would be very much out-of-place >> in llvm core. > > That clears things up, thanks a lot. So we could have a frontend-support > > subproject for non-LLVM(-IR) related things and `llvm/lib/Frontend` for > > LLVM(-IR) related stuff, e.g., IR generation parts. > > > Thanks, > > Johannes > > >> On Thu, Jun 11, 2020 at 10:28 AM Doerfert, Johannes via cfe-dev < >> cfe-dev at lists.llvm.org> wrote: >> >>> On 6/11/20 3:32 AM, Andrzej Warzynski wrote: >>>> >>>> On 11/06/2020 00:49, Michael Kruse wrote: >>>>> Am Mi., 10. Juni 2020 um 10:04 Uhr schrieb Doerfert, Johannes via >>>>> flang-dev <flang-dev at lists.llvm.org>: >>>>>> I'm not against a subproject *but* if we also move the existing >>>>>> llvm/lib/Frontend stuff, that would introduce a dependence from >>>>>> llvm-core to this project, which I think is uncommon. We could also >>>>>> have >>>>>> both. At the end of the day it depends on the benefit we would get from >>>>>> an independent subproject. >>>>> If we have non-conditional dependencies llvm-core->frontend-support >>>>> and frontend-support->llvm-core, what advantage is there left of >>>>> making frontend-support a subproject? Both of them are required all >>>>> the time. >>>>> >>>>> Michael >>>>> >>>> Thanks for the feedback! It sounds like we should keep >>>> llvm/lib/Frontend in LLVM and `frontend-support` would be a new >>>> subproject for things unrelated to LLVM IR. >>> Sure, if we expect usage of such a subproject without llvm-core. (Maybe >>> there are other reasons to separate it but I'm not sure I understood them.) >>> >>> >>> Thanks, >>> >>> Johannes >>> >>> >>>> -Andrzej >>> >>> _______________________________________________ >>> cfe-dev mailing list >>> cfe-dev at lists.llvm.org >>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev >>> >
Timothy Keith via llvm-dev
2020-Jun-12 14:25 UTC
[llvm-dev] [flang-dev] [cfe-dev] [RFC] Refactor Clang: move frontend/driver/diagnostics code to LLVM
For those of us not familiar with clang internals, it would be helpful if you could describe the parts of clang that you're considering sharing and explain what existing code they would replace in flang (if any) and what benefits we gain by sharing them. In particular, these were mentioned previously: DiagnosticsEngine, SourceManager, SourceLocation, FileManager, VFS Thanks, Tim On 6/12/20, 3:25 AM, "flang-dev on behalf of Andrzej Warzynski via flang-dev" <flang-dev-bounces at lists.llvm.org on behalf of flang-dev at lists.llvm.org> wrote: External email: Use caution opening links or attachments FYI: this RFC will be discussed in the next Flang Technical Community call: http://lists.llvm.org/pipermail/flang-dev/2020-June/000379.html -Andrzej On 11/06/2020 23:06, Doerfert, Johannes wrote: > On 6/11/20 4:04 PM, James Y Knight wrote: >> I think the expectation is that LLVM remains at the bottom of the >> dependency tree, with frontend-support depending on LLVM, and Clang and >> Flang depending on frontend-support (and LLVM). >> >> Not everything which makes sense to share between clang and flang makes >> sense to be part of llvm core. E.g., implementation of a GCC-compatible >> command-line compiler-driver seems like it would be very much out-of-place >> in llvm core. > > That clears things up, thanks a lot. So we could have a frontend-support > > subproject for non-LLVM(-IR) related things and `llvm/lib/Frontend` for > > LLVM(-IR) related stuff, e.g., IR generation parts. > > > Thanks, > > Johannes > > >> On Thu, Jun 11, 2020 at 10:28 AM Doerfert, Johannes via cfe-dev < >> cfe-dev at lists.llvm.org> wrote: >> >>> On 6/11/20 3:32 AM, Andrzej Warzynski wrote: >>>> >>>> On 11/06/2020 00:49, Michael Kruse wrote: >>>>> Am Mi., 10. Juni 2020 um 10:04 Uhr schrieb Doerfert, Johannes via >>>>> flang-dev <flang-dev at lists.llvm.org>: >>>>>> I'm not against a subproject *but* if we also move the existing >>>>>> llvm/lib/Frontend stuff, that would introduce a dependence from >>>>>> llvm-core to this project, which I think is uncommon. We could also >>>>>> have >>>>>> both. At the end of the day it depends on the benefit we would get from >>>>>> an independent subproject. >>>>> If we have non-conditional dependencies llvm-core->frontend-support >>>>> and frontend-support->llvm-core, what advantage is there left of >>>>> making frontend-support a subproject? Both of them are required all >>>>> the time. >>>>> >>>>> Michael >>>>> >>>> Thanks for the feedback! It sounds like we should keep >>>> llvm/lib/Frontend in LLVM and `frontend-support` would be a new >>>> subproject for things unrelated to LLVM IR. >>> Sure, if we expect usage of such a subproject without llvm-core. (Maybe >>> there are other reasons to separate it but I'm not sure I understood them.) >>> >>> >>> Thanks, >>> >>> Johannes >>> >>> >>>> -Andrzej >>> >>> _______________________________________________ >>> cfe-dev mailing list >>> cfe-dev at lists.llvm.org >>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev >>> > _______________________________________________ flang-dev mailing list flang-dev at lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev