From 3f91004ce7d89cd541dfc679f10e90e93ca65ee4 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Wed, 1 Mar 2017 01:49:13 +0000 Subject: Keep attributes, calling convention, etc, when remangling intrinsic Summary: Fix issue reported where intrinsic calling convention is dropped after r295253. Reviewers: sanjoy Subscribers: materi, llvm-commits Differential Revision: https://reviews.llvm.org/D30422 llvm-svn: 296563 --- llvm/test/CodeGen/Generic/overloaded-intrinsic-name.ll | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'llvm/test/CodeGen/Generic') diff --git a/llvm/test/CodeGen/Generic/overloaded-intrinsic-name.ll b/llvm/test/CodeGen/Generic/overloaded-intrinsic-name.ll index 60068adc5da..6a28c7eb38f 100644 --- a/llvm/test/CodeGen/Generic/overloaded-intrinsic-name.ll +++ b/llvm/test/CodeGen/Generic/overloaded-intrinsic-name.ll @@ -1,4 +1,5 @@ ; RUN: opt -verify -S < %s +; RUN: opt -S < %s | FileCheck %s ; Tests the name mangling performed by the codepath following ; getMangledTypeStr(). Only tests that code with the various manglings @@ -67,7 +68,9 @@ entry: define %i32* @test_broken_names(%i32* %v) gc "statepoint-example" { entry: - %tok = call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.deadbeef(i64 0, i32 0, i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 0, %i32* %v) + %tok = call fastcc token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.deadbeef(i64 0, i32 0, i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 0, %i32* %v) +; Make sure we do not destroy the calling convention when remangling +; CHECK: fastcc %v-new = call %i32* @llvm.experimental.gc.relocate.beefdead(token %tok, i32 7, i32 7) ret %i32* %v-new } -- cgit v1.2.3