File: select-dependence.ll

package info (click to toggle)
llvm-toolchain-17 1%3A17.0.6-22
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,799,624 kB
  • sloc: cpp: 6,428,607; ansic: 1,383,196; asm: 793,408; python: 223,504; objc: 75,364; f90: 60,502; lisp: 33,869; pascal: 15,282; sh: 9,684; perl: 7,453; ml: 4,937; awk: 3,523; makefile: 2,889; javascript: 2,149; xml: 888; fortran: 619; cs: 573
file content (30 lines) | stat: -rw-r--r-- 941 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
; RUN: opt -passes='print<access-info>' -disable-output 2>&1 < %s | FileCheck %s

; CHECK: Dependences:
; CHECK-NEXT: Unknown:
; CHECK-NEXT: %t63 = load double, ptr %t62, align 8 ->
; CHECK-NEXT: store double %t63, ptr %t64, align 8

define i32 @test() {
   %a1 = alloca [128 x double], align 8
   %a2 = alloca [128 x double], align 8
   %a3 = alloca [128 x double], align 8
   %t30 = getelementptr double, ptr %a2, i64 -32
   br label %loop

loop:
   %t58 = phi i64 [ %t65, %loop ], [ 0, %0 ]
   %t59 = icmp ule i64 %t58, 32
   %t60 = select i1 %t59, ptr %a1, ptr %t30
   %t62 = getelementptr inbounds double, ptr %t60, i64 %t58
   %t63 = load double, ptr %t62, align 8
   %t61 = select i1 %t59, ptr %a2, ptr %a3
   %t64 = getelementptr inbounds double, ptr %t61, i64 %t58
   store double %t63, ptr %t64, align 8
   %t65 = add nuw nsw i64 %t58, 1
   %t66 = icmp eq i64 %t65, 94
   br i1 %t66, label %exit, label %loop

exit:
   ret i32 0
}