[flang][nfc] Fix driver method names overridden by the pluginsAfter the recent re-factoring of the driver code(https://reviews.llvm.org/D125007), `ExecuteAction` was renamed as`executeAction`. Th
[flang][nfc] Fix driver method names overridden by the pluginsAfter the recent re-factoring of the driver code(https://reviews.llvm.org/D125007), `ExecuteAction` was renamed as`executeAction`. This patch updates the examples in Flang accordingly.If you set `FLANG_BUILD_EXAMPLES` to `On` when building Flang, then therefactoring from D125007 would have caused build failures for you. Thispatch fixes that.This is fairly straightforward and fixes buildbot failures, so I'msending this without a review.
show more ...
[flang] Make the plugin API independent of the driver internalsThis patch adds a few new member methods in the `PluginParseTreeAction`frontend action base class. With these new methods, the plugin
[flang] Make the plugin API independent of the driver internalsThis patch adds a few new member methods in the `PluginParseTreeAction`frontend action base class. With these new methods, the plugin APIbecomes independent of the driver internals. In particular, pluginwriters no longer require the `CompilerInstance.h` header file to accessvarious driver data structures (instead, they can use newly addedhooks).This change is desirable as `CompilerInstance.h` includes variousheaders from Clang (both explicitly and implicitly). Some of theseheader files are generated at build time (through TableGen) andincluding them creates a dependency on some of Clang's build targets.However, plugins in Flang should not depend on Clang build targets.Note that plugins might still work fine most of the time, even withoutthis change and without adding Clang build targets as dependency inplugin's CMake definition. Indeed, these Clang build targets are oftengenerated early in the build process. However, that's not guaranteed andwe did notice that on occasions plugins would fail to build.Differential Revision: https://reviews.llvm.org/D120999
[flang][examples] Add missing CMake dependenciesCurrently, everything that includes "flang/Parser/parse-tree.h" in Flangdepends on the `gen_acc` and `gen_omp` CMake targets (these targetsgenerate
[flang][examples] Add missing CMake dependenciesCurrently, everything that includes "flang/Parser/parse-tree.h" in Flangdepends on the `gen_acc` and `gen_omp` CMake targets (these targetsgenerate include files that are used in "parse-tree.h"). The examples inFlang do use this header file and hence also depend on`gen_acc`/`gen_omp`. This patch updates relevant CMake scriptsaccordingly.I've also taken the liberty to rename some of the example files so thattheir names follow LLVM's coding guidelines.Differential Revision: https://reviews.llvm.org/D117016
[flang][driver] Add print function name Plugin exampleReplacing Hello World example Plugin with one that counts and prints the names offunctions and subroutines.This involves changing the `Plugin
[flang][driver] Add print function name Plugin exampleReplacing Hello World example Plugin with one that counts and prints the names offunctions and subroutines.This involves changing the `PluginParseTreeAction` Plugin base class toinherit from `PrescanAndSemaAction` class to get access to the Parse Treeso that the Plugin can walk it.Additionally, there are tests of this new Plugin to check it prints the correctthings in different circumstances.Depends on: D106137Reviewed By: awarzynskiDifferential Revision: https://reviews.llvm.org/D107089