diff options
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonPseudo.td')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonPseudo.td | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonPseudo.td b/llvm/lib/Target/Hexagon/HexagonPseudo.td index 50900d8cd25..7dd25d7d93d 100644 --- a/llvm/lib/Target/Hexagon/HexagonPseudo.td +++ b/llvm/lib/Target/Hexagon/HexagonPseudo.td @@ -559,3 +559,8 @@ defm PS_storerh : NewCircularStore<IntRegs, HalfWordAccess>; defm PS_storerf : NewCircularStore<IntRegs, HalfWordAccess>; defm PS_storeri : NewCircularStore<IntRegs, WordAccess>; defm PS_storerd : NewCircularStore<DoubleRegs, WordAccess>; + +// A pseudo that generates a runtime crash. This is used to implement +// __builtin_trap. +let hasSideEffects = 1, isPseudo = 1, isCodeGenOnly = 1, isSolo = 1 in +def PS_crash: InstHexagon<(outs), (ins), "", [], "", PSEUDO, TypePSEUDO>; |