forked from OSchip/llvm-project
895f5d8080
The current StackColoring algorithm does not correctly handle the situation when some, but not all paths from a BB to the entry node cross a llvm.lifetime.start. According to an interpretation of the language reference at http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic this might be correct, but it would cost too much effort to handle in StackColoring. To be on the safe side, remove all lifetime markers even in the original code version (they have never been copied to the optimized version) to ensure that no path to the entry block will cross a llvm.lifetime.start. The same principle applies to paths the a function return and the llvm.lifetime.end marker, so we remove them as well. This fixes llvm.org/PR32251. Also see the discussion at http://lists.llvm.org/pipermail/llvm-dev/2017-March/111551.html llvm-svn: 299585 |
||
---|---|---|
.. | ||
Ast | ||
CodeGen | ||
single_loop_param_less_equal.ll | ||
single_loop_param_less_than.ll | ||
single_loop_uint_max_iterations.ll | ||
single_loop_ull_max_iterations.ll |