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)
commit868af92235c9e871f952a1bca90a7b035b675a01
tree2ae7d319257ac0b82ed3d5a77674d4c797331aac
parent9bb296cb05284fedf407dd1424bceb214991f5f2
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

llvm-svn: 301685
llvm/include/llvm/IR/Intrinsics.td
llvm/utils/TableGen/CodeGenDAGPatterns.cpp
llvm/utils/TableGen/CodeGenIntrinsics.h
llvm/utils/TableGen/CodeGenTarget.cpp
llvm/utils/TableGen/IntrinsicEmitter.cpp