OSDN Git Service

[NVPTX] Annotate some instructions as hasSideEffects = 0.
authorJustin Lebar <jlebar@google.com>
Fri, 1 Apr 2016 01:09:05 +0000 (01:09 +0000)
committerJustin Lebar <jlebar@google.com>
Fri, 1 Apr 2016 01:09:05 +0000 (01:09 +0000)
commit4d24c4a646c7b4f9e519f7c18f8b392b32b4275f
tree8e2dddc0fe9870738f642d9c6dce581d24256aa4
parent55dc0e4085134940a879663fc0cb0ce52df58caa
[NVPTX] Annotate some instructions as hasSideEffects = 0.

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.

Reviewers: jholewinski

Subscribers: jholewinski, tra, llvm-commits

Differential Revision: http://reviews.llvm.org/D17472

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265089 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/NVPTX/NVPTXInstrInfo.td
lib/Target/NVPTX/NVPTXIntrinsics.td