mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-23 01:24:30 +00:00
Applied some recommend changes from sabre. The dominate one beginning "let the
pass manager do it's thing." Fixes crash when compiling -g files and suppresses dwarf statements if no debug info is present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25100 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -618,8 +618,8 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
case TargetLowering::Promote:
|
||||
default: assert(0 && "This action is not supported yet!");
|
||||
case TargetLowering::Expand: {
|
||||
if (TLI.isOperationLegal(ISD::DEBUG_LOC, MVT::Other)) {
|
||||
MachineDebugInfo &DebugInfo = getMachineDebugInfo();
|
||||
MachineDebugInfo *DebugInfo = DAG.getMachineDebugInfo();
|
||||
if (TLI.isOperationLegal(ISD::DEBUG_LOC, MVT::Other) && DebugInfo) {
|
||||
std::vector<SDOperand> Ops;
|
||||
Ops.push_back(Tmp1); // chain
|
||||
Ops.push_back(Node->getOperand(1)); // line #
|
||||
@ -628,9 +628,9 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
cast<StringSDNode>(Node->getOperand(3))->getValue();
|
||||
const std::string &dirname =
|
||||
cast<StringSDNode>(Node->getOperand(4))->getValue();
|
||||
unsigned srcfile = DebugInfo.RecordSource(fname, dirname);
|
||||
unsigned srcfile = DebugInfo->getUniqueSourceID(fname, dirname);
|
||||
Ops.push_back(DAG.getConstant(srcfile, MVT::i32)); // source file id
|
||||
unsigned id = DebugInfo.NextUniqueID();
|
||||
unsigned id = DebugInfo->getNextUniqueID();
|
||||
Ops.push_back(DAG.getConstant(id, MVT::i32)); // label id
|
||||
Result = DAG.getNode(ISD::DEBUG_LOC, MVT::Other, Ops);
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user