Files
clang-p2996/llvm/test/CodeGen/PowerPC/tls-crash.mir
Jay Foad 3ff319c690 [PowerPC] PPCTLSDynamicCall does not preserve LiveIntervals
According to D127731, PPCTLSDynamicCall does not preserve
LiveIntervals, so stop claiming that it does and remove the code
that tried to repair them. NFCI.

Differential Revision: https://reviews.llvm.org/D128421
2022-07-05 20:09:42 +01:00

26 lines
954 B
YAML

# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr10 -relocation-model=pic -run-pass=ppc-tls-dynamic-call,pipeliner -verify-machineinstrs %s -o - | FileCheck %s
# Just check that MachineVerifier does not fail due to PPCTLSDynamicCall failing
# to preserve some analyses.
# CHECK: name: test
--- |
%0 = type { i32 (...)**, %0* }
@x = external dso_local thread_local unnamed_addr global %0*, align 8
define void @test(i8* %arg) { ret void }
...
---
name: test
tracksRegLiveness: true
body: |
bb.0:
liveins: $x3
%0:g8rc = COPY killed $x3
%1:g8rc_and_g8rc_nox0 = PADDI8pc 0, target-flags(ppc-pcrel, ppc-got, ppc-tlsld) @x
%2:g8rc_and_g8rc_nox0 = PADDIdtprel killed %1, target-flags(ppc-pcrel, ppc-got, ppc-tlsld) @x
STD killed %0, 0, killed %2 :: (store (s64) into `i8** bitcast (%0** @x to i8**)`)
BLR8 implicit $lr8, implicit $rm
...