================
Comment at: lib/Transforms/Instrumentation/AddressSanitizer.cpp:247
@@ +246,3 @@
+ GlobalVariable *GVLoc = cast<GlobalVariable>(Loc);
+ SourceLocation[GV] = GVLoc;
+ addSourceLocationGlobal(GVLoc);
----------------
Kostya Serebryany wrote:
> can this be done with a single lookup to SourceLocation and only if
> DN->getOperand(1) is non-zero?
Done.
================
Comment at: projects/compiler-rt/lib/asan/asan_interface_internal.h:53
@@ -44,1 +52,3 @@
uptr has_dynamic_init; // Non-zero if the global has dynamic initializer.
+ __asan_global_source_location *location; // Source location of a global,
+ // or NULL if it is unknown.
----------------
Alexander Potapenko wrote:
> If you store file and line/column location separately you can probably save
> some memory.
Maybe, but 8 byte per global is not a big deal (we spend a bunch of memory for
redzones anyway). I'd like to keep source location in a struct. In future we
may be able to share it between different sanitizers. E.g. UBSan already has
it, and uses the same layout.
http://reviews.llvm.org/D4203
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits