blob: 8ae62d6fed44d7b6f485349adc1d74a762c74810 [file] [log] [blame]
Chris Lattnerdf8fcca2002-04-28 01:46:36 +00001; Various test cases to ensure basic functionality is working for GCSE
2
Misha Brukmanedf4bab2003-09-16 15:29:54 +00003; RUN: llvm-as < %s | opt -gcse
Chris Lattnerdf8fcca2002-04-28 01:46:36 +00004
5implementation
6
7void "testinsts"(int %i, int %j, int* %p)
8begin
9 %A = cast int %i to uint
10 %B = cast int %i to uint
11
12 %C = shl int %i, ubyte 1
13 %D = shl int %i, ubyte 1
14
Chris Lattner3c050b52003-09-08 16:29:02 +000015 %E = getelementptr int* %p, long 12
16 %F = getelementptr int* %p, long 12
17 %G = getelementptr int* %p, long 13
Chris Lattnerdf8fcca2002-04-28 01:46:36 +000018 ret void
19end
20
21
22; Test different combinations of domination properties...
23void "sameBBtest"(int %i, int %j)
24begin
25 %A = add int %i, %j
26 %B = add int %i, %j
27
Chris Lattner1115d582002-08-14 19:28:22 +000028 %C = xor int %A, -1
29 %D = xor int %B, -1
30 %E = xor int %j, -1
Chris Lattnerdf8fcca2002-04-28 01:46:36 +000031
32 ret void
33end
34
35int "dominates"(int %i, int %j)
36begin
37 %A = add int %i, %j
38 br label %BB2
39
40BB2:
41 %B = add int %i, %j
42 ret int %B
43end
44
45int "hascommondominator"(int %i, int %j)
46begin
47 br bool true, label %BB1, label %BB2
48
49BB1:
50 %A = add int %i, %j
51 ret int %A
52
53BB2:
54 %B = add int %i, %j
55 ret int %B
56end
57