range-analysis
range-analysis copied to clipboard
Update to LLVM 4.0
Hi, Daniel Berlin pointed me out to this so I decided to give it a try :)
I have a branch where I updated this to 4.0, but here are a few notes: https://github.com/vhscampos/range-analysis/compare/master...dcci:range
-
I currently stripped the time stats from the pass as
TimeValue
doesn't exist anymore in LLVM, so that should use something likestd::chrono
. I'm not particularly interested in them as I generally run passes under a debugger, but I guess those should be reintegrated at some point. -
LLVM trunk has a new pass that builds e-SSA,
PredicateInfo
, so I assume the e-SSA construction could be replaced with the LLVM builtin one. -
We have an implementation of Nuutila SCC walker in LLVM now as part of NewGVN. This is private right now, but could be moved to
llvm/Transforms/Utils
and re-used here.
The (still unimplemented) improvements in 2) and 3) should slim down pass quite a bit, I guess.
Eventually I'd like this work to get to LLVM (maybe building a VRP transform on top of it).