Skip to content

Commit cc0b299

Browse files
committed
[𝘀𝗽𝗿] initial version
Created using spr 1.3.6-beta.1
1 parent 2e3d212 commit cc0b299

File tree

10 files changed

+29
-28
lines changed

10 files changed

+29
-28
lines changed

llvm/lib/Transforms/IPO/LowerTypeTests.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1701,8 +1701,9 @@ void LowerTypeTestsModule::buildBitSetsFromFunctionsNative(
17011701
GlobalValue::PrivateLinkage,
17021702
M.getDataLayout().getProgramAddressSpace(),
17031703
".cfi.jumptable", &M);
1704+
ArrayType *JumpTableEntryType = ArrayType::get(Int8Ty, EntrySize);
17041705
ArrayType *JumpTableType =
1705-
ArrayType::get(ArrayType::get(Int8Ty, EntrySize), Functions.size());
1706+
ArrayType::get(JumpTableEntryType, Functions.size());
17061707
auto JumpTable = ConstantExpr::getPointerCast(
17071708
JumpTableFn, PointerType::getUnqual(M.getContext()));
17081709

@@ -1723,7 +1724,7 @@ void LowerTypeTestsModule::buildBitSetsFromFunctionsNative(
17231724
if (!IsJumpTableCanonical) {
17241725
GlobalValue::LinkageTypes LT = IsExported ? GlobalValue::ExternalLinkage
17251726
: GlobalValue::InternalLinkage;
1726-
GlobalAlias *JtAlias = GlobalAlias::create(F->getValueType(), 0, LT,
1727+
GlobalAlias *JtAlias = GlobalAlias::create(JumpTableEntryType, 0, LT,
17271728
F->getName() + ".cfi_jt",
17281729
CombinedGlobalElemPtr, &M);
17291730
if (IsExported)
@@ -1748,8 +1749,9 @@ void LowerTypeTestsModule::buildBitSetsFromFunctionsNative(
17481749
} else {
17491750
assert(F->getType()->getAddressSpace() == 0);
17501751

1751-
GlobalAlias *FAlias = GlobalAlias::create(
1752-
F->getValueType(), 0, F->getLinkage(), "", CombinedGlobalElemPtr, &M);
1752+
GlobalAlias *FAlias =
1753+
GlobalAlias::create(JumpTableEntryType, 0, F->getLinkage(), "",
1754+
CombinedGlobalElemPtr, &M);
17531755
FAlias->setVisibility(F->getVisibility());
17541756
FAlias->takeName(F);
17551757
if (FAlias->hasName()) {

llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
; RUN: opt -S %s -passes=lowertypetests | FileCheck %s
22

33
; CHECK: @badfileops = internal global %struct.f { ptr @bad_f, ptr @bad_f }
4-
; CHECK: @bad_f = internal alias void (), ptr @.cfi.jumptable
4+
; CHECK: @bad_f = internal alias [8 x i8], ptr @.cfi.jumptable
55
; CHECK: define internal void @bad_f.cfi() !type !0 {
66
; CHECK-NEXT: ret void
77

llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ RUN: opt test1.bc -passes=lowertypetests -lowertypetests-read-summary=in.yaml \
1212
RUN: -lowertypetests-summary-action=export -lowertypetests-write-summary=exported.yaml \
1313
RUN: -S -o - | FileCheck %s --check-prefix=REGULAR
1414
REGULAR: @__typeid__ZTSFvvE_global_addr = hidden alias i8, ptr @.cfi.jumptable
15-
REGULAR: @f = alias void (), ptr @.cfi.jumptable
15+
REGULAR: @f = alias [8 x i8], ptr @.cfi.jumptable
1616
REGULAR: define private void @.cfi.jumptable()
1717

1818
;; CHECK that @llvm.type.test() is lowered to an actual check.

llvm/test/Transforms/LowerTypeTests/export-alias.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
; RUN: opt -S %s -passes=lowertypetests -lowertypetests-summary-action=export -lowertypetests-read-summary=%S/Inputs/exported-funcs.yaml | FileCheck %s
22
;
3-
; CHECK: @alias1 = weak alias void (), ptr @external_addrtaken
4-
; CHECK: @alias2 = hidden alias void (), ptr @external_addrtaken
3+
; CHECK: @alias1 = weak alias [8 x i8], ptr @external_addrtaken
4+
; CHECK: @alias2 = hidden alias [8 x i8], ptr @external_addrtaken
55
; CHECK-NOT: @alias3 = alias
66
; CHECK-NOT: @not_present
77

llvm/test/Transforms/LowerTypeTests/export-icall.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ define void @f3(i32 %x) !type !8 {
4040
; CHECK-DAG: @__typeid_typeid1_align = hidden alias i8, inttoptr (i64 3 to ptr)
4141
; CHECK-DAG: @__typeid_typeid1_size_m1 = hidden alias i8, inttoptr (i64 4 to ptr)
4242

43-
; CHECK-DAG: @h = alias void (i8), ptr [[JT1]]
44-
; CHECK-DAG: @f = alias void (i32), {{.*}}getelementptr {{.*}}ptr [[JT1]]
45-
; CHECK-DAG: @f2 = alias void (i32), {{.*}}getelementptr {{.*}}ptr [[JT1]]
46-
; CHECK-DAG: @external.cfi_jt = hidden alias void (), {{.*}}getelementptr {{.*}}ptr [[JT1]]
47-
; CHECK-DAG: @external_weak.cfi_jt = hidden alias void (), {{.*}}getelementptr {{.*}}ptr [[JT1]]
43+
; CHECK-DAG: @h = alias [8 x i8], ptr [[JT1]]
44+
; CHECK-DAG: @f = alias [8 x i8], {{.*}}getelementptr {{.*}}ptr [[JT1]]
45+
; CHECK-DAG: @f2 = alias [8 x i8], {{.*}}getelementptr {{.*}}ptr [[JT1]]
46+
; CHECK-DAG: @external.cfi_jt = hidden alias [8 x i8], {{.*}}getelementptr {{.*}}ptr [[JT1]]
47+
; CHECK-DAG: @external_weak.cfi_jt = hidden alias [8 x i8], {{.*}}getelementptr {{.*}}ptr [[JT1]]
4848

4949
; CHECK-DAG: @__typeid_typeid2_global_addr = hidden alias i8, ptr [[JT2:.*]]
5050

51-
; CHECK-DAG: @g = alias void (), ptr [[JT2]]
51+
; CHECK-DAG: @g = alias [8 x i8], ptr [[JT2]]
5252

5353
; CHECK-DAG: define hidden void @h.cfi(i8 {{.*}}) !type !{{.*}}
5454
; CHECK-DAG: declare !type !{{.*}} void @external()

llvm/test/Transforms/LowerTypeTests/function-disjoint.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
target datalayout = "e-p:64:64"
77

8-
; X64: @g = alias void (), ptr @[[JT1:.*]]
9-
; X64: @f = alias void (), ptr @[[JT0:.*]]
8+
; X64: @g = alias [8 x i8], ptr @[[JT1:.*]]
9+
; X64: @f = alias [8 x i8], ptr @[[JT0:.*]]
1010

1111
; WASM32: private constant [0 x i8] zeroinitializer
1212
@0 = private unnamed_addr constant [2 x ptr] [ptr @f, ptr @g], align 16

llvm/test/Transforms/LowerTypeTests/function.ll

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ target datalayout = "e-p:64:64"
2828
; NATIVE: private constant [0 x i8] zeroinitializer
2929
; WASM32: private constant [0 x i8] zeroinitializer
3030

31-
; NATIVE: @f = alias void (), ptr @[[JT:.*]]
32-
33-
; X86: @g = internal alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @[[JT]], i64 0, i64 1)
34-
; ARM: @g = internal alias void (), getelementptr inbounds ([2 x [4 x i8]], ptr @[[JT]], i64 0, i64 1)
35-
; THUMB: @g = internal alias void (), getelementptr inbounds ([2 x [4 x i8]], ptr @[[JT]], i64 0, i64 1)
36-
; THUMBV6M: @g = internal alias void (), getelementptr inbounds ([2 x [16 x i8]], ptr @[[JT]], i64 0, i64 1)
37-
; RISCV: @g = internal alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @[[JT]], i64 0, i64 1)
38-
; LOONGARCH64: @g = internal alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @[[JT]], i64 0, i64 1)
31+
; JT4: @f = alias [4 x i8], ptr @[[JT:.*]]
32+
; JT8: @f = alias [8 x i8], ptr @[[JT:.*]]
33+
; JT16: @f = alias [16 x i8], ptr @[[JT:.*]]
34+
35+
; JT4: @g = internal alias [4 x i8], getelementptr inbounds ([2 x [4 x i8]], ptr @[[JT]], i64 0, i64 1)
36+
; JT8: @g = internal alias [8 x i8], getelementptr inbounds ([2 x [8 x i8]], ptr @[[JT]], i64 0, i64 1)
37+
; JT16: @g = internal alias [16 x i8], getelementptr inbounds ([2 x [16 x i8]], ptr @[[JT]], i64 0, i64 1)
3938

4039
; NATIVE: define hidden void @f.cfi()
4140
; WASM32: define void @f() !type !{{[0-9]+}} !wasm.index ![[I0:[0-9]+]]

llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ target triple = "x86_64-unknown-linux"
66
; CHECK: @0 = private constant { i32, [0 x i8], i32 } { i32 1, [0 x i8] zeroinitializer, i32 2 }
77
; CHECK: @g1 = alias i32, ptr @0
88
; CHECK: @g2 = alias i32, getelementptr inbounds ({ i32, [0 x i8], i32 }, ptr @0, i32 0, i32 2)
9-
; CHECK: @f1 = alias void (), ptr @.cfi.jumptable
10-
; CHECK: @f2 = alias void (), getelementptr inbounds ([2 x [8 x i8]], ptr @.cfi.jumptable, i64 0, i64 1)
9+
; CHECK: @f1 = alias [8 x i8], ptr @.cfi.jumptable
10+
; CHECK: @f2 = alias [8 x i8], getelementptr inbounds ([2 x [8 x i8]], ptr @.cfi.jumptable, i64 0, i64 1)
1111

1212
@g1 = constant i32 1
1313
@g2 = constant i32 2

llvm/test/Transforms/LowerTypeTests/pr37625.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ declare !type !2 extern_weak void @external_addrtaken(i8)
1111
!1 = !{!"external_addrtaken", i8 0, !2}
1212
!2 = !{i64 0, !"typeid1"}
1313

14-
; CHECK-DAG: @external_addrtaken = alias void (i8), ptr @.cfi.jumptable
14+
; CHECK-DAG: @external_addrtaken = alias [8 x i8], ptr @.cfi.jumptable

llvm/test/Transforms/LowerTypeTests/section.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
target triple = "x86_64-unknown-linux-gnu"
77

8-
; CHECK: @f = alias void (), ptr @[[JT:.*]]
8+
; CHECK: @f = alias [8 x i8], ptr @[[JT:.*]]
99
; CHECK: define hidden void @f.cfi() section "xxx"
1010

1111
define void @f() section "xxx" !type !0 {

0 commit comments

Comments
 (0)