Cleanup : Use metadata preserving API for branch creation

Use the wrapper API in IRBuilder that does meta data copy
to create new branch in LoopUnswitch.

llvm-svn: 280602
This commit is contained in:
Xinliang David Li 2016-09-03 22:26:11 +00:00
parent 8d4cb1a060
commit 7a28a7fbd8
1 changed files with 4 additions and 9 deletions

View File

@ -763,15 +763,10 @@ void LoopUnswitch::EmitPreheaderBranchOnCondition(Value *LIC, Constant *Val,
}
// Insert the new branch.
BranchInst *BI = BranchInst::Create(TrueDest, FalseDest, BranchVal, InsertPt);
if (TI) {
// FIXME: check why white list is needed here:
unsigned WL[3] = {LLVMContext::MD_dbg, LLVMContext::MD_prof,
LLVMContext::MD_make_implicit};
BI->copyMetadata(*TI, makeArrayRef(&WL[0], 3));
if (Swapped)
BI->swapProfMetadata();
}
BranchInst *BI =
IRBuilder<>(InsertPt).CreateCondBr(BranchVal, TrueDest, FalseDest, TI);
if (Swapped)
BI->swapProfMetadata();
// If either edge is critical, split it. This helps preserve LoopSimplify
// form for enclosing loops.