Skip to content

Commit d917497

Browse files
committed
[CHERI] Generate CodeGen tests for RVY32/64
1 parent e5b4390 commit d917497

File tree

81 files changed

+17467
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+17467
-7
lines changed

llvm/test/CodeGen/CHERI-Generic/Inputs/global-capinit-hybrid.ll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@
33
@IF-MIPS@; RUN: FileCheck %s --check-prefix=ASM -DPTR_DIRECTIVE=.8byte
44
@IF-RISCV64@; RUN: FileCheck %s --check-prefix=ASM -DPTR_DIRECTIVE=.quad
55
@IF-RISCV32@; RUN: FileCheck %s --check-prefix=ASM -DPTR_DIRECTIVE=.word
6+
@IF-RISCV64Y@; RUN: FileCheck %s --check-prefix=ASM -DPTR_DIRECTIVE=.quad
7+
@IF-RISCV32Y@; RUN: FileCheck %s --check-prefix=ASM -DPTR_DIRECTIVE=.word
68
; RUN: llc @HYBRID_HARDFLOAT_ARGS@ %s -filetype=obj -o - | llvm-objdump -r -t - | \
79
@IF-MIPS@; RUN: FileCheck %s --check-prefix=RELOCS '-DINTEGER_RELOC=R_MIPS_64/R_MIPS_NONE/R_MIPS_NONE' '-DCAPABILITY_RELOC=R_MIPS_CHERI_CAPABILITY/R_MIPS_NONE/R_MIPS_NONE'
810
@IF-RISCV64@; RUN: FileCheck %s --check-prefix=RELOCS -DINTEGER_RELOC=R_RISCV_64 '-DCAPABILITY_RELOC=R_RISCV_CHERI_CAPABILITY'
911
@IF-RISCV32@; RUN: FileCheck %s --check-prefix=RELOCS -DINTEGER_RELOC=R_RISCV_32 '-DCAPABILITY_RELOC=R_RISCV_CHERI_CAPABILITY'
12+
@IF-RISCV64Y@; RUN: FileCheck %s --check-prefix=RELOCS -DINTEGER_RELOC=R_RISCV_64 '-DCAPABILITY_RELOC=R_RISCV_CHERI_CAPABILITY'
13+
@IF-RISCV32Y@; RUN: FileCheck %s --check-prefix=RELOCS -DINTEGER_RELOC=R_RISCV_32 '-DCAPABILITY_RELOC=R_RISCV_CHERI_CAPABILITY'
1014
target datalayout = "@HYBRID_DATALAYOUT@"
1115

1216
declare void @extern_fn()

llvm/test/CodeGen/CHERI-Generic/Inputs/hoist-alloca.ll

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,66 @@
3232
; RUN: FileCheck --input-file=%t.dbg --check-prefix=MACHINELICM-DBG %s
3333
; Check that MachineLICM hoists the CheriBoundedStackPseudoImm (MIPS) / IncOffset+SetBoundsImm (RISCV) instructions
3434
; MACHINELICM-DBG-LABEL: ******** Pre-regalloc Machine LICM: hoist_alloca_uncond
35+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 512
36+
@IF-RISCV32Y@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
37+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 492
38+
@IF-RISCV64Y@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
3539
@IF-MIPS@; MACHINELICM-DBG: Hoisting %{{[0-9]+}}:cherigpr = CheriBoundedStackPseudoImm %stack.0.buf1, 0, 492
36-
@IF-RISCV@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.0.buf1, 0
40+
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.0.buf1, 0
41+
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.0.buf1, 0
42+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.0.buf1, 0
43+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.0.buf1, 0
3744
; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
3845
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 512
3946
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 492
47+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
48+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
4049
@IF-RISCV@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
50+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 88
51+
@IF-RISCV32Y@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
52+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 88
53+
@IF-RISCV64Y@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
4154
@IF-MIPS@; MACHINELICM-DBG: Hoisting %{{[0-9]+}}:cherigpr = CheriBoundedStackPseudoImm %stack.1.buf2, 0, 88
42-
@IF-RISCV@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.1.buf2, 0
55+
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.1.buf2, 0
56+
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.1.buf2, 0
57+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.1.buf2, 0
58+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.1.buf2, 0
4359
; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
44-
@IF-RISCV@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 88
60+
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 88
61+
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 88
62+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
63+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
4564
@IF-RISCV@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0
4665
; MACHINELICM-DBG-LABEL: ******** Pre-regalloc Machine LICM: hoist_alloca_cond
4766
@IF-MIPS@; MACHINELICM-DBG: Hoisting %{{[0-9]+}}:cherigpr = CheriBoundedStackPseudoImm %stack.0.buf1, 0, 492
48-
@IF-RISCV@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.0.buf1, 0
67+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 512
68+
@IF-RISCV32Y@; from %bb.3 to %bb.0
69+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 492
70+
@IF-RISCV64Y@; from %bb.3 to %bb.0
71+
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.0.buf1, 0
72+
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.0.buf1, 0
73+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.0.buf1, 0
74+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.0.buf1, 0
4975
; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0
5076
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 512
5177
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 492
78+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
79+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
5280
@IF-RISCV@; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0
81+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 88
82+
@IF-RISCV32Y@; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0
83+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[IMM:%[0-9]+]]:gpr = ADDI $x0, 88
84+
@IF-RISCV64Y@; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0
5385
@IF-MIPS@; MACHINELICM-DBG: Hoisting %{{[0-9]+}}:cherigpr = CheriBoundedStackPseudoImm %stack.1.buf2, 0, 88
54-
@IF-RISCV@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.1.buf2, 0
86+
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.1.buf2, 0
87+
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = CIncOffsetImm %stack.1.buf2, 0
88+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.1.buf2, 0
89+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[INC:%[0-9]+]]:gpcr = ADDIY %stack.1.buf2, 0
5590
; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0
56-
@IF-RISCV@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 88
91+
@IF-RISCV64@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 88
92+
@IF-RISCV32@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 88
93+
@IF-RISCV32Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
94+
@IF-RISCV64Y@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = YBNDSRW [[INC]]:gpcr, [[IMM]]:gpr
5795
@IF-RISCV@; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0
5896

5997
; RUN: llc @PURECAP_HARDFLOAT_ARGS@ -O1 -o - < %s | FileCheck %s

0 commit comments

Comments
 (0)