1 /* PR optimization/11634 */
2 
3 /* The following code used to ICE in verify_local_live_at_start on
4    PA when compiled with -O2.  The cause was that split_all_insns was
5    not updating liveness information when deleting no-op moves that
6    had REG_UNUSED notes.  */
7 
8 /* { dg-do compile { target hppa*-*-* } } */
9 /* { dg-options "-O2" } */
10 
11 void *f(void *s);
H5T_conv_vlen(unsigned long long nelmts,unsigned char * bg_ptr)12 void H5T_conv_vlen (unsigned long long nelmts, unsigned char *bg_ptr)
13 {
14   long long seq_len;
15   unsigned long long bg_seq_len = 0;
16   unsigned src_base_size, dst_base_size;
17   void *tmp_buf = 0;
18   unsigned tmp_buf_size = 0;
19   unsigned long long elmtno;
20   for (elmtno = 0; elmtno < nelmts; elmtno++)
21     {
22       unsigned char *tmp = bg_ptr;
23       bg_seq_len = *tmp;
24       if (bg_seq_len > 0
25           && tmp_buf_size <
26           (unsigned) (bg_seq_len *
27                       (src_base_size > dst_base_size
28                        ? src_base_size
29 		       : dst_base_size)))
30 	{
31 	  tmp_buf_size =
32 	    (unsigned) (bg_seq_len *
33 			(src_base_size > dst_base_size
34 			 ? src_base_size
35 			 : dst_base_size));
36 	}
37       if (bg_seq_len < seq_len)
38 	f ((unsigned char *) tmp_buf + dst_base_size * bg_seq_len);
39     }
40 }
41 
42