; RUN: llvm-as -disable-verify < %s | llvm-dis | llvm-as -disable-verify | llvm-dis | FileCheck %s ; CHECK: %t = type { i32, i32 } %t = type { i32, i32 } ; CHECK: %u = type { %t, i32 } %u = type { %t, i32 } ; CHECK: !named = !{ !named = !{ ; CHECK-SAME: !DIExpression(), !DIExpression(), ; CHECK-SAME: !DIExpression(DIOpReferrer(i32)), !DIExpression(DIOpReferrer(i32)), ; CHECK-SAME: !DIExpression(DIOpReferrer(%t)), !DIExpression(DIOpReferrer(%t)), ; CHECK-SAME: !DIExpression(DIOpReferrer(%u)), !DIExpression(DIOpReferrer(%u)), ; CHECK-SAME: !DIExpression(DIOpReferrer({ i16, float })), !DIExpression(DIOpReferrer({ i16, float })), ; CHECK-SAME: !DIExpression(DIOpArg(0, i32), DIOpConvert(float)), !DIExpression(DIOpArg(0, i32), DIOpConvert(float)), ; CHECK-SAME: !DIExpression(DIOpArg(0, %t), DIOpConvert(%u)), !DIExpression(DIOpArg(0, %t), DIOpConvert(%u)), ; CHECK-SAME: !DIExpression(DIOpTypeObject(double)), !DIExpression(DIOpTypeObject(double)), ; CHECK-SAME: !DIExpression(DIOpTypeObject(%t)), !DIExpression(DIOpTypeObject(%t)), ; CHECK-SAME: !DIExpression(DIOpConstant(i8 1)), !DIExpression(DIOpConstant(i8 1)), ; CHECK-SAME: !DIExpression(DIOpConstant(%u undef)), !DIExpression(DIOpConstant(%u undef)), ; CHECK-SAME: !DIExpression(DIOpConvert(i16)), !DIExpression(DIOpConvert(i16)), ; CHECK-SAME: !DIExpression(DIOpConvert(%t)), !DIExpression(DIOpConvert(%t)), ; CHECK-SAME: !DIExpression(DIOpZExt(i32)), !DIExpression(DIOpZExt(i32)), ; CHECK-SAME: !DIExpression(DIOpSExt(i32)), !DIExpression(DIOpSExt(i32)), ; CHECK-SAME: !DIExpression(DIOpReinterpret(i64)), !DIExpression(DIOpReinterpret(i64)), ; CHECK-SAME: !DIExpression(DIOpReinterpret(%t)), !DIExpression(DIOpReinterpret(%t)), ; CHECK-SAME: !DIExpression(DIOpBitOffset(i1)), !DIExpression(DIOpBitOffset(i1)), ; CHECK-SAME: !DIExpression(DIOpBitOffset(%u)), !DIExpression(DIOpBitOffset(%u)), ; CHECK-SAME: !DIExpression(DIOpByteOffset(i16)), !DIExpression(DIOpByteOffset(i16)), ; CHECK-SAME: !DIExpression(DIOpByteOffset(%t)), !DIExpression(DIOpByteOffset(%t)), ; CHECK-SAME: !DIExpression(DIOpComposite(4, i8)), !DIExpression(DIOpComposite(4, i8)), ; CHECK-SAME: !DIExpression(DIOpComposite(2, %u)), !DIExpression(DIOpComposite(2, %u)), ; CHECK-SAME: !DIExpression(DIOpExtend(6)), !DIExpression(DIOpExtend(6)), ; CHECK-SAME: !DIExpression(DIOpSelect()), !DIExpression(DIOpSelect()), ; CHECK-SAME: !DIExpression(DIOpAddrOf(1)), !DIExpression(DIOpAddrOf(1)), ; CHECK-SAME: !DIExpression(DIOpDeref(i32)), !DIExpression(DIOpDeref(i32)), ; CHECK-SAME: !DIExpression(DIOpDeref(%t)), !DIExpression(DIOpDeref(%t)), ; CHECK-SAME: !DIExpression(DIOpRead()), !DIExpression(DIOpRead()), ; CHECK-SAME: !DIExpression(DIOpAdd()), !DIExpression(DIOpAdd()), ; CHECK-SAME: !DIExpression(DIOpSub()), !DIExpression(DIOpSub()), ; CHECK-SAME: !DIExpression(DIOpMul()), !DIExpression(DIOpMul()), ; CHECK-SAME: !DIExpression(DIOpDiv()), !DIExpression(DIOpDiv()), ; CHECK-SAME: !DIExpression(DIOpLShr()), !DIExpression(DIOpLShr()), ; CHECK-SAME: !DIExpression(DIOpAShr()), !DIExpression(DIOpAShr()), ; CHECK-SAME: !DIExpression(DIOpShl()), !DIExpression(DIOpShl()), ; CHECK-SAME: !DIExpression(DIOpPushLane(i32)), !DIExpression(DIOpPushLane(i32)), ; CHECK-SAME: !DIExpression(DIOpPushLane(%u)), !DIExpression(DIOpPushLane(%u)), ; CHECK-SAME: !DIExpression() !DIExpression(), ; CHECK-SAME: !DIExpression(DIOpFragment(1, 2))} !DIExpression(DIOpFragment(1, 2))}