1 // See if the replaced operation is effectively killed or not
2 
kill_add(int a,int b)3 static int kill_add(int a, int b)
4 {
5 	return (a + b) && 0;
6 }
7 
kill_scast(short a)8 static int kill_scast(short a)
9 {
10 	return ((int) a) && 0;
11 }
12 
kill_ucast(unsigned char a)13 static int kill_ucast(unsigned char a)
14 {
15 	return ((int) a) && 0;
16 }
17 
kill_pcast(int * a)18 static int kill_pcast(int *a)
19 {
20 	return ((void*) a) && 0;
21 }
22 
kill_fcast(double a)23 static int kill_fcast(double a)
24 {
25 	return ((int) a) && 0;
26 }
27 
kill_select(int a)28 static int kill_select(int a)
29 {
30 	return (a ? 1 : 0) && 0;
31 }
32 
kill_setval(int a)33 static int kill_setval(int a)
34 {
35 l:
36 	return &&l && 0;
37 }
38 
kill_load(int * a)39 static int kill_load(int *a)
40 {
41 	return *a && 0;
42 }
43 
kill_store(int * a)44 static int kill_store(int *a)
45 {
46 	return (*a = 1) && 0;
47 }
48 
49 /*
50  * check-name: kill-replaced-insn
51  * check-command: test-linearize $file
52  *
53  * check-output-ignore
54  * check-output-excludes: add\\.
55  * check-output-excludes: scast\\.
56  * check-output-excludes: \\<cast\\.
57  * check-output-excludes: ptrcast\\.
58  * check-output-excludes: fpcast\\.
59  * check-output-excludes: sel\\.
60  * check-output-excludes: set\\.
61  */
62