Skip to content

Commit e0854c2

Browse files
committed
Retain the original test and add a new one to reproduce the crash.
1 parent 7e61a41 commit e0854c2

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

clang/test/CodeGen/attr-cpuspecific.c

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ void ThreeVersionsSameAttr(void){}
114114
// CHECK: define {{.*}}void @ThreeVersionsSameAttr.Z() #[[K]]
115115

116116
ATTR(cpu_specific(knl))
117-
void CpuSpecificNoDispatch(void (*f)(void)) {}
118-
// CHECK: define {{.*}}void @CpuSpecificNoDispatch.Z(ptr noundef %f) #[[K:[0-9]+]]
117+
void CpuSpecificNoDispatch(void) {}
118+
// CHECK: define {{.*}}void @CpuSpecificNoDispatch.Z() #[[K:[0-9]+]]
119119

120120
ATTR(cpu_dispatch(knl))
121121
void OrderDispatchUsageSpecific(void);
@@ -151,9 +151,15 @@ void usages(void) {
151151
ThreeVersionsSameAttr();
152152
// LINUX: @ThreeVersionsSameAttr.ifunc()
153153
// WINDOWS: @ThreeVersionsSameAttr()
154-
CpuSpecificNoDispatch((void (*)(void))CpuSpecificNoDispatch);
155-
// LINUX: @CpuSpecificNoDispatch.ifunc(ptr noundef @CpuSpecificNoDispatch.ifunc)
156-
// WINDOWS: @CpuSpecificNoDispatch(ptr noundef @CpuSpecificNoDispatch)
154+
CpuSpecificNoDispatch();
155+
// LINUX: @CpuSpecificNoDispatch.ifunc()
156+
// WINDOWS: @CpuSpecificNoDispatch()
157+
//
158+
// Adding another use of CpuSpecificNoDispatch reproduces the
159+
// crash in https://github.com/llvm/llvm-project/issues/115299
160+
CpuSpecificNoDispatch();
161+
// LINUX: @CpuSpecificNoDispatch.ifunc()
162+
// WINDOWS: @CpuSpecificNoDispatch()
157163
OrderDispatchUsageSpecific();
158164
// LINUX: @OrderDispatchUsageSpecific.ifunc()
159165
// WINDOWS: @OrderDispatchUsageSpecific()
@@ -162,7 +168,7 @@ void usages(void) {
162168
// WINDOWS: @OrderSpecificUsageDispatch()
163169
}
164170

165-
// LINUX: declare void @CpuSpecificNoDispatch.ifunc(ptr)
171+
// LINUX: declare void @CpuSpecificNoDispatch.ifunc()
166172

167173
// has an extra config to emit!
168174
ATTR(cpu_dispatch(ivybridge, knl, atom))

0 commit comments

Comments
 (0)