Skip to content

Commit 7dba3c0

Browse files
committed
[RISCV] Set isTrap for EBREAK and UNIMP
This is done for completeness. The property isn't used in upstream llvm/, although it is queried in BOLT in MCPlusBuilder.cpp.
1 parent e2c43ba commit 7dba3c0

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfo.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,7 @@ def ECALL : RVInstI<0b000, OPC_SYSTEM, (outs), (ins), "ecall", "">, Sched<[Write
752752
let imm12 = 0;
753753
}
754754

755+
let isTrap = 1 in
755756
def EBREAK : RVInstI<0b000, OPC_SYSTEM, (outs), (ins), "ebreak", "">,
756757
Sched<[]> {
757758
let rs1 = 0;
@@ -762,6 +763,7 @@ def EBREAK : RVInstI<0b000, OPC_SYSTEM, (outs), (ins), "ebreak", "">,
762763
// This is a de facto standard (as set by GNU binutils) 32-bit unimplemented
763764
// instruction (i.e., it should always trap, if your implementation has invalid
764765
// instruction traps).
766+
let isTrap = 1 in
765767
def UNIMP : RVInstI<0b001, OPC_SYSTEM, (outs), (ins), "unimp", "">,
766768
Sched<[]> {
767769
let rs1 = 0;

0 commit comments

Comments
 (0)