# RUN: llc -march=hexagon -run-pass=hexagon-rdf-opt \ # RUN: -hexagon-rdf-dump -verify-machineinstrs -o /dev/null %s 2>&1 \ # RUN: | FileCheck %s # Check that phi nodes that only have clobbering reaching defs are not created # during graph construction. Check that there are no phi nodes for HVX registers #CHECK-LABEL: --- %bb.1 --- #CHECK-NOT: p{{[0-9]+}}: phi [+d{{[0-9]+}} --- | @.str.3 = private unnamed_addr constant [2 x i8] c"%d", align 8 @.str.4 = private unnamed_addr constant [2 x i8] c"%d", align 8 define internal fastcc void @foo() unnamed_addr { entry: ret void } declare dso_local noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr --- name: foo alignment: 16 exposesReturnsTwice: false legalized: false regBankSelected: false selected: false failedISel: false tracksRegLiveness: true hasWinCFI: false callsEHReturn: false callsUnwindInit: false hasEHContTarget: false hasEHScopes: false hasEHFunclets: false isOutlined: false debugInstrRef: false failsVerification: false tracksDebugUserValues: true registers: [] liveins: - { reg: '$d0', virtual-reg: '' } - { reg: '$d3', virtual-reg: '' } - { reg: '$r23', virtual-reg: '' } frameInfo: isFrameAddressTaken: false isReturnAddressTaken: false hasStackMap: false hasPatchPoint: false stackSize: 0 offsetAdjustment: 0 maxAlignment: 8 adjustsStack: true hasCalls: true stackProtector: '' functionContext: '' maxCallFrameSize: 4294967295 cvBytesOfCalleeSavedRegisters: 0 hasOpaqueSPAdjustment: false hasVAStart: false hasMustTailInVarArgFunc: false hasTailCall: false isCalleeSavedInfoValid: false localFrameSize: 0 savePoint: [] restorePoint: [] entry_values: [] callSites: [] debugValueSubstitutions: [] constants: [] machineFunctionInfo: {} body: | bb.0.entry: successors: %bb.1 liveins: $r25, $r26, $d11 renamable $r16 = A2_tfrsi 0 S2_storerd_io $r29, 0, renamable $d11 :: (store (s64) into stack) $r0 = A2_tfrsi @.str.3 J2_call @printf, hexagoncsr, implicit-def dead $pc, implicit-def dead $r31, implicit $r29, implicit $r0, implicit-def $r29, implicit-def dead $r0 J2_jump %bb.1, implicit-def dead $pc bb.1: successors: %bb.2, %bb.1 liveins: $r16, $r25, $r26 S2_storeri_io $r29, 0, killed renamable $r25 :: (store (s32) into stack) $r0 = A2_tfrsi @.str.4 S2_storeri_io $r29, 8, killed renamable $r26 :: (store (s64) into stack + 8) J2_call @printf, hexagoncsr, implicit-def dead $pc, implicit-def dead $r31, implicit $r29, implicit $r0, implicit-def $r29, implicit-def dead $r0 renamable $p0 = C2_cmpgti renamable $r16, 4 renamable $r16 = nsw A2_addi killed renamable $r16, 1 J2_jumpf killed renamable $p0, %bb.2, implicit-def dead $pc J2_jump %bb.1, implicit-def dead $pc bb.2: liveins: $r16, $r25, $r26 PS_jmpret $r31, implicit-def dead $pc ...