brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · e011147 Raw
157 lines · plain
1# RUN: llc -run-pass none -o - %s | FileCheck %s 2 3--- |4  target triple = "x86_64-unknown-linux-gnu"5 6  define ptr @foo(ptr %ptr, i64 %p2, i64 %p3, i64 %p4, i64 %p5, i64 %p6) {7  entry:8    %tobool.not = icmp eq ptr %ptr, null9    br i1 %tobool.not, label %if.then, label %if.end10  11  if.then:                                          ; preds = %entry12    %call = tail call ptr @bar(ptr %ptr, i64 %p2, i64 %p3, i64 %p4, i64 %p5, i64 %p6)13    br label %if.end14  15  if.end:                                           ; preds = %if.then, %entry16    %ptr.addr.0 = phi ptr [ %call, %if.then ], [ %ptr, %entry ]17    %incdec.ptr = getelementptr inbounds i8, ptr %ptr.addr.0, i64 118    %call2 = tail call ptr @qux(ptr %incdec.ptr, i64 %p2, i64 %p3, i64 %p4, i64 %p5, i64 %p6)19    ret ptr %call220  }21  22  declare ptr @bar(ptr, i64, i64, i64, i64, i64)23  24  declare ptr @qux(ptr, i64, i64, i64, i64, i64)25...26---27name:            foo28alignment:       1629exposesReturnsTwice: false30legalized:       false31regBankSelected: false32selected:        false33failedISel:      false34tracksRegLiveness: true35hasWinCFI:       false36noPhis:          true37isSSA:           false38noVRegs:         true39hasFakeUses:     false40callsEHReturn:   false41callsUnwindInit: false42hasEHContTarget: false43hasEHScopes:     false44hasEHFunclets:   false45isOutlined:      false46debugInstrRef:   true47failsVerification: false48tracksDebugUserValues: true49registers:       []50liveins:51  - { reg: '$rdi', virtual-reg: '' }52  - { reg: '$rsi', virtual-reg: '' }53  - { reg: '$rdx', virtual-reg: '' }54  - { reg: '$rcx', virtual-reg: '' }55  - { reg: '$r8', virtual-reg: '' }56  - { reg: '$r9', virtual-reg: '' }57frameInfo:58  isFrameAddressTaken: false59  isReturnAddressTaken: false60  hasStackMap:     false61  hasPatchPoint:   false62  stackSize:       063  offsetAdjustment: 064  maxAlignment:    165  adjustsStack:    true66  hasCalls:        true67  stackProtector:  ''68  functionContext: ''69  maxCallFrameSize: 429496729570  cvBytesOfCalleeSavedRegisters: 071  hasOpaqueSPAdjustment: false72  hasVAStart:      false73  hasMustTailInVarArgFunc: false74  hasTailCall:     true75  isCalleeSavedInfoValid: false76  localFrameSize:  077# CHECK:       savePoint:78# CHECK-NEXT:   - point:           '%bb.2'79# CHECK-NEXT:     registers:80# CHECK-NEXT:       - '$r12'81# CHECK-NEXT:       - '$r13'82# CHECK-NEXT:       - '$r14'83# CHECK-NEXT:       - '$r15'84# CHECK-NEXT:       - '$rbx'85# CHECK:      restorePoint:86# CHECK-NEXT:   - point:           '%bb.2'87# CHECK-NEXT:     registers:88# CHECK-NEXT:       - '$r12'89# CHECK-NEXT:       - '$r13'90# CHECK-NEXT:       - '$r14'91# CHECK-NEXT:       - '$r15'92# CHECK-NEXT:       - '$rbx'93  savePoint:94    - point:           '%bb.1'95      registers:96        - '$rbx'97        - '$r12'98        - '$r13'99        - '$r14'100        - '$r15'101  restorePoint:102    - point:           '%bb.1'103      registers:104        - '$rbx'105        - '$r12'106        - '$r13'107        - '$r14'108        - '$r15'109fixedStack:      []110stack:           []111entry_values:    []112callSites:       []113debugValueSubstitutions: []114constants:       []115machineFunctionInfo:116  amxProgModel:    None117body:             |118  bb.0.entry:119    successors: %bb.1(0x30000000), %bb.3(0x50000000)120    liveins: $rcx, $rdi, $rdx, $rsi, $r8, $r9121  122    TEST64rr renamable $rdi, renamable $rdi, implicit-def $eflags123    JCC_1 %bb.1, 4, implicit killed $eflags124  125  bb.3:126    successors: %bb.2(0x80000000)127    liveins: $rcx, $rdi, $rdx, $rsi, $r8, $r9128  129    JMP_1 %bb.2130  131  bb.1.if.then:132    successors: %bb.2(0x80000000)133    liveins: $rcx, $rdi, $rdx, $rsi, $r8, $r9134  135    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp136    renamable $rbx = COPY renamable $rsi137    renamable $r14 = COPY renamable $rdx138    renamable $r15 = COPY renamable $rcx139    renamable $r12 = COPY renamable $r8140    renamable $r13 = COPY renamable $r9141    CALL64pcrel32 target-flags(x86-plt) @bar, csr_64, implicit $rsp, implicit $ssp, implicit $rdi, implicit $rsi, implicit $rdx, implicit $rcx, implicit $r8, implicit $r9, implicit-def $rsp, implicit-def $ssp, implicit-def $rax142    renamable $rsi = COPY killed renamable $rbx143    renamable $rdx = COPY killed renamable $r14144    renamable $rcx = COPY killed renamable $r15145    renamable $r8 = COPY killed renamable $r12146    renamable $r9 = COPY killed renamable $r13147    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp148    renamable $rdi = COPY killed $rax149  150  bb.2.if.end:151    liveins: $rcx, $rdi, $rdx, $rsi, $r8, $r9152  153    renamable $rdi = nuw INC64r killed renamable $rdi, implicit-def dead $eflags154    TCRETURNdi64 target-flags(x86-plt) @qux, 0, csr_64, implicit $rsp, implicit $ssp, implicit $rdi, implicit $rsi, implicit $rdx, implicit $rcx, implicit $r8, implicit $r9155...156 157