[all-commits] [llvm/llvm-project] df62af: [flang] Unsplit COMPLEX operations

Peter Klausler via All-commits all-commits at lists.llvm.org
Mon Nov 16 09:39:27 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: df62afd559d4899a968cb72ad2ddc98b27412fa6
      https://github.com/llvm/llvm-project/commit/df62afd559d4899a968cb72ad2ddc98b27412fa6
  Author: peter klausler <pklausler at nvidia.com>
  Date:   2020-11-16 (Mon, 16 Nov 2020)

  Changed paths:
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/tools.cpp

  Log Message:
  -----------
  [flang] Unsplit COMPLEX operations

COMPLEX negation, addition, subtraction, conversions of kind, and
equality/inequality were represented as component-wise REAL
operations.  It turns out to be easier for lowering if we
do not split and recombine these COMPLEX operations, and it
avoids a potential problem with COMPLEX valued function calls
in these contexts.  So add this suite of operations to the
typed expression representation in place of the component-wise
transformations, and support them in folding.

Differential revision: https://reviews.llvm.org/D91443




More information about the All-commits mailing list