aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPeter Klausler <35819229+klausler@users.noreply.github.com>2023-09-13 16:34:23 -0700
committerGitHub <noreply@github.com>2023-09-13 16:34:23 -0700
commitdaa5da063ae8b39efa7368475f33db3313b41e30 (patch)
tree890f121e8fad9e18bf6a4f9fd9df55e18d0acd7c /clang/lib/Frontend/CompilerInvocation.cpp
parentc8c075e8769a615451653b37e5426eb5d7a1d16c (diff)
downloadllvm-daa5da063ae8b39efa7368475f33db3313b41e30.zip
llvm-daa5da063ae8b39efa7368475f33db3313b41e30.tar.gz
llvm-daa5da063ae8b39efa7368475f33db3313b41e30.tar.bz2
[flang] Don't blow up when combining mixed COMPLEX operations (#66235)
Expression processing applies some straightforward rewriting of mixed complex/real and complex/integer operations to avoid having to promote the real/integer operand to complex and then perform a complex operation; for example, (a,b)+x becomes (a+x,b) rather than (a,b)+(x,0). But this can blow up the expression representation when the complex operand cannot be duplicated cheaply. So apply this technique only to complex operands that are appropriate to duplicate. Fixes https://github.com/llvm/llvm-project/issues/65142.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions