This is an archive of the discontinued LLVM Phabricator instance.

[X86] Move the ATOMIC_LOAD_OP ISel from DAGToDAG to ISelLowering. NFCI.
ClosedPublic

Authored by ab on Feb 26 2016, 2:46 PM.

Details

Summary

This is long-standing dirtiness, as acknowledged by r77582:

The current trick is to select it into a merge_values with
the first definition being an implicit_def. The proper solution is
to add new ISD opcodes for the no-output variant.

Doing this before selection will let us combine away some constructs.

Diff Detail

Repository
rL LLVM

Event Timeline

ab updated this revision to Diff 49250.Feb 26 2016, 2:46 PM
ab retitled this revision from to [X86] Move the ATOMIC_LOAD_OP ISel from DAGToDAG to ISelLowering. NFCI..
ab updated this object.
ab added reviewers: jfb, t.p.northover.
ab added subscribers: llvm-commits, qcolombet.
t.p.northover accepted this revision.Feb 29 2016, 7:46 AM
t.p.northover edited edge metadata.

Just one comment, otherwise it looks reaonable.

Tim.

lib/Target/X86/X86ISelLowering.cpp
20380–20381 ↗(On Diff #49250)

Can we assert on that?

This revision is now accepted and ready to land.Feb 29 2016, 7:46 AM
This revision was automatically updated to reflect the committed changes.