[mlir] support reductions in SCF to OpenMP conversion
OpenMP reductions need a neutral element, so we match some known reduction kinds (integer add/mul/or/and/xor, float add/mul, integer and float min/max) to define the neutral element and the atomic version when possible to express using atomicrmw (everything except float mul). The SCF-to-OpenMP pass becomes a module pass because it now needs to introduce new symbols for reduction declarations in the module. Reviewed By: chelini Differential Revision: https://reviews.llvm.org/D107549
Loading
Please sign in to comment