diff options
| author | Yong He <yonghe@outlook.com> | 2020-09-26 20:09:50 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-26 20:09:50 -0700 |
| commit | 94d3f2bd9c5557658751f73bc5fc443b41230d2c (patch) | |
| tree | a028c7f2a345e1e7af86aad6a63f6f0fddc74785 /source/slang/slang-options.cpp | |
| parent | b72353ec3fe529237828cacbe710233d31eb4837 (diff) | |
Add API for whole program compilation. (#1562)
* Add API for whole program compilation.
This change exposes a new target flag: `SLANG_TARGET_FLAG_GENERATE_WHOLE_PROGRAM` that can be set on a target with `spSetTargetFlags`. When this flag is set, `spCompile` function generates target code for the entire input module instead of just the specified entrypoints. The resulting code will include all the entrypoints defined in the input source.
The resulting whole program code can be retrieved with two new functions: `spGetTargetCodeBlob` and `spGetTargetHostCallable`.
This change also cleans up the unnecessary `entryPointIndices` parameter of `TargetProgram::getOrCreateWholeProgramResult`, and modifies the `cpu-hello-world` example to make use of the new whole-program compilation API to simplify its logic.
* Update comments.
Diffstat (limited to 'source/slang/slang-options.cpp')
| -rw-r--r-- | source/slang/slang-options.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source/slang/slang-options.cpp b/source/slang/slang-options.cpp index 42003fb62..db56e8115 100644 --- a/source/slang/slang-options.cpp +++ b/source/slang/slang-options.cpp @@ -160,7 +160,6 @@ struct OptionsParser SlangTargetFlags targetFlags = 0; int targetID = -1; FloatingPointMode floatingPointMode = FloatingPointMode::Default; - bool isWholeProgramRequest = false; // State for tracking command-line errors bool conflictingProfilesSet = false; @@ -1511,7 +1510,7 @@ struct OptionsParser } else { - target->isWholeProgramRequest = true; + target->targetFlags |= SLANG_TARGET_FLAG_GENERATE_WHOLE_PROGRAM; targetInfo->wholeTargetOutputPath = rawOutput.path; } } |
