brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 2e3f880 Raw
62 lines · plain
1; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -debug-pass=Structure -enable-fs-discriminator=true -improved-fs-discriminator=true 2>&1 | FileCheck %s --check-prefix=NOPROFILE2; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -debug-pass=Structure -fs-profile-file=%S/Inputs/fsloader-mfs.afdo -enable-fs-discriminator=true -improved-fs-discriminator=true 2>&1 | FileCheck %s --check-prefix=PROFILE-NOMFS3; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -debug-pass=Structure -fs-profile-file=%S/Inputs/fsloader-mfs.afdo -split-machine-functions -enable-fs-discriminator=true -improved-fs-discriminator=true 2>&1 | FileCheck %s --check-prefix=PROFILE-MFS4 5;; No profile is specified, no load passes.6; NOPROFILE: Add FS discriminators in MIR7; NO-NOPROFILE: SampleFDO loader in MIR8; NOPROFILE: Add FS discriminators in MIR9; NO-NOPROFILE: SampleFDO loader in MIR10; NOPROFILE: Add FS discriminators in MIR11; NO-NOPROFILE: SampleFDO loader in MIR12 13;; Profile is specified, so we have first 2 load passes.14; PROFILE-NOMFS: Add FS discriminators in MIR15; PROFILE-NOMFS: SampleFDO loader in MIR16; PROFILE-NOMFS: Add FS discriminators in MIR17; PROFILE-NOMFS: SampleFDO loader in MIR18; PROFILE-NOMFS: Add FS discriminators in MIR19;; But mfs is not specified, so no "SampleFDO loader should be created"20; NO-PROFILE-NOMFS: SampleFDO loader in MIR21 22;; Profile is specified with mfs, so we have 3 load passes.23; PROFILE-MFS: Add FS discriminators in MIR24; PROFILE-MFS: SampleFDO loader in MIR25; PROFILE-MFS: Add FS discriminators in MIR26; PROFILE-MFS: SampleFDO loader in MIR27; PROFILE-MFS: Add FS discriminators in MIR28; PROFILE-MFS: SampleFDO loader in MIR29; PROFILE-MFS: Machine Function Splitter Transformation30 31define void @foo4(i1 zeroext %0, i1 zeroext %1) nounwind {32  br i1 %0, label %3, label %733 343:35  %4 = call i32 @bar()36  br label %737 385:39  %6 = call i32 @baz()40  br label %741 427:43  br i1 %1, label %8, label %1044 458:46  %9 = call i32 @bam()47  br label %1248 4910:50  %11 = call i32 @baz()51  br label %1252 5312:54  %13 = tail call i32 @qux()55  ret void56}57 58declare i32 @bar()59declare i32 @baz()60declare i32 @bam()61declare i32 @qux()62