103 lines · plain
1# RUN: llc -march=hexagon -run-pass=hexagon-rdf-opt \2# RUN: -hexagon-rdf-dump -verify-machineinstrs -o /dev/null %s 2>&1 \3# RUN: | FileCheck %s4 5# Check that phi nodes that only have clobbering reaching defs are not created6# during graph construction. Check that there are no phi nodes for HVX registers7 8#CHECK-LABEL: --- %bb.1 ---9#CHECK-NOT: p{{[0-9]+}}: phi [+d{{[0-9]+}}<V{{[0-9]+}}>10 11--- |12 @.str.3 = private unnamed_addr constant [2 x i8] c"%d", align 813 @.str.4 = private unnamed_addr constant [2 x i8] c"%d", align 814 15 define internal fastcc void @foo() unnamed_addr {16 entry:17 ret void18 }19 20 declare dso_local noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr21 22---23name: foo24alignment: 1625exposesReturnsTwice: false26legalized: false27regBankSelected: false28selected: false29failedISel: false30tracksRegLiveness: true31hasWinCFI: false32callsEHReturn: false33callsUnwindInit: false34hasEHContTarget: false35hasEHScopes: false36hasEHFunclets: false37isOutlined: false38debugInstrRef: false39failsVerification: false40tracksDebugUserValues: true41registers: []42liveins:43 - { reg: '$d0', virtual-reg: '' }44 - { reg: '$d3', virtual-reg: '' }45 - { reg: '$r23', virtual-reg: '' }46frameInfo:47 isFrameAddressTaken: false48 isReturnAddressTaken: false49 hasStackMap: false50 hasPatchPoint: false51 stackSize: 052 offsetAdjustment: 053 maxAlignment: 854 adjustsStack: true55 hasCalls: true56 stackProtector: ''57 functionContext: ''58 maxCallFrameSize: 429496729559 cvBytesOfCalleeSavedRegisters: 060 hasOpaqueSPAdjustment: false61 hasVAStart: false62 hasMustTailInVarArgFunc: false63 hasTailCall: false64 isCalleeSavedInfoValid: false65 localFrameSize: 066 savePoint: []67 restorePoint: []68entry_values: []69callSites: []70debugValueSubstitutions: []71constants: []72machineFunctionInfo: {}73body: |74 bb.0.entry:75 successors: %bb.176 liveins: $r25, $r26, $d1177 78 renamable $r16 = A2_tfrsi 079 S2_storerd_io $r29, 0, renamable $d11 :: (store (s64) into stack)80 $r0 = A2_tfrsi @.str.381 J2_call @printf, hexagoncsr, implicit-def dead $pc, implicit-def dead $r31, implicit $r29, implicit $r0, implicit-def $r29, implicit-def dead $r082 J2_jump %bb.1, implicit-def dead $pc83 84 bb.1:85 successors: %bb.2, %bb.186 liveins: $r16, $r25, $r2687 88 S2_storeri_io $r29, 0, killed renamable $r25 :: (store (s32) into stack)89 $r0 = A2_tfrsi @.str.490 S2_storeri_io $r29, 8, killed renamable $r26 :: (store (s64) into stack + 8)91 J2_call @printf, hexagoncsr, implicit-def dead $pc, implicit-def dead $r31, implicit $r29, implicit $r0, implicit-def $r29, implicit-def dead $r092 renamable $p0 = C2_cmpgti renamable $r16, 493 renamable $r16 = nsw A2_addi killed renamable $r16, 194 J2_jumpf killed renamable $p0, %bb.2, implicit-def dead $pc95 J2_jump %bb.1, implicit-def dead $pc96 97 bb.2:98 liveins: $r16, $r25, $r2699 100 PS_jmpret $r31, implicit-def dead $pc101 102...103