https://llvm.org/bugs/show_bug.cgi?id=29034
Bug ID: 29034 Summary: [gvn-hoist] miscompile Product: libraries Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Scalar Optimizations Assignee: unassignedb...@nondot.org Reporter: zyfw...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 16981 --> https://llvm.org/bugs/attachment.cgi?id=16981&action=edit before opt -gvn-hoist gvn-hoist seems to hoist a store before load: the c code is something like: void music_task(void *p) { MUSIC_OP_API *mapi=((void*)0); dec_inf_t *dec_info=((void*)0); u32 err; tbool file_auto_next = 1; music_decoder_init(&mapi); while(1) { err = music_play_api(mapi,DEV_SEL_CUR,0,PLAY_SPEC_FILE,&(mapi->dop_api->file_num)); while(0 != err) { u32 status; switch(err) { case SUCC_MUSIC_START_DEC: err = 0; printf("s_num:%d\n",mapi->dop_api->file_num); /// <------- after -gvn-hoist, mapi->do_api->file_num will always be 1 break; case FILE_OP_ERR_END_FILE: mapi->dop_api->file_num = 1; err = music_play_api(mapi,DEV_SEL_NEXT,0,PLAY_FIRST_FILE,&(mapi->dop_api->file_num)); break; case FILE_OP_ERR_PRE_FILE: mapi->dop_api->file_num = 1; err = music_play_api(mapi,DEV_SEL_PREV,0,PLAY_LAST_FILE,&(mapi->dop_api->file_num)); break; default: err = music_play_api(mapi,DEV_SEL_CUR,0,PLAY_NEXT_FILE,0); break; } } } } -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs