diff options
author | Peter Klausler <35819229+klausler@users.noreply.github.com> | 2023-09-13 16:34:23 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-13 16:34:23 -0700 |
commit | daa5da063ae8b39efa7368475f33db3313b41e30 (patch) | |
tree | 890f121e8fad9e18bf6a4f9fd9df55e18d0acd7c /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | c8c075e8769a615451653b37e5426eb5d7a1d16c (diff) | |
download | llvm-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