Skip to content

Commit bcc685e

Browse files
committed
Use poison instead of undef.
1 parent 3ba76b9 commit bcc685e

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

clang/lib/CodeGen/CodeGenModule.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5590,7 +5590,7 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D,
55905590
T = D->getType();
55915591

55925592
if (getLangOpts().HLSL && getHLSLRuntime().isResource(D)) {
5593-
Init = llvm::UndefValue::get(getTypes().ConvertType(ASTTy));
5593+
Init = llvm::PoisonValue::get(getTypes().ConvertType(ASTTy));
55945594
NeedsGlobalCtor = true;
55955595
} else if (getLangOpts().CPlusPlus) {
55965596
Init = EmitNullConstant(T);

clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ RasterizerOrderedByteAddressBuffer Buffer2: register(u3, space4);
1111
// CHECK: "class.hlsl::RWByteAddressBuffer" = type { target("dx.RawBuffer", i8, 1, 0) }
1212
// CHECK: "class.hlsl::RasterizerOrderedByteAddressBuffer" = type { target("dx.RawBuffer", i8, 1, 1) }
1313

14-
// CHECK: @Buffer0 = internal global %"class.hlsl::ByteAddressBuffer" undef, align 4
15-
// CHECK: @Buffer1 = internal global %"class.hlsl::RWByteAddressBuffer" undef, align 4
16-
// CHECK: @Buffer2 = internal global %"class.hlsl::RasterizerOrderedByteAddressBuffer" undef, align 4
14+
// CHECK: @Buffer0 = internal global %"class.hlsl::ByteAddressBuffer" poison, align 4
15+
// CHECK: @Buffer1 = internal global %"class.hlsl::RWByteAddressBuffer" poison, align 4
16+
// CHECK: @Buffer2 = internal global %"class.hlsl::RasterizerOrderedByteAddressBuffer" poison, align 4
1717

1818
// CHECK; define internal void @_init_resource_Buffer0()
1919
// CHECK-DXIL: %Buffer0_h = call target("dx.RawBuffer", i8, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.RawBuffer_i8_0_0t(i32 0, i32 0, i32 1, i32 0, i1 false)

clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
RWBuffer<float> Buf : register(u5, space3);
88

99
// CHECK: %"class.hlsl::RWBuffer" = type { target("dx.TypedBuffer", float, 1, 0, 0) }
10-
// CHECK: @Buf = internal global %"class.hlsl::RWBuffer" undef, align 4
10+
// CHECK: @Buf = internal global %"class.hlsl::RWBuffer" poison, align 4
1111

1212
// CHECK: define internal void @_init_resource_Buf()
1313
// CHECK-DXIL: %Buf_h = call target("dx.TypedBuffer", float, 1, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0_0t(i32 3, i32 5, i32 1, i32 0, i1 false)

clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ RasterizerOrderedStructuredBuffer<float> Buf5 : register(u1, space2);
1515
// CHECK: %"class.hlsl::ConsumeStructuredBuffer" = type { target("dx.RawBuffer", float, 1, 0) }
1616
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer" = type { target("dx.RawBuffer", float, 1, 1) }
1717

18-
// CHECK: @Buf = internal global %"class.hlsl::StructuredBuffer" undef, align 4
19-
// CHECK: @Buf2 = internal global %"class.hlsl::RWStructuredBuffer" undef, align 4
20-
// CHECK: @Buf3 = internal global %"class.hlsl::AppendStructuredBuffer" undef, align 4
21-
// CHECK: @Buf4 = internal global %"class.hlsl::ConsumeStructuredBuffer" undef, align 4
22-
// CHECK: @Buf5 = internal global %"class.hlsl::RasterizerOrderedStructuredBuffer" undef, align 4
18+
// CHECK: @Buf = internal global %"class.hlsl::StructuredBuffer" poison, align 4
19+
// CHECK: @Buf2 = internal global %"class.hlsl::RWStructuredBuffer" poison, align 4
20+
// CHECK: @Buf3 = internal global %"class.hlsl::AppendStructuredBuffer" poison, align 4
21+
// CHECK: @Buf4 = internal global %"class.hlsl::ConsumeStructuredBuffer" poison, align 4
22+
// CHECK: @Buf5 = internal global %"class.hlsl::RasterizerOrderedStructuredBuffer" poison, align 4
2323

2424
// CHECK: define internal void @_init_resource_Buf()
2525
// CHECK-DXIL: %Buf_h = call target("dx.RawBuffer", float, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.RawBuffer_f32_0_0t(i32 0, i32 10, i32 1, i32 0, i1 false)

0 commit comments

Comments
 (0)