Sub, SDiv and UDiv are not commutative, so only the RHS operand can fold a load. It seems there should be a check for this.
Only minor ("mixed") impact on SPEC, it seems:
Sub changed 8 loops / 9 files.
SDiv/UDiv changed 2 loops / 1 file.
Paths
| Differential D53791
[SystemZ] Improve isFoldableLoad() for Sub, SDiv and UDiv. ClosedPublic Authored by jonpa on Oct 26 2018, 10:03 PM.
Details
Summary Sub, SDiv and UDiv are not commutative, so only the RHS operand can fold a load. It seems there should be a check for this. Only minor ("mixed") impact on SPEC, it seems:
Diff Detail Event TimelineThis revision is now accepted and ready to land.Oct 29 2018, 10:00 AM
Revision Contents
Diff 171391 lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
test/Analysis/CostModel/SystemZ/memop-folding-int-arith.ll
|