[InstCombine] Merge debug locations when folding through a phi node
authorRobert Lougher <rob.lougher@gmail.com>
Wed, 14 Dec 2016 17:49:19 +0000 (17:49 +0000)
committerRobert Lougher <rob.lougher@gmail.com>
Wed, 14 Dec 2016 17:49:19 +0000 (17:49 +0000)
commit2428a4050f066a51ff9dbd713aab0356ca435e7d
treea29dd267acda143a237f4f6bf41a5b25935af4bd
parent34a0f3dc2fcfec0ef5234407f0ea4cd473a6c166
[InstCombine] Merge debug locations when folding through a phi node

If all the operands to a phi node are of the same operation, instcombine
will try to pull them through the phi node, combining them into a single
operation.  When it does this, the debug location of the operation should
be the merged debug locations of the phi node arguments.

Patch 2 of 8 for D26256.  Folding of a binary operation.

Differential Revision: https://reviews.llvm.org/D26256

llvm-svn: 289679
llvm/lib/Transforms/InstCombine/InstCombineInternal.h
llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
llvm/test/DebugInfo/Generic/instcombine-phi.ll [new file with mode: 0644]