Files
clang-p2996/llvm/test/CodeGen/X86/branchfolding-ehpad.mir
Arthur Eubanks fc937806ef Don't jump to landing pads in Control Flow Optimizer
Summary: Likely fixes https://bugs.llvm.org/show_bug.cgi?id=45858.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80047
2020-05-21 15:19:10 -07:00

29 lines
726 B
YAML

# RUN: llc -mtriple=x86_64-windows-msvc -verify-machineinstrs -run-pass branch-folder -o - %s | FileCheck %s
# Check that branch-folder does not create a fallthrough to a landing pad.
# Also make sure that the landing pad still can be tail merged.
---
name: foo
body: |
; CHECK-LABEL: name: foo
bb.0:
successors: %bb.1, %bb.3
bb.1:
JCC_1 %bb.4, 5, implicit killed $eflags
bb.2:
MOV8mi $r13, 1, $noreg, 0, $noreg, 0
JMP_1 %bb.5
; CHECK: bb.2:
; CHECK-NOT: successors: {{.*}}bb.3
; CHECK: bb.3 (landing-pad):
; CHECK-NOT: MOV8mi
bb.3(landing-pad):
MOV8mi $r13, 1, $noreg, 0, $noreg, 0
JMP_1 %bb.5
; CHECK: bb.4:
bb.4:
MOV8mi $r13, 2, $noreg, 0, $noreg, 0
bb.5:
RET 0
...