search for: succ_empty

Displaying 4 results from an estimated 4 matches for "succ_empty".

2013 Feb 06
0
[LLVMdev] Incorrect Simple pattern matching in lib/CodeGen/IfConversion.cpp
...new block, and the fallthrough block of TBB is no longer reached. This causes the compiled program to execute FBB instead of the fallthrough-block of TBB, leading to incorrect behaviour. I added the following check to IfConverter::ValidSimple(), which fixes my problems: if (!TrueBBI.BB->succ_empty()) return false; but I have no idea if there is a less conservative way of checking for the Simple pattern (e.g., an unconditional indirect jump might still be allowed at the end of TBB). I use the code from the LLVM 3.2 release, but it is basically the same in LLVM 3.1 and in head. Rega...
2009 Jul 01
0
[LLVMdev] Profiling in LLVM Patch
...essor > + return 2; > + } > + } else { > + return 0; > + } > +} This routine is only used in one place, and its result is compared against 0. I think it should be removed and the code should just check (succ_begin(BB) == succ_end(BB)), or for better readability add a succ_empty to CFG.h and use that. > --- llvm-van/lib/Analysis/ProfileEstimatorPass.cpp 1970-01-01 01:00:00.000000000 +0100 > +++ llvm-c7/lib/Analysis/ProfileEstimatorPass.cpp 2009-06-26 16:47:01.000000000 +0200 ... > +bool OptimalEdgeProfiler::runOnModule(Module &M) { > + Function *Ma...
2009 Jun 29
7
[LLVMdev] Profiling in LLVM Patch
Hi all, as proposed in http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020396.html I implemented the algorithm presented in [Ball94]. It only instruments the minimal number of edges necessary for edge profiling. The main changes introduced by this patch are: *) a interface compatible rewrite of ProfileInfo *) a cleanup of ProfileInfoLoader (some functionality in ProfileInfoLoader
2009 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
...} >> + } else { >> + return 0; >> + } >> +} > > This routine is only used in one place, and its result is compared against 0. I > think it should be removed and the code should just check (succ_begin(BB) == > succ_end(BB)), or for better readability add a succ_empty to CFG.h and use that. Okay. >> --- llvm-van/lib/Analysis/ProfileEstimatorPass.cpp 1970-01-01 01:00:00.000000000 +0100 >> +++ llvm-c7/lib/Analysis/ProfileEstimatorPass.cpp 2009-06-26 16:47:01.000000000 +0200 > ... >> +bool OptimalEdgeProfiler::runOnModule(Module &M)...