brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.7 KiB · 6db3754 Raw
217 lines · plain
1; UNSUPPORTED:expensive_checks2; RUN:llc -O0 -mtriple=spirv-- -disable-verify -debug-pass=Structure < %s 2>&1 \3; RUN:   | FileCheck -match-full-lines -strict-whitespace -check-prefix=SPIRV-O0 %s4; RUN:llc -O1 -mtriple=spirv-- -disable-verify -debug-pass=Structure < %s 2>&1 \5; RUN:   | FileCheck -match-full-lines -strict-whitespace -check-prefix=SPIRV-Opt %s6; RUN:llc -O2 -mtriple=spirv-- -disable-verify -debug-pass=Structure < %s 2>&1 \7; RUN:   | FileCheck -match-full-lines -strict-whitespace -check-prefix=SPIRV-Opt %s8; RUN:llc -O3 -mtriple=spirv-- -disable-verify -debug-pass=Structure < %s 2>&1 \9; RUN:   | FileCheck -match-full-lines -strict-whitespace -check-prefix=SPIRV-Opt %s10;11; REQUIRES:asserts12 13; SPIRV-O0:Target Library Information14; SPIRV-O0-NEXT:Target Pass Configuration15; SPIRV-O0-NEXT:Machine Module Information16; SPIRV-O0-NEXT:Target Transform Information17; SPIRV-O0-NEXT:Create Garbage Collector Module Metadata18; SPIRV-O0-NEXT:Assumption Cache Tracker19; SPIRV-O0-NEXT:Profile summary info20; SPIRV-O0-NEXT:Machine Branch Probability Analysis21; SPIRV-O0-NEXT:  ModulePass Manager22; SPIRV-O0-NEXT:    Pre-ISel Intrinsic Lowering23; SPIRV-O0-NEXT:    FunctionPass Manager24; SPIRV-O0-NEXT:      Expand large div/rem25; SPIRV-O0-NEXT:      Expand fp26; SPIRV-O0-NEXT:      Lower Garbage Collection Instructions27; SPIRV-O0-NEXT:      Shadow Stack GC Lowering28; SPIRV-O0-NEXT:      Remove unreachable blocks from the CFG29; SPIRV-O0-NEXT:      Instrument function entry/exit with calls to e.g. mcount() (post inlining)30; SPIRV-O0-NEXT:      Scalarize Masked Memory Intrinsics31; SPIRV-O0-NEXT:      Expand reduction intrinsics32; SPIRV-O0-NEXT:      SPIR-V Regularizer33; SPIRV-O0-NEXT:    SPIRV prepare functions34; SPIRV-O0-NEXT:    SPIRV prepare global variables35; SPIRV-O0-NEXT:    FunctionPass Manager36; SPIRV-O0-NEXT:      Lower invoke and unwind, for unwindless code generators37; SPIRV-O0-NEXT:      Remove unreachable blocks from the CFG38; SPIRV-O0-NEXT:      SPIRV strip convergent intrinsics39; SPIRV-O0-NEXT:    SPIRV Legalize Implicit Binding40; SPIRV-O0-NEXT:    SPIRV CBuffer Access41; SPIRV-O0-NEXT:    SPIRV emit intrinsics42; SPIRV-O0-NEXT:    FunctionPass Manager43; SPIRV-O0-NEXT:      SPIRV legalize bitcast pass44; SPIRV-O0-NEXT:      Prepare callbr45; SPIRV-O0-NEXT:      Safe Stack instrumentation pass46; SPIRV-O0-NEXT:      Insert stack protectors47; SPIRV-O0-NEXT:      Analysis containing CSE Info48; SPIRV-O0-NEXT:      IRTranslator49; SPIRV-O0-NEXT:      Analysis for ComputingKnownBits50; SPIRV-O0-NEXT:      MachineDominator Tree Construction51; SPIRV-O0-NEXT:      SPIRVPreLegalizerCombiner52; SPIRV-O0-NEXT:      SPIRV pre legalizer53; SPIRV-O0-NEXT:      Analysis containing CSE Info54; SPIRV-O0-NEXT:      Legalizer55; SPIRV-O0-NEXT:      SPIRV post legalizer56; SPIRV-O0-NEXT:      Analysis for ComputingKnownBits57; SPIRV-O0-NEXT:      Dominator Tree Construction58; SPIRV-O0-NEXT:      Natural Loop Information59; SPIRV-O0-NEXT:      Lazy Branch Probability Analysis60; SPIRV-O0-NEXT:      Lazy Block Frequency Analysis61; SPIRV-O0-NEXT:      InstructionSelect62; SPIRV-O0-NEXT:      ResetMachineFunction63; SPIRV-O0-NEXT:      Finalize ISel and expand pseudo-instructions64; SPIRV-O0-NEXT:      Local Stack Slot Allocation65; SPIRV-O0-NEXT:      Remove Redundant DEBUG_VALUE analysis66; SPIRV-O0-NEXT:      Fixup Statepoint Caller Saved67; SPIRV-O0-NEXT:      Lazy Machine Block Frequency Analysis68; SPIRV-O0-NEXT:      Machine Optimization Remark Emitter69; SPIRV-O0-NEXT:      Prologue/Epilogue Insertion & Frame Finalization70; SPIRV-O0-NEXT:      Post-RA pseudo instruction expansion pass71; SPIRV-O0-NEXT:      Analyze Machine Code For Garbage Collection72; SPIRV-O0-NEXT:      Insert fentry calls73; SPIRV-O0-NEXT:      Insert XRay ops74; SPIRV-O0-NEXT:      Machine Sanitizer Binary Metadata75; SPIRV-O0-NEXT:      Lazy Machine Block Frequency Analysis76; SPIRV-O0-NEXT:      Machine Optimization Remark Emitter77; SPIRV-O0-NEXT:      Stack Frame Layout Analysis78; SPIRV-O0-NEXT:    SPIRV module analysis79; SPIRV-O0-NEXT:    FunctionPass Manager80; SPIRV-O0-NEXT:      Lazy Machine Block Frequency Analysis81; SPIRV-O0-NEXT:      Machine Optimization Remark Emitter82; SPIRV-O0-NEXT:      SPIRV Assembly Printer83; SPIRV-O0-NEXT:      Free MachineFunction84 85; SPIRV-Opt:Target Library Information86; SPIRV-Opt-NEXT:Target Pass Configuration87; SPIRV-Opt-NEXT:Machine Module Information88; SPIRV-Opt-NEXT:Target Transform Information89; SPIRV-Opt-NEXT:Assumption Cache Tracker90; SPIRV-Opt-NEXT:Type-Based Alias Analysis91; SPIRV-Opt-NEXT:Scoped NoAlias Alias Analysis92; SPIRV-Opt-NEXT:Profile summary info93; SPIRV-Opt-NEXT:Create Garbage Collector Module Metadata94; SPIRV-Opt-NEXT:Machine Branch Probability Analysis95; SPIRV-Opt-NEXT:  ModulePass Manager96; SPIRV-Opt-NEXT:    Pre-ISel Intrinsic Lowering97; SPIRV-Opt-NEXT:    FunctionPass Manager98; SPIRV-Opt-NEXT:      Expand large div/rem99; SPIRV-Opt-NEXT:      Expand fp100; SPIRV-Opt-NEXT:      Dominator Tree Construction101; SPIRV-Opt-NEXT:      Basic Alias Analysis (stateless AA impl)102; SPIRV-Opt-NEXT:      Natural Loop Information103; SPIRV-Opt-NEXT:      Canonicalize natural loops104; SPIRV-Opt-NEXT:      Scalar Evolution Analysis105; SPIRV-Opt-NEXT:      Loop Pass Manager106; SPIRV-Opt-NEXT:        Canonicalize Freeze Instructions in Loops107; SPIRV-Opt-NEXT:        Induction Variable Users108; SPIRV-Opt-NEXT:        Loop Strength Reduction109; SPIRV-Opt-NEXT:      Basic Alias Analysis (stateless AA impl)110; SPIRV-Opt-NEXT:      Function Alias Analysis Results111; SPIRV-Opt-NEXT:      Merge contiguous icmps into a memcmp112; SPIRV-Opt-NEXT:      Natural Loop Information113; SPIRV-Opt-NEXT:      Lazy Branch Probability Analysis114; SPIRV-Opt-NEXT:      Lazy Block Frequency Analysis115; SPIRV-Opt-NEXT:      Expand memcmp() to load/stores116; SPIRV-Opt-NEXT:      Lower Garbage Collection Instructions117; SPIRV-Opt-NEXT:      Shadow Stack GC Lowering118; SPIRV-Opt-NEXT:      Remove unreachable blocks from the CFG119; SPIRV-Opt-NEXT:      Natural Loop Information120; SPIRV-Opt-NEXT:      Post-Dominator Tree Construction121; SPIRV-Opt-NEXT:      Branch Probability Analysis122; SPIRV-Opt-NEXT:      Block Frequency Analysis123; SPIRV-Opt-NEXT:      Constant Hoisting124; SPIRV-Opt-NEXT:      Replace intrinsics with calls to vector library125; SPIRV-Opt-NEXT:      Lazy Branch Probability Analysis126; SPIRV-Opt-NEXT:      Lazy Block Frequency Analysis127; SPIRV-Opt-NEXT:      Optimization Remark Emitter128; SPIRV-Opt-NEXT:      Partially inline calls to library functions129; SPIRV-Opt-NEXT:      Instrument function entry/exit with calls to e.g. mcount() (post inlining)130; SPIRV-Opt-NEXT:      Scalarize Masked Memory Intrinsics131; SPIRV-Opt-NEXT:      Expand reduction intrinsics132; SPIRV-Opt-NEXT:      SPIR-V Regularizer133; SPIRV-Opt-NEXT:    SPIRV prepare functions134; SPIRV-Opt-NEXT:    SPIRV prepare global variables135; SPIRV-Opt-NEXT:    FunctionPass Manager136; SPIRV-Opt-NEXT:      Dominator Tree Construction137; SPIRV-Opt-NEXT:      Natural Loop Information138; SPIRV-Opt-NEXT:      CodeGen Prepare139; SPIRV-Opt-NEXT:      Lower invoke and unwind, for unwindless code generators140; SPIRV-Opt-NEXT:      Remove unreachable blocks from the CFG141; SPIRV-Opt-NEXT:      SPIRV strip convergent intrinsics142; SPIRV-Opt-NEXT:    SPIRV Legalize Implicit Binding143; SPIRV-Opt-NEXT:    SPIRV CBuffer Access144; SPIRV-Opt-NEXT:    SPIRV emit intrinsics145; SPIRV-Opt-NEXT:    FunctionPass Manager146; SPIRV-Opt-NEXT:      SPIRV legalize bitcast pass147; SPIRV-Opt-NEXT:      Dominator Tree Construction148; SPIRV-Opt-NEXT:      Basic Alias Analysis (stateless AA impl)149; SPIRV-Opt-NEXT:      Function Alias Analysis Results150; SPIRV-Opt-NEXT:      ObjC ARC contraction151; SPIRV-Opt-NEXT:      Prepare callbr152; SPIRV-Opt-NEXT:      Safe Stack instrumentation pass153; SPIRV-Opt-NEXT:      Insert stack protectors154; SPIRV-Opt-NEXT:      Analysis containing CSE Info155; SPIRV-Opt-NEXT:      Natural Loop Information156; SPIRV-Opt-NEXT:      Post-Dominator Tree Construction157; SPIRV-Opt-NEXT:      Branch Probability Analysis158; SPIRV-Opt-NEXT:      Basic Alias Analysis (stateless AA impl)159; SPIRV-Opt-NEXT:      Function Alias Analysis Results160; SPIRV-Opt-NEXT:      IRTranslator161; SPIRV-Opt-NEXT:      Analysis for ComputingKnownBits162; SPIRV-Opt-NEXT:      MachineDominator Tree Construction163; SPIRV-Opt-NEXT:      SPIRVPreLegalizerCombiner164; SPIRV-Opt-NEXT:      SPIRV pre legalizer165; SPIRV-Opt-NEXT:      Analysis containing CSE Info166; SPIRV-Opt-NEXT:      Legalizer167; SPIRV-Opt-NEXT:      SPIRV post legalizer168; SPIRV-Opt-NEXT:      Analysis for ComputingKnownBits169; SPIRV-Opt-NEXT:      Lazy Branch Probability Analysis170; SPIRV-Opt-NEXT:      Lazy Block Frequency Analysis171; SPIRV-Opt-NEXT:      InstructionSelect172; SPIRV-Opt-NEXT:      ResetMachineFunction173; SPIRV-Opt-NEXT:      Finalize ISel and expand pseudo-instructions174; SPIRV-Opt-NEXT:      Lazy Machine Block Frequency Analysis175; SPIRV-Opt-NEXT:      Early Tail Duplication176; SPIRV-Opt-NEXT:      Optimize machine instruction PHIs177; SPIRV-Opt-NEXT:      Slot index numbering178; SPIRV-Opt-NEXT:      Merge disjoint stack slots179; SPIRV-Opt-NEXT:      Local Stack Slot Allocation180; SPIRV-Opt-NEXT:      Remove dead machine instructions181; SPIRV-Opt-NEXT:      MachineDominator Tree Construction182; SPIRV-Opt-NEXT:      Machine Natural Loop Construction183; SPIRV-Opt-NEXT:      Machine Block Frequency Analysis184; SPIRV-Opt-NEXT:      Early Machine Loop Invariant Code Motion185; SPIRV-Opt-NEXT:      MachineDominator Tree Construction186; SPIRV-Opt-NEXT:      Machine Block Frequency Analysis187; SPIRV-Opt-NEXT:      Machine Common Subexpression Elimination188; SPIRV-Opt-NEXT:      MachinePostDominator Tree Construction189; SPIRV-Opt-NEXT:      Machine Cycle Info Analysis190; SPIRV-Opt-NEXT:      Machine code sinking191; SPIRV-Opt-NEXT:      Peephole Optimizations192; SPIRV-Opt-NEXT:      Remove dead machine instructions193; SPIRV-Opt-NEXT:      Remove Redundant DEBUG_VALUE analysis194; SPIRV-Opt-NEXT:      Fixup Statepoint Caller Saved195; SPIRV-Opt-NEXT:      Lazy Machine Block Frequency Analysis196; SPIRV-Opt-NEXT:      Machine Optimization Remark Emitter197; SPIRV-Opt-NEXT:      Prologue/Epilogue Insertion & Frame Finalization198; SPIRV-Opt-NEXT:      Tail Duplication199; SPIRV-Opt-NEXT:      Post-RA pseudo instruction expansion pass200; SPIRV-Opt-NEXT:      Analyze Machine Code For Garbage Collection201; SPIRV-Opt-NEXT:      Insert fentry calls202; SPIRV-Opt-NEXT:      Insert XRay ops203; SPIRV-Opt-NEXT:      Machine Sanitizer Binary Metadata204; SPIRV-Opt-NEXT:      Lazy Machine Block Frequency Analysis205; SPIRV-Opt-NEXT:      Machine Optimization Remark Emitter206; SPIRV-Opt-NEXT:      Stack Frame Layout Analysis207; SPIRV-Opt-NEXT:    SPIRV module analysis208; SPIRV-Opt-NEXT:    FunctionPass Manager209; SPIRV-Opt-NEXT:      Lazy Machine Block Frequency Analysis210; SPIRV-Opt-NEXT:      Machine Optimization Remark Emitter211; SPIRV-Opt-NEXT:      SPIRV Assembly Printer212; SPIRV-Opt-NEXT:      Free MachineFunction213 214define void @empty() {215  ret void216}217