[PATCH] D41739: Debug Info: Support DW_AT_calling_convention on composite types
Adrian Prantl via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 4 13:21:56 PST 2018
aprantl created this revision.
aprantl added reviewers: echristo, probinson, dblaikie.
aprantl added a project: debug-info.
Herald added a reviewer: deadalnix.
Herald added a subscriber: JDevlieghere.
This implements the DWARF 5 feature described at
http://www.dwarfstd.org/ShowIssue.php?issue=141215.1
This allows a consumer to understand whether a composite data type is
trivially copyable and thus should be passed by value instead of by
reference. The canonical example is being able to distinguish the
following two types:
// S is not trivially copyable because of the explicit destructor.
struct S {
~S() {}
};
// T is a POD type.
struct T {
~T() = default;
};
This patch adds two new (DI)flags to LLVM metadata: TypePassByValue
and TypePassByReference.
Repository:
rL LLVM
https://reviews.llvm.org/D41739
Files:
include/llvm-c/DebugInfo.h
include/llvm/IR/DebugInfoFlags.def
include/llvm/IR/DebugInfoMetadata.h
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
lib/IR/Verifier.cpp
test/DebugInfo/Generic/pass-by-value.ll
test/Verifier/cc-flags.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41739.128647.patch
Type: text/x-patch
Size: 6989 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180104/c04b9710/attachment.bin>
More information about the llvm-commits
mailing list