DebugInfo: support for DWARFv5 DW_AT_alignment attribute
authorVictor Leschuk <vleschuk@accesssoftek.com>
Wed, 26 Oct 2016 11:59:03 +0000 (11:59 +0000)
committerVictor Leschuk <vleschuk@accesssoftek.com>
Wed, 26 Oct 2016 11:59:03 +0000 (11:59 +0000)
commit3c9899842bf4d0a69a6346026f60f070ac92016b
treea6e1d39aeb115cc03019d956290b0eb396e4945a
parent851ce0ef004c8e376dcc69c168b17dfb8640cc3f
DebugInfo: support for DWARFv5 DW_AT_alignment attribute

* Assume that clang passes non-zero alignment value to DIBuilder
only in case when it was forced by C++11 'alignas', C11 '_Alignas'
or compiler attribute '__attribute__((aligned (N)))'.

* Emit DW_AT_alignment if alignment is specified for type/object.

Differential Revision: https://reviews.llvm.org/D24425

llvm-svn: 285189
llvm/docs/SourceLevelDebugging.rst
llvm/include/llvm/IR/DebugInfoMetadata.h
llvm/include/llvm/Support/Dwarf.h
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
llvm/lib/Support/Dwarf.cpp
llvm/test/DebugInfo/X86/align_c11.ll [new file with mode: 0644]
llvm/test/DebugInfo/X86/align_cpp11.ll [new file with mode: 0644]
llvm/test/DebugInfo/X86/align_objc.ll [new file with mode: 0644]
llvm/test/DebugInfo/X86/dwarf-public-names.ll