Page MenuHomePhabricator

Disabling CTR loops optimization for soft float operations
ClosedPublic

Authored by abeserminji on Feb 25 2016, 4:17 AM.

Details

Summary

This patch prevents CTR loops optimization when using soft float operations inside loop body.
Soft float operations use function calls, but function calls are not allowed inside CTR optimized loops.

Diff Detail

Repository
rL LLVM

Event Timeline

abeserminji retitled this revision from to Disabling CTR loops optimization for soft float operations.
abeserminji updated this object.
abeserminji added reviewers: hfinkel, petarj.
abeserminji set the repository for this revision to rL LLVM.
abeserminji added a subscriber: llvm-commits.
hfinkel accepted this revision.Mar 3 2016, 11:13 AM
hfinkel edited edge metadata.

A few minor comments, otherwise, LGTM.

lib/Target/PowerPC/PPCCTRLoops.cpp
425 ↗(On Diff #49030)

Please add blank lines before and after this if statement to visually separate it from the surrounding checks.

test/CodeGen/PowerPC/ctrloops-softfloat.ll
137 ↗(On Diff #49030)

Please remove unnecessary metadata (looks like none of it is necessary)

This revision is now accepted and ready to land.Mar 3 2016, 11:13 AM
rankov added a subscriber: rankov.Mar 8 2016, 9:02 AM
abeserminji updated this revision to Diff 50471.EditedMar 11 2016, 1:24 PM
abeserminji edited edge metadata.
abeserminji removed rL LLVM as the repository for this revision.
abeserminji marked 2 inline comments as done.
  • Made changes recommended in comments
  • Updated the run line in test to enable optimizations (-O1)
This revision was automatically updated to reflect the committed changes.