1; RUN: llc -filetype=asm -mtriple=dxil-pc-shadermodel6.3-library -debug-pass=Structure < %s -o /dev/null 2>&1 | grep -v "Verify generated machine code" | FileCheck %s --check-prefixes=CHECK,CHECK-ASM 2; RUN: llc -filetype=obj -mtriple=dxil-pc-shadermodel6.3-library -debug-pass=Structure < %s -o /dev/null 2>&1 | grep -v "Verify generated machine code" | FileCheck %s --check-prefixes=CHECK,CHECK-OBJ 3 4; REQUIRES: asserts 5 6; CHECK-LABEL: Pass Arguments: 7; CHECK-NEXT: Target Library Information 8; CHECK-NEXT: DXIL Resource Type Analysis 9; CHECK-NEXT: Target Transform Information 10 11; CHECK-OBJ-NEXT: Machine Module Information 12; CHECK-OBJ-NEXT: Machine Branch Probability Analysis 13; CHECK-OBJ-NEXT: Create Garbage Collector Module Metadata 14 15; CHECK-NEXT: ModulePass Manager 16; CHECK-NEXT: DXIL Finalize Linkage 17; CHECK-NEXT: DXIL Intrinsic Expansion 18; CHECK-NEXT: DXIL Data Scalarization 19; CHECK-NEXT: DXIL Array Flattener 20; CHECK-NEXT: FunctionPass Manager 21; CHECK-NEXT: DXIL Resource Access 22; CHECK-NEXT: Dominator Tree Construction 23; CHECK-NEXT: Scalarize vector operations 24; CHECK-NEXT: DXIL Resource Binding Analysis 25; CHECK-NEXT: DXIL resource Information 26; CHECK-NEXT: DXIL Shader Flag Analysis 27; CHECK-NEXT: DXIL Module Metadata analysis 28; CHECK-NEXT: DXIL Translate Metadata 29; CHECK-NEXT: DXIL Op Lowering 30; CHECK-NEXT: DXIL Prepare Module 31 32; CHECK-ASM-NEXT: DXIL Metadata Pretty Printer 33; CHECK-ASM-NEXT: Print Module IR 34 35; CHECK-OBJ-NEXT: DXIL Embedder 36; CHECK-OBJ-NEXT: DXContainer Global Emitter 37; CHECK-OBJ-NEXT: FunctionPass Manager 38; CHECK-OBJ-NEXT: Lazy Machine Block Frequency Analysis 39; CHECK-OBJ-NEXT: Machine Optimization Remark Emitter 40; CHECK-OBJ-NEXT: DXIL Assembly Printer 41