While bootstrapping Clang with recent gcc 6.2.0 I found a bug related to misleading indentation.
I believe, a pair of {} was forgotten, especially given the above similar piece of code:
if (!RDef || !HII->isPredicable(*RDef)) { Done = coalesceRegisters(RD, RegisterRef(S1)); if (Done) { UpdRegs.insert(RD.Reg); UpdRegs.insert(S1.getReg()); } }