This is an archive of the discontinued LLVM Phabricator instance.

[NVPTX] Annotate some instructions as hasSideEffects = 0.
ClosedPublic

Authored by jlebar on Feb 19 2016, 6:56 PM.

Details

Summary

Tablegen tries to infer this from the selection DAG patterns defined for
the instructions, but it can't always.

An instructive example is CLZr64. CLZr32 is correctly inferred to have
no side-effects, but the selection DAG pattern for CLZr64 is slightly
more complicated, and in particular the ctlz DAG node is not at the root
of the pattern. Thus tablegen can't infer that CLZr64 has no
side-effects.

Diff Detail

Repository
rL LLVM

Event Timeline

jlebar updated this revision to Diff 48568.Feb 19 2016, 6:56 PM
jlebar retitled this revision from to [NVPTX] Annotate some instructions as hasSideEffects = 0..
jlebar updated this object.
jlebar added a reviewer: jholewinski.
jlebar added subscribers: llvm-commits, tra.

Friendly ping.

jholewinski accepted this revision.Mar 31 2016, 5:37 AM
jholewinski edited edge metadata.

Looks good! Thanks!

This revision is now accepted and ready to land.Mar 31 2016, 5:37 AM
This revision was automatically updated to reflect the committed changes.