Skip to content
Snippets Groups Projects
Commit 68ec7ee0 authored by Mike Stump's avatar Mike Stump
Browse files

Enable the use of the new llvm objectsize intrinsic.

llvm-svn: 86607
parent 8483f12a
No related branches found
No related tags found
No related merge requests found
......@@ -199,8 +199,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD,
return RValue::get(Builder.CreateCall(F, ArgValue, "tmp"));
}
case Builtin::BI__builtin_object_size: {
// FIXME: We're awaiting the llvm intrincis.
#if 0
#if 1
// We pass this builtin onto the optimizer so that it can
// figure out the object size in more complex cases.
const llvm::Type *ResType[] = {
......@@ -211,8 +210,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD,
EmitScalarExpr(E->getArg(0)),
EmitScalarExpr(E->getArg(1))));
#else
// FIXME: Implement. For now we just always fail and pretend we
// don't know the object size.
// FIXME: Remove after testing.
llvm::APSInt TypeArg = E->getArg(1)->EvaluateAsInt(CGM.getContext());
const llvm::Type *ResType = ConvertType(E->getType());
// bool UseSubObject = TypeArg.getZExtValue() & 1;
......
......@@ -46,8 +46,8 @@ void test4() {
}
void test5() {
// CHECK: movb $0, %al
// CHECK-NEXT: testb %al, %al
// CHECK: movq $-1, %rax
// CHECK-NEXT: cmpq $-1, %rax
// CHECK: call ___inline_strcpy_chk
strcpy(gp, "Hi there");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment