You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
@ -1,98 +0,0 @@
|
||||
# RUN: llc -o - %s -start-after=if-converter | FileCheck %s
|
||||
|
||||
--- |
|
||||
target datalayout = "E-m:e-i64:64-n32:64"
|
||||
target triple = "powerpc64-unknown-linux-gnu"
|
||||
|
||||
%struct.rwlock_t.0.22.58.68.242.244 = type {}
|
||||
|
||||
@tasklist_lock = external global %struct.rwlock_t.0.22.58.68.242.244, align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define void @mm_update_next_owner(i8** %p1, i32* %p2) #0 {
|
||||
entry:
|
||||
%0 = load i8*, i8** %p1, align 8
|
||||
br i1 undef, label %do.body.92, label %for.body.21
|
||||
|
||||
for.body.21: ; preds = %entry
|
||||
unreachable
|
||||
|
||||
do.body.92: ; preds = %entry
|
||||
%usage = getelementptr inbounds i8, i8* %0, i64 -48
|
||||
%counter.i = bitcast i8* %usage to i32*
|
||||
%call95 = tail call signext i32 bitcast (i32 (...)* @__raw_read_unlock to i32 (%struct.rwlock_t.0.22.58.68.242.244*)*)(%struct.rwlock_t.0.22.58.68.242.244* nonnull @tasklist_lock) #1
|
||||
store volatile i32 0, i32* %p2, align 4
|
||||
tail call void asm sideeffect "#compiler barrier", "~{memory}"() #1
|
||||
%1 = tail call i32 asm sideeffect "\0Alwsync \0A1:\09lwarx\09$0,0,$1\09\09# atomic_dec_return\0A\09addic\09$0,$0,-1\0A\09stwcx.\09$0,0,$1\0A\09bne-\091b\0Async \0A", "=&r,r,~{cc},~{xer},~{memory}"(i32* %counter.i) #1
|
||||
%cmp.i = icmp eq i32 %1, 0
|
||||
br i1 %cmp.i, label %if.then.i, label %put_task_struct.exit
|
||||
|
||||
if.then.i: ; preds = %do.body.92
|
||||
unreachable
|
||||
|
||||
put_task_struct.exit: ; preds = %do.body.92
|
||||
ret void
|
||||
}
|
||||
|
||||
declare signext i32 @__raw_read_unlock(...)
|
||||
|
||||
attributes #0 = { nounwind "target-cpu"="pwr7" }
|
||||
attributes #1 = { nounwind }
|
||||
|
||||
...
|
||||
---
|
||||
name: mm_update_next_owner
|
||||
alignment: 4
|
||||
exposesReturnsTwice: false
|
||||
tracksRegLiveness: true
|
||||
liveins:
|
||||
- { reg: '%x3' }
|
||||
- { reg: '%x4' }
|
||||
frameInfo:
|
||||
isFrameAddressTaken: false
|
||||
isReturnAddressTaken: false
|
||||
hasStackMap: false
|
||||
hasPatchPoint: false
|
||||
stackSize: 144
|
||||
offsetAdjustment: 0
|
||||
maxAlignment: 0
|
||||
adjustsStack: true
|
||||
hasCalls: true
|
||||
maxCallFrameSize: 112
|
||||
hasOpaqueSPAdjustment: false
|
||||
hasVAStart: false
|
||||
hasMustTailInVarArgFunc: false
|
||||
fixedStack:
|
||||
- { id: 0, type: spill-slot, offset: -16, size: 8, alignment: 16, callee-saved-register: '%x30' }
|
||||
- { id: 1, type: spill-slot, offset: -24, size: 8, alignment: 8, callee-saved-register: '%x29' }
|
||||
body: |
|
||||
bb.0.entry:
|
||||
liveins: %x3, %x4, %x29, %x30, %x29, %x30
|
||||
|
||||
%x0 = MFLR8 implicit %lr8
|
||||
STD %x0, 16, %x1
|
||||
%x1 = STDU %x1, -144, %x1
|
||||
STD killed %x29, 120, %x1 :: (store 8 into %fixed-stack.1)
|
||||
STD killed %x30, 128, %x1 :: (store 8 into %fixed-stack.0, align 16)
|
||||
%x30 = OR8 %x4, %x4
|
||||
%x3 = LD 0, killed %x3 :: (load 8 from %ir.p1)
|
||||
%x29 = ADDI8 killed %x3, -48
|
||||
%x3 = ADDIStocHA %x2, @tasklist_lock
|
||||
%x3 = LDtocL @tasklist_lock, killed %x3, implicit %x2 :: (load 8 from got)
|
||||
BL8_NOP @__raw_read_unlock, csr_svr464_altivec, implicit-def %lr8, implicit %rm, implicit %x3, implicit %x2, implicit-def %r1, implicit-def dead %x3
|
||||
%r3 = LI 0
|
||||
STW killed %r3, 0, killed %x30 :: (volatile store 4 into %ir.p2)
|
||||
INLINEASM $"#compiler barrier", 25
|
||||
INLINEASM $"\0Alwsync \0A1:\09lwarx\09$0,0,$1\09\09# atomic_dec_return\0A\09addic\09$0,$0,-1\0A\09stwcx.\09$0,0,$1\0A\09bne-\091b\0Async \0A", 25, 131083, def early-clobber %r3, 851977, killed %x29, 12, implicit-def dead early-clobber %cr0
|
||||
; CHECK-LABEL: @mm_update_next_owner
|
||||
; CHECK-NOT: lwarx 29, 0, 29
|
||||
; CHECK-NOT: stwcx. 29, 0, 29
|
||||
%cr0 = CMPLWI killed %r3, 0
|
||||
%x30 = LD 128, %x1 :: (load 8 from %fixed-stack.0, align 16)
|
||||
%x29 = LD 120, %x1 :: (load 8 from %fixed-stack.1)
|
||||
%x1 = ADDI8 %x1, 144
|
||||
%x0 = LD 16, %x1
|
||||
MTLR8 %x0, implicit-def %lr8
|
||||
BLR8 implicit %lr8, implicit %rm
|
||||
|
||||
...
|
Reference in New Issue
Block a user