forked from OSchip/llvm-project
Fix in r128471 is very broad. Some of the unconditional branches need line number information for better user experience.
Restrict the fix. This fixes break.exp failures from gdb testsuite. llvm-svn: 128513
This commit is contained in:
parent
84d7907797
commit
4d7612744f
|
@ -2317,6 +2317,9 @@ Value *ScalarExprEmitter::VisitBinLAnd(const BinaryOperator *E) {
|
||||||
|
|
||||||
// Emit an unconditional branch from this block to ContBlock. Insert an entry
|
// Emit an unconditional branch from this block to ContBlock. Insert an entry
|
||||||
// into the phi node for the edge with the value of RHSCond.
|
// into the phi node for the edge with the value of RHSCond.
|
||||||
|
if (CGF.getDebugInfo())
|
||||||
|
// There is no need to emit line number for unconditional branch.
|
||||||
|
Builder.SetCurrentDebugLocation(llvm::DebugLoc());
|
||||||
CGF.EmitBlock(ContBlock);
|
CGF.EmitBlock(ContBlock);
|
||||||
PN->addIncoming(RHSCond, RHSBlock);
|
PN->addIncoming(RHSCond, RHSBlock);
|
||||||
|
|
||||||
|
|
|
@ -270,9 +270,6 @@ void CodeGenFunction::EmitBranch(llvm::BasicBlock *Target) {
|
||||||
// terminated, don't touch it.
|
// terminated, don't touch it.
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, create a fall-through branch.
|
// Otherwise, create a fall-through branch.
|
||||||
// There is no need to emit line number for unconditional branch.
|
|
||||||
if (getDebugInfo())
|
|
||||||
Builder.SetCurrentDebugLocation(llvm::DebugLoc());
|
|
||||||
Builder.CreateBr(Target);
|
Builder.CreateBr(Target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -400,11 +397,17 @@ void CodeGenFunction::EmitIfStmt(const IfStmt &S) {
|
||||||
|
|
||||||
// Emit the 'else' code if present.
|
// Emit the 'else' code if present.
|
||||||
if (const Stmt *Else = S.getElse()) {
|
if (const Stmt *Else = S.getElse()) {
|
||||||
|
// There is no need to emit line number for unconditional branch.
|
||||||
|
if (getDebugInfo())
|
||||||
|
Builder.SetCurrentDebugLocation(llvm::DebugLoc());
|
||||||
EmitBlock(ElseBlock);
|
EmitBlock(ElseBlock);
|
||||||
{
|
{
|
||||||
RunCleanupsScope ElseScope(*this);
|
RunCleanupsScope ElseScope(*this);
|
||||||
EmitStmt(Else);
|
EmitStmt(Else);
|
||||||
}
|
}
|
||||||
|
// There is no need to emit line number for unconditional branch.
|
||||||
|
if (getDebugInfo())
|
||||||
|
Builder.SetCurrentDebugLocation(llvm::DebugLoc());
|
||||||
EmitBranch(ContBlock);
|
EmitBranch(ContBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue