A few more performance fixes on jump table analysis:
authorXiaozhu Meng <xmeng@cs.wisc.edu>
Wed, 15 Apr 2015 16:17:12 +0000 (11:17 -0500)
committerXiaozhu Meng <xmeng@cs.wisc.edu>
Wed, 15 Apr 2015 16:17:12 +0000 (11:17 -0500)
commit0645a64ce753391a4bf0a8ebe31c63e9c7dec86b
treea7aa2dbf20cb2e8aa861e84adcde12cd110e9a7f
parentcc9fed253685928043b987762124c07c94e273c4
A few more performance fixes on jump table analysis:
1. Ignore conditional jumps that do not produce a range bound, like je and jne
2. All other conditinal jumps should be considered even when both branches can reach the indirect jump. In the case where two branches change the values of registers differently, the analysis must track the changes on both branches
3. Only analyze memory writes where the destination operand is an AST that has been seen in previous analysis, which means this memory write has the potential to create an alias.
dataflowAPI/src/slicing.C
parseAPI/src/BoundFactCalculator.C
parseAPI/src/BoundFactCalculator.h
parseAPI/src/JumpTablePred.C
parseAPI/src/JumpTablePred.h