Adds support for .ior., .ieor., and .iand. reductions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LG. Please see minor comments inline.
| flang/lib/Lower/OpenMP.cpp | ||
|---|---|---|
| 1184–1188 | Nit: The code for ior and ieor is the same and can be shared. Like the following. } else if (reductionOpName.contains("ior") || reductionOpName.contains("ieor")) {
unsigned bits = type.getIntOrFloatBitWidth();
int64_t zeroInt = llvm::APInt::getZero(bits).getSExtValue();
return builder.createIntegerConstant(loc, type, zeroInt);
} | |
| 2423 | Nit: Remove empty line. | |
| flang/test/Lower/OpenMP/wsloop-reduction-iand.f90 | ||
| 30 | Nit: Can you add another test with x = iand(y(i), x) | |
| flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90 | ||
| 30 | Nit: Can you add another test with x = ieor(y(i), x) | |
| flang/test/Lower/OpenMP/wsloop-reduction-ior.f90 | ||
| 30 | Nit: Can you add another test with x = ior(y(i), x) | |
Nit: The code for ior and ieor is the same and can be shared. Like the following.
} else if (reductionOpName.contains("ior") || reductionOpName.contains("ieor")) { unsigned bits = type.getIntOrFloatBitWidth(); int64_t zeroInt = llvm::APInt::getZero(bits).getSExtValue(); return builder.createIntegerConstant(loc, type, zeroInt); }