aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorjeanPerier <jeanPerier@users.noreply.github.com>2022-04-11 09:33:39 +0200
committerJean Perier <jperier@nvidia.com>2022-04-11 09:33:49 +0200
commit189cb7df911b0d1aafbe60bec1a9e921827e9875 (patch)
tree9e24ac0fb876d4ab0fc4ce14c477206f5497cc5b /llvm/lib/CodeGen/CodeGen.cpp
parent9cfa899b87c583e0dcd20e4d35c8e9d337ee14f9 (diff)
downloadllvm-189cb7df911b0d1aafbe60bec1a9e921827e9875.zip
llvm-189cb7df911b0d1aafbe60bec1a9e921827e9875.tar.gz
llvm-189cb7df911b0d1aafbe60bec1a9e921827e9875.tar.bz2
[flang] Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE
Handle dynamic optional argument in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE (previously compiled but caused segfaults). The previous code handled static presence/absence aspects, but not when an absent dummy optional was passed to one of the optional intrinsic arguments. Simplify the runtime call lowering to simply lower the runtime call without dealing with optionality there. This keeps the optional handling logic in IntrinsicCall.cpp. Note that the new code will generate some extra "if (not null addr )/then/else" when the actual arguments are always there at runtime. That makes the implementation a lot simpler/safer, and I think it is OK for now (I do not expect these runtime function to be called in hot loop nests). Differential Revision: https://reviews.llvm.org/D123388
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions