File: BasicIR.ll

package info (click to toggle)
llvm-toolchain-21 1%3A21.1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,245,028 kB
  • sloc: cpp: 7,619,726; ansic: 1,434,018; asm: 1,058,748; python: 252,740; f90: 94,671; objc: 70,685; lisp: 42,813; pascal: 18,401; sh: 8,601; ml: 5,111; perl: 4,720; makefile: 3,675; awk: 3,523; javascript: 2,409; xml: 892; fortran: 770
file content (24 lines) | stat: -rw-r--r-- 700 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
; RUN: llc --filetype=obj %s -o - | dxil-dis -o - | FileCheck %s

; RUN: llc --filetype=obj %s --stop-after=dxil-write-bitcode -o %t && llvm-bcanalyzer --dump-blockinfo %t | FileCheck %s  --check-prefix=BLOCK_INFO

; CHECK: define i32 @foo(i32 %X, i32 %Y) {
; CHECK:   %Z = sub i32 %X, %Y
; CHECK:   %Q = add i32 %Z, %Y
; CHECK:   ret i32 %Q
; CHECK: }

; BLOCK_INFO:Stream type: LLVM IR
; Make sure uselist strtab and symtab is not in dxil.
; BLOCK_INFO-NOT:USELIST_BLOCK_ID
; BLOCK_INFO-NOT:STRTAB_BLOCK
; BLOCK_INFO-NOT:SYMTAB_BLOCK


target triple = "dxil-unknown-shadermodel6.7-library"

define i32 @foo(i32 %X, i32 %Y) "hlsl.export" {
  %Z = sub i32 %X, %Y
  %Q = add i32 %Z, %Y
  ret i32 %Q
}