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)12void 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