Add support on x86 for having Legalize lower ISD::LOCATION to ISD::DEBUG_LOC
instead of ISD::LABEL with a manual .debug_line entry when the assembler supports .file and .loc directives. llvm-svn: 42278
This commit is contained in:
parent
3165699e4b
commit
1b2156fcae
|
@ -32,6 +32,7 @@
|
|||
#include "llvm/CodeGen/SelectionDAG.h"
|
||||
#include "llvm/CodeGen/SSARegMap.h"
|
||||
#include "llvm/Support/MathExtras.h"
|
||||
#include "llvm/Target/TargetAsmInfo.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/ParameterAttributes.h"
|
||||
|
@ -229,8 +230,12 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM)
|
|||
setOperationAction(ISD::MEMSET , MVT::Other, Custom);
|
||||
setOperationAction(ISD::MEMCPY , MVT::Other, Custom);
|
||||
|
||||
// We don't have line number support yet.
|
||||
// Use the default ISD::LOCATION expansion, and tell Legalize it's
|
||||
// ok to use DEBUG_LOC if we have an assembler that supports it.
|
||||
setOperationAction(ISD::LOCATION, MVT::Other, Expand);
|
||||
if (TM.getTargetAsmInfo()->hasDotLocAndDotFile())
|
||||
setOperationAction(ISD::DEBUG_LOC, MVT::Other, Legal);
|
||||
else
|
||||
setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand);
|
||||
// FIXME - use subtarget debug flags
|
||||
if (!Subtarget->isTargetDarwin() &&
|
||||
|
|
Loading…
Reference in New Issue