Intrinsics shouldn't see struct padding, so use a special TargetABI for them

that removes it.
This unbreaks the `llvm_*_with_overflow` intrinsics.
This commit is contained in:
Frits van Bommel
2009-05-16 13:06:49 +02:00
parent 62e8384da0
commit 541f3723cd
7 changed files with 219 additions and 60 deletions

View File

@@ -396,8 +396,8 @@ pragma(intrinsic, "llvm.smul.with.overflow.i#")
*
* See: http://llvm.org/docs/LangRef.html#int_umul_overflow
*/
pragma(intrinsic, "llvm.umul.with.overflow.i#")
OverflowRet!(T) llvm_umul_with_overflow(T)(T lhs, T rhs);
//pragma(intrinsic, "llvm.umul.with.overflow.i#")
// OverflowRet!(T) llvm_umul_with_overflow(T)(T lhs, T rhs);
//