|
32 | 32 | ; RUN: FileCheck --input-file=%t.dbg --check-prefix=MACHINELICM-DBG %s |
33 | 33 | ; Check that MachineLICM hoists the CheriBoundedStackPseudoImm (MIPS) / IncOffset+SetBoundsImm (RISCV) instructions |
34 | 34 | ; 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 |
35 | 39 | @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 |
37 | 44 | ; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0 |
38 | 45 | @IF-RISCV32@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 512 |
39 | 46 | @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 |
40 | 49 | @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 |
41 | 54 | @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 |
43 | 59 | ; 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 |
45 | 64 | @IF-RISCV@; MACHINELICM-DBG-NEXT: from %bb.2 to %bb.0 |
46 | 65 | ; MACHINELICM-DBG-LABEL: ******** Pre-regalloc Machine LICM: hoist_alloca_cond |
47 | 66 | @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 |
49 | 75 | ; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0 |
50 | 76 | @IF-RISCV32@; MACHINELICM-DBG: Hoisting [[BOUNDS:%[0-9]+]]:gpcr = CSetBoundsImm [[INC]]:gpcr, 512 |
51 | 77 | @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 |
52 | 80 | @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 |
53 | 85 | @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 |
55 | 90 | ; 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 |
57 | 95 | @IF-RISCV@; MACHINELICM-DBG-NEXT: from %bb.3 to %bb.0 |
58 | 96 |
|
59 | 97 | ; RUN: llc @PURECAP_HARDFLOAT_ARGS@ -O1 -o - < %s | FileCheck %s |
|
0 commit comments