Skip to content

Commit 294ae1e

Browse files
committed
[AArch64][GlobalISel] Mark G_TRAP, G_DEBUGTRAP and G_UBSANTRAP as legal. NFC
Similar to #153545 these nodes are always legal for AArch64, this patch marks them so to reduce the dependency on the legacy legalizer ruleset.
1 parent ed742f8 commit 294ae1e

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,6 +1259,8 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
12591259

12601260
getActionDefinitionsBuilder(G_BRJT).legalFor({{p0, s64}});
12611261

1262+
getActionDefinitionsBuilder({G_TRAP, G_DEBUGTRAP, G_UBSANTRAP}).alwaysLegal();
1263+
12621264
getActionDefinitionsBuilder(G_DYN_STACKALLOC).custom();
12631265

12641266
getActionDefinitionsBuilder({G_STACKSAVE, G_STACKRESTORE}).lower();

llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -857,14 +857,16 @@
857857
# DEBUG-NEXT: .. type index coverage check SKIPPED: user-defined predicate detected
858858
# DEBUG-NEXT: .. imm index coverage check SKIPPED: user-defined predicate detected
859859
# DEBUG-NEXT: G_TRAP (opcode {{[0-9]+}}): 0 type indices, 0 imm indices
860-
# DEBUG-NEXT: .. type index coverage check SKIPPED: no rules defined
861-
# DEBUG-NEXT: .. imm index coverage check SKIPPED: no rules defined
860+
# DEBUG-NEXT: .. type index coverage check SKIPPED: user-defined predicate detected
861+
# DEBUG-NEXT: .. imm index coverage check SKIPPED: user-defined predicate detected
862862
# DEBUG-NEXT: G_DEBUGTRAP (opcode {{[0-9]+}}): 0 type indices, 0 imm indices
863-
# DEBUG-NEXT: .. type index coverage check SKIPPED: no rules defined
864-
# DEBUG-NEXT: .. imm index coverage check SKIPPED: no rules defined
863+
# DEBUG-NEXT: .. opcode {{[0-9]+}} is aliased to {{[0-9]+}}
864+
# DEBUG-NEXT: .. type index coverage check SKIPPED: user-defined predicate detected
865+
# DEBUG-NEXT: .. imm index coverage check SKIPPED: user-defined predicate detected
865866
# DEBUG-NEXT: G_UBSANTRAP (opcode {{[0-9]+}}): 0 type indices, 0 imm indices
866-
# DEBUG-NEXT: .. type index coverage check SKIPPED: no rules defined
867-
# DEBUG-NEXT: .. imm index coverage check SKIPPED: no rules defined
867+
# DEBUG-NEXT: .. opcode {{[0-9]+}} is aliased to {{[0-9]+}}
868+
# DEBUG-NEXT: .. type index coverage check SKIPPED: user-defined predicate detected
869+
# DEBUG-NEXT: .. imm index coverage check SKIPPED: user-defined predicate detected
868870
# DEBUG-NEXT: G_VECREDUCE_SEQ_FADD (opcode {{[0-9]+}}): 3 type indices, 0 imm indices
869871
# DEBUG-NEXT: .. type index coverage check SKIPPED: user-defined predicate detected
870872
# DEBUG-NEXT: .. imm index coverage check SKIPPED: user-defined predicate detected

llvm/test/CodeGen/AArch64/arm64-trap.ll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s
22
; RUN: llc < %s -mtriple=arm64-eabi -global-isel | FileCheck %s
3+
34
define void @foo() nounwind {
45
; CHECK-LABEL: foo
56
; CHECK: brk #0x1

0 commit comments

Comments
 (0)