diff options
| author | Alex Bradbury <asb@lowrisc.org> | 2018-11-15 14:52:24 +0000 | 
|---|---|---|
| committer | Alex Bradbury <asb@lowrisc.org> | 2018-11-15 14:52:24 +0000 | 
| commit | f809d89980af560b39bd62aba6b39176c9171b8a (patch) | |
| tree | 479cd6dd436aca67aaf9c15a46fbfa085ca68836 /llvm/lib/Target/RISCV | |
| parent | 7727240438429813a1b61cd17370dbd9343f068d (diff) | |
| download | bcm5719-llvm-f809d89980af560b39bd62aba6b39176c9171b8a.tar.gz bcm5719-llvm-f809d89980af560b39bd62aba6b39176c9171b8a.zip  | |
[RISCV] Mark C.EBREAK instruction as having side effects
C.EBREAK was defined with hasSideEffects = 0, which is incorrect and 
inconsistent with the non-compressed instruction form. This patch corrects 
this oversight.
This wouldn't cause codegen issues, as compressed instructions are only ever 
generated by converting the non-compressed form as an MCInst. But having 
correct flags is still worthwhile.
Differential Revision: https://reviews.llvm.org/D54256
Patch by Luís Marques.
llvm-svn: 346959
Diffstat (limited to 'llvm/lib/Target/RISCV')
| -rw-r--r-- | llvm/lib/Target/RISCV/RISCVInstrInfoC.td | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoC.td b/llvm/lib/Target/RISCV/RISCVInstrInfoC.td index 21e6cae5ef9..a56778dd70f 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoC.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoC.td @@ -478,7 +478,7 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in  def C_MV : RVInst16CR<0b1000, 0b10, (outs GPRNoX0:$rs1), (ins GPRNoX0:$rs2),                        "c.mv", "$rs1, $rs2">; -let rs1 = 0, rs2 = 0, hasSideEffects = 0, mayLoad = 0, mayStore = 0 in +let rs1 = 0, rs2 = 0, hasSideEffects = 1, mayLoad = 0, mayStore = 0 in  def C_EBREAK : RVInst16CR<0b1001, 0b10, (outs), (ins), "c.ebreak", "">;  let hasSideEffects = 0, mayLoad = 0, mayStore = 0,  | 

