mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
ae071ee9e2
There's two properties we want to verify: 1. That the successors returned by analyzeBranch are in the CFG successor list, and 2. That there are no extraneous successors are in the CFG successor list. The previous implementation mostly accomplished this, but in a very convoluted manner. Differential Revision: https://reviews.llvm.org/D79793
27 lines
798 B
YAML
27 lines
798 B
YAML
# RUN: not --crash llc -march=amdgcn -run-pass=verify -o - %s 2>&1 | FileCheck %s
|
|
# REQUIRES: amdgpu-registered-target
|
|
|
|
# Make sure that mismatched successors are caught when a _term
|
|
# instruction is used
|
|
|
|
# CHECK: *** Bad machine code: MBB exits via jump or conditional branch, but its target isn't a CFG successor! ***
|
|
# CHECK: *** Bad machine code: MBB has unexpected successors which are not branch targets, fallthrough, EHPads, or inlineasm_br targets. ***
|
|
|
|
---
|
|
name: verifier_pseudo_terminators
|
|
body: |
|
|
bb.0:
|
|
successors: %bb.1
|
|
|
|
%0:sreg_64 = S_XOR_B64_term undef %1:sreg_64, undef %2:sreg_64, implicit-def $scc
|
|
$exec = S_MOV_B64_term %0
|
|
S_BRANCH %bb.2
|
|
|
|
bb.1:
|
|
S_SETPC_B64_return undef $sgpr30_sgpr31
|
|
|
|
bb.2:
|
|
S_SETPC_B64_return undef $sgpr30_sgpr31
|
|
|
|
...
|