aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/CodeGenTarget.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-05-27 23:20:41 +0000
committerChris Lattner <sabre@nondot.org>2012-05-27 23:20:41 +0000
commit86208903cb3b693b26e144b8c5c7a0ab6a9a45c6 (patch)
treeb360bf858bb3d876a60da664b10e0e4441688653 /utils/TableGen/CodeGenTarget.cpp
parent8e337120133c746640246feb9383556d383a94be (diff)
downloadexternal_llvm-86208903cb3b693b26e144b8c5c7a0ab6a9a45c6.zip
external_llvm-86208903cb3b693b26e144b8c5c7a0ab6a9a45c6.tar.gz
external_llvm-86208903cb3b693b26e144b8c5c7a0ab6a9a45c6.tar.bz2
rdar://11542750 - llvm.trap should be marked no return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157551 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenTarget.cpp')
-rw-r--r--utils/TableGen/CodeGenTarget.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp
index cf67935..dfa9526 100644
--- a/utils/TableGen/CodeGenTarget.cpp
+++ b/utils/TableGen/CodeGenTarget.cpp
@@ -387,6 +387,7 @@ CodeGenIntrinsic::CodeGenIntrinsic(Record *R) {
isOverloaded = false;
isCommutative = false;
canThrow = false;
+ isNoReturn = false;
if (DefName.size() <= 4 ||
std::string(DefName.begin(), DefName.begin() + 4) != "int_")
@@ -511,6 +512,8 @@ CodeGenIntrinsic::CodeGenIntrinsic(Record *R) {
isCommutative = true;
else if (Property->getName() == "Throws")
canThrow = true;
+ else if (Property->getName() == "IntrNoReturn")
+ isNoReturn = true;
else if (Property->isSubClassOf("NoCapture")) {
unsigned ArgNo = Property->getValueAsInt("ArgNo");
ArgumentAttributes.push_back(std::make_pair(ArgNo, NoCapture));