llvm-project
88cdd990 - [flang] Add reduction semantics to fir.do_loop (#93934)

Commit
1 year ago
[flang] Add reduction semantics to fir.do_loop (#93934) Derived from #92480. This PR introduces reduction semantics into loops for DO CONCURRENT REDUCE. The `fir.do_loop` operation now invisibly has the `operandSegmentsizes` attribute and takes variable-length reduction operands with their operations given as `fir.reduce_attr`. For the sake of compatibility, `fir.do_loop`'s builder has additional arguments at the end. The `iter_args` operand should be placed in front of the declaration of result types, so the new operand for reduction variables (`reduce`) is put in the middle of arguments.
Author
Parents
Loading