[PATCH] D96864: [flang][driver] Add -Xflang and make -test-io a frontend-only flag
Sourabh Singh Tomar via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 17 10:25:35 PST 2021
SouraVX added inline comments.
================
Comment at: flang/test/Frontend/input-output-file.f90:6
!--------------------------
+! NOTE: We need `-E` below in order to instruct the compiler driver to create a job representing a fronted compiler invocation
! TEST 1: Print to stdout (implicit)
----------------
awarzynski wrote:
> SouraVX wrote:
> > I didn't follow this completely, Could you please elaborate a bit.
> Sorry, I'm doing a poor job documenting this here.
>
> Basically, we want to instruct `flang-new` to stop after the preprocessing phase. `-E` is a phase control flag. `-c` is another phase control flag. You can also skip phase flags all together:
> ```
> $ bin/flang-new -ccc-print-phases file.f90
> +- 0: input, "file.f90", f95-cpp-input
> +- 1: preprocessor, {0}, f95
> +- 2: compiler, {1}, ir
> +- 3: backend, {2}, assembler
> +- 4: assembler, {3}, object
> 5: linker, {4}, image
> ```
> As you can see, without `-E` the driver, `flang-new`, would attempt to run multiple phases which would result in multiple compiler _jobs_. But we only want the compiler job, i.e. we are only interested the the first phase. (IIRC, compiler jobs map 1-1 to compiler phases).
>
> So, `-E` is added here to make sure that `flang-new` doesn't try to do too much here.
Great - thanks for explaining the intent!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96864/new/
https://reviews.llvm.org/D96864
More information about the cfe-commits
mailing list