diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2007-09-07 11:39:35 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2007-09-07 11:39:35 +0000 |
commit | 94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6 (patch) | |
tree | 71d3b284ef1e1fdc5c2bcdbe95ae203ab83072d1 /lib/CodeGen/IntrinsicLowering.cpp | |
parent | df62edc6259244f01f165827d18c9badb29e1caa (diff) | |
download | external_llvm-94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6.zip external_llvm-94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6.tar.gz external_llvm-94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6.tar.bz2 |
Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
liveins and we let frontend solve type issue, not lowering code :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41763 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IntrinsicLowering.cpp')
-rw-r--r-- | lib/CodeGen/IntrinsicLowering.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp index ab55710..42b09c2 100644 --- a/lib/CodeGen/IntrinsicLowering.cpp +++ b/lib/CodeGen/IntrinsicLowering.cpp @@ -710,11 +710,13 @@ void IntrinsicLowering::LowerIntrinsicCall(CallInst *CI) { break; // Simply strip out debugging intrinsics case Intrinsic::eh_exception: - case Intrinsic::eh_selector: + case Intrinsic::eh_selector_i32: + case Intrinsic::eh_selector_i64: CI->replaceAllUsesWith(Constant::getNullValue(CI->getType())); break; - case Intrinsic::eh_typeid_for: + case Intrinsic::eh_typeid_for_i32: + case Intrinsic::eh_typeid_for_i64: // Return something different to eh_selector. CI->replaceAllUsesWith(ConstantInt::get(CI->getType(), 1)); break; |