OSDN Git Service

TableGen: Add IntrHasSideEffects property for intrinsics
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 28 Apr 2017 21:01:46 +0000 (21:01 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 28 Apr 2017 21:01:46 +0000 (21:01 +0000)
commit8c9ed246f2a9e35ce4b7dbaaf9e1372c8e806101
treed52a5117344b803ee7d956df4953c90a14c2bc98
parent52b02289490c18db02a1f0d79e8ca404cdf1ffaf
TableGen: Add IntrHasSideEffects property for intrinsics

The IntrNoMem, IntrReadMem, IntrWriteMem, and IntrArgMemOnly intrinsic
properties differ from their corresponding LLVM IR attributes by specifying
that the intrinsic, in addition to its memory properties, has no other side
effects.

The IntrHasSideEffects flag used in combination with one of the memory flags
listed above, makes it possible to define an intrinsic such that its
properties at the CodeGen layer match its properties at the IR layer.

Patch by Tom Stellard

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301685 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Intrinsics.td
utils/TableGen/CodeGenDAGPatterns.cpp
utils/TableGen/CodeGenIntrinsics.h
utils/TableGen/CodeGenTarget.cpp
utils/TableGen/IntrinsicEmitter.cpp