Convert remaining __builtin_expect to likely/unlikely
PATCH RESEND 1/1 Convert remaining __builtin_expect to likely/unlikely
[ Patch is no longer required for my latest debug series, but it remains
a worthwhile cleanup IMHO. Please merge. ]
QEMU wraps __builtin_expect with the more handy likely/unlikely macros, but doesn't use them consequently. This patch removes the remaining __builtin_expect spots.
Signed-off-by Jan Kiszka <[email protected]>
--- cpu-exec.c | 6 +++--- exec-all.h | 4 ++-- softmmu_header.h | 12 ++++++------ target-arm/op_helper.c | 2 +- target-arm/translate.c | 4 ++-- target-cris/op_helper.c | 2 +- target-cris/translate.c | 2 +- target-m68k/op_helper.c | 2 +- target-m68k/translate.c | 4 ++-- 9 files changed, 19 insertions(+), 19 deletions(-)
cpu-exec.c +3 -3
@@ -224,8 +224,8 @@ static inline TranslationBlock *tb_find_#error unsupported CPU#endif tb = env->tb_jmp_cache[tb_jmp_cache_hash_func (pc)]; -if (__builtin_expect (!tb || tb->pc != pc || tb->cs_base != cs_base || - tb->flags != flags,0 )) { +if (unlikely (!tb || tb->pc != pc || tb->cs_base != cs_base || + tb->flags != flags)) { tb =tb_find_slow (pc, cs_base, flags); }return tb;
@@ -360,7 +360,7 @@ int cpu_exec(CPUState *env1) next_tb =0 ;/* force lookup of first TB */ for (;;) { interrupt_request = env->interrupt_request; -if (__builtin_expect (interrupt_request,0 ) && +if (unlikely (interrupt_request) &&likely (!(env->singlestep_enabled &SSTEP_NOIRQ ))) {if (interrupt_request &CPU_INTERRUPT_DEBUG ) { env->interrupt_request &= ~CPU_INTERRUPT_DEBUG ;
exec-all.h +2 -2
@@ -357,8 +357,8 @@ static inline target_ulong get_phys_addr page_index = (addr >>TARGET_PAGE_BITS ) & (CPU_TLB_SIZE -1 ); mmu_idx =cpu_mmu_index (env1); -if (__builtin_expect (env1->tlb_table[mmu_idx][page_index].addr_code != - (addr &TARGET_PAGE_MASK ),0 )) { +if (unlikely (env1->tlb_table[mmu_idx][page_index].addr_code != + (addr &TARGET_PAGE_MASK ))) {ldub_code (addr); } pd = env1->tlb_table[mmu_idx][page_index].addr_code & ~TARGET_PAGE_MASK ;
softmmu_header.h +6 -6
@@ -231,8 +231,8 @@ static inline RES_TYPE glue(glue(ld, USU addr = ptr; page_index = (addr >>TARGET_PAGE_BITS ) & (CPU_TLB_SIZE -1 ); mmu_idx =CPU_MMU_INDEX ; -if (__builtin_expect (env->tlb_table[mmu_idx][page_index].ADDR_READ != - (addr & (TARGET_PAGE_MASK | (DATA_SIZE -1 ))),0 )) { +if (unlikely (env->tlb_table[mmu_idx][page_index].ADDR_READ != + (addr & (TARGET_PAGE_MASK | (DATA_SIZE -1 ))))) { res =glue (glue (__ld,SUFFIX ),MMUSUFFIX )(addr, mmu_idx); }else { physaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
@@ -252,8 +252,8 @@ static inline int glue(glue(lds, SUFFIX) addr = ptr; page_index = (addr >>TARGET_PAGE_BITS ) & (CPU_TLB_SIZE -1 ); mmu_idx =CPU_MMU_INDEX ; -if (__builtin_expect (env->tlb_table[mmu_idx][page_index].ADDR_READ != - (addr & (TARGET_PAGE_MASK | (DATA_SIZE -1 ))),0 )) { +if (unlikely (env->tlb_table[mmu_idx][page_index].ADDR_READ != + (addr & (TARGET_PAGE_MASK | (DATA_SIZE -1 ))))) { res = (DATA_STYPE )glue (glue (__ld,SUFFIX ),MMUSUFFIX )(addr, mmu_idx); }else { physaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
@@ -277,8 +277,8 @@ static inline void glue(glue(st, SUFFIX) addr = ptr; page_index = (addr >>TARGET_PAGE_BITS ) & (CPU_TLB_SIZE -1 ); mmu_idx =CPU_MMU_INDEX ; -if (__builtin_expect (env->tlb_table[mmu_idx][page_index].addr_write != - (addr & (TARGET_PAGE_MASK | (DATA_SIZE -1 ))),0 )) { +if (unlikely (env->tlb_table[mmu_idx][page_index].addr_write != + (addr & (TARGET_PAGE_MASK | (DATA_SIZE -1 ))))) {glue (glue (__st,SUFFIX ),MMUSUFFIX )(addr, v, mmu_idx); }else { physaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
target-arm/op_helper.c +1 -1
@@ -97,7 +97,7 @@ void tlb_fill (target_ulong addr, int is saved_env = env; env = cpu_single_env; ret =cpu_arm_handle_mmu_fault (env, addr, is_write, mmu_idx,1 ); -if (__builtin_expect (ret,0 )) { +if (unlikely (ret)) {if (retaddr) {/* now we have a real cpu fault */ pc = (unsigned long )retaddr;
target-arm/translate.c +2 -2
@@ -3393,7 +3393,7 @@ static inline void gen_goto_tb(DisasContstatic inline void gen_jmp (DisasContext *s,uint32_t dest) { -if (__builtin_expect (s->singlestep_enabled,0 )) { +if (unlikely (s->singlestep_enabled)) {/* An indirect jump so that we still trigger the debug exception. */ if (s->thumb) dest |=1 ;
@@ -8703,7 +8703,7 @@ static inline int gen_intermediate_code_/* At this stage dc->condjmp will only be set when the skipped instruction was a conditional branch or trap, and the PC has already been written. */ -if (__builtin_expect (env->singlestep_enabled,0 )) { +if (unlikely (env->singlestep_enabled)) {/* Make sure the pc is updated, and raise a debug exception. */ if (dc->condjmp) {gen_set_condexec (dc);
target-cris/op_helper.c +1 -1
@@ -61,7 +61,7 @@ void tlb_fill (target_ulong addr, int isD (fprintf (logfile,"%s pc=%x tpc=%x ra=%x\n" , __func__, env->pc, env->debug1, retaddr)); ret =cpu_cris_handle_mmu_fault (env, addr, is_write, mmu_idx,1 ); -if (__builtin_expect (ret,0 )) { +if (unlikely (ret)) {if (retaddr) {/* now we have a real cpu fault */ pc = (unsigned long )retaddr;
target-cris/translate.c +1 -1
@@ -3191,7 +3191,7 @@ gen_intermediate_code_internal(CPUStatecris_evaluate_flags (dc); -if (__builtin_expect (env->singlestep_enabled,0 )) { +if (unlikely (env->singlestep_enabled)) {tcg_gen_movi_tl (env_pc, npc);t_gen_raise_exception (EXCP_DEBUG ); }else {
target-m68k/op_helper.c +1 -1
@@ -61,7 +61,7 @@ void tlb_fill (target_ulong addr, int is saved_env = env; env = cpu_single_env; ret =cpu_m68k_handle_mmu_fault (env, addr, is_write, mmu_idx,1 ); -if (__builtin_expect (ret,0 )) { +if (unlikely (ret)) {if (retaddr) {/* now we have a real cpu fault */ pc = (unsigned long )retaddr;
target-m68k/translate.c +2 -2
@@ -873,7 +873,7 @@ static void gen_jmp_tb(DisasContext *s,TranslationBlock *tb; tb = s->tb; -if (__builtin_expect (s->singlestep_enabled,0 )) { +if (unlikely (s->singlestep_enabled)) {gen_exception (s, dest,EXCP_DEBUG ); }else if ((tb->pc &TARGET_PAGE_MASK ) == (dest &TARGET_PAGE_MASK ) || (s->pc &TARGET_PAGE_MASK ) == (dest &TARGET_PAGE_MASK )) {
@@ -2991,7 +2991,7 @@ gen_intermediate_code_internal(CPUStateif (tb->cflags &CF_LAST_IO )gen_io_end (); -if (__builtin_expect (env->singlestep_enabled,0 )) { +if (unlikely (env->singlestep_enabled)) {/* Make sure the pc is updated, and raise a debug exception. */ if (!dc->is_jmp) {gen_flush_cc_op (dc);