summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-10-17 23:05:28 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-10-17 23:05:28 +0000
commit40f8f2ff2452c32529a10ba504ba7fbecf8731cd (patch)
tree0392a1c9839e20891d21a660b8e23ceb7d2075c8 /llvm/tools
parentb522550ce579b2709b4f10f20efc01f202b23975 (diff)
downloadbcm5719-llvm-40f8f2ff2452c32529a10ba504ba7fbecf8731cd.tar.gz
bcm5719-llvm-40f8f2ff2452c32529a10ba504ba7fbecf8731cd.zip
Add support for a new extension to the .file directive:
.file filenumber "directory" "filename" This removes one join+split of the directory+filename in MC internals. Because bitcode files have independent fields for directory and filenames in debug info, this patch may change the .o files written by existing .bc files. llvm-svn: 142300
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llc/llc.cpp6
-rw-r--r--llvm/tools/llvm-mc/llvm-mc.cpp7
2 files changed, 10 insertions, 3 deletions
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 7211954c30d..4cb3cf1cb96 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -133,6 +133,9 @@ cl::opt<bool> DisableDotLoc("disable-dot-loc", cl::Hidden,
cl::opt<bool> DisableCFI("disable-cfi", cl::Hidden,
cl::desc("Do not use .cfi_* directives"));
+cl::opt<bool> DisableDwarfDirectory("disable-dwarf-directory", cl::Hidden,
+ cl::desc("Do not use file directives with an explicit directory."));
+
static cl::opt<bool>
DisableRedZone("disable-red-zone",
cl::desc("Do not emit code that uses the red zone."),
@@ -316,6 +319,9 @@ int main(int argc, char **argv) {
if (DisableCFI)
Target.setMCUseCFI(false);
+ if (DisableDwarfDirectory)
+ Target.setMCUseDwarfDirectory(false);
+
// Disable .loc support for older OS X versions.
if (TheTriple.isMacOSX() &&
TheTriple.isMacOSXVersionLT(10, 6))
diff --git a/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp
index ce4a5b355a6..280a1bbd996 100644
--- a/llvm/tools/llvm-mc/llvm-mc.cpp
+++ b/llvm/tools/llvm-mc/llvm-mc.cpp
@@ -409,8 +409,10 @@ static int AssembleInput(const char *ProgName) {
}
Str.reset(TheTarget->createAsmStreamer(Ctx, FOS, /*asmverbose*/true,
/*useLoc*/ true,
- /*useCFI*/ true, IP, CE, MAB,
- ShowInst));
+ /*useCFI*/ true,
+ /*useDwarfDirectory*/ true,
+ IP, CE, MAB, ShowInst));
+
} else if (FileType == OFT_Null) {
Str.reset(createNullStreamer(Ctx));
} else {
@@ -515,4 +517,3 @@ int main(int argc, char **argv) {
return 0;
}
-
OpenPOWER on IntegriCloud