search for: processbranch

Displaying 3 results from an estimated 3 matches for "processbranch".

2017 Feb 06
2
Adding Extended-SSA to LLVM
...bb1 would solve the problem? > Right, and these are all critical edges, as you say :) I will actually try a trick where we insert the def twice and try to place them before phi node uses. We sort phi node uses by incoming block, so they should end up next to each other. > > > - In processBranch you also consider branches on ANDs/ORs of comparisons, >>> and then each comparison is processed individually. However, this seems >>> incorrect for one of the branches: >>> if (a && b) { >>> ... >>> } else { >>> // holds: !a OR !b &gt...
2017 Feb 05
3
Adding Extended-SSA to LLVM
...n a large number of places, i'd argue we should just move to e-ssa/ssi as the default and be done with it. Since that's what you'll have effectively done anyway. I think it would be reasonable to see where it gets used, and if enough places, make a decision what to do. > > - In processBranch/processAssume you also consider branches on ANDs/ORs of > comparisons, and then each comparison is processed individually. However, > this seems incorrect for one of the branches: > if (a && b) { > ... > } else { > // holds: !a OR !b > use(a) > use(b) > } >...
2017 Feb 02
4
Adding Extended-SSA to LLVM
Hey folks, After a long amount of discussion both offline and on, I put a pass/intrinsic to add extended SSA up at http://reviews.llvm.org/D29316. Sean asked me to share it more broadly on llvm-dev, so here you go :) For those not familiar with extended-SSA, it's described in the paper "ABCD: Eliminating Array Bounds Checks on Demand". There is a very large amount of explanation