The usual CodeGenPrepare trickery, this time on a target-specific intrinsic.
Without this, the expansion of atomics will usually have the zext be hoisted out of the loop, defeating the various patterns we have to catch precisely this case.
Paths
| Differential D9930
[AArch64][CGP] Sink zext feeding stxr/stlxr into the same block. ClosedPublic Authored by ab on May 21 2015, 6:41 PM.
Details Summary The usual CodeGenPrepare trickery, this time on a target-specific intrinsic. Without this, the expansion of atomics will usually have the zext be hoisted out of the loop, defeating the various patterns we have to catch precisely this case.
Diff Detail
Event Timelineab updated this object. This revision is now accepted and ready to land.May 22 2015, 11:44 AM Closed by commit rL238054: [AArch64][CGP] Sink zext feeding stxr/stlxr into the same block. (authored by ab). · Explain WhyMay 22 2015, 2:41 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 26351 llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp
llvm/trunk/test/CodeGen/AArch64/arm64-atomic.ll
|