[PATCH] IR: Add COMDATs to the IR
David Majnemer
david.majnemer at gmail.com
Tue Jun 10 13:17:54 PDT 2014
Hi rnk, rafael, nicholas,
This new IR facility allows us to represent the object-file semantic of
a COMDAT group.
COMDATs allow us to tie together sections and make the inclusion of one
dependent on another. This is required to implement features like MS
ABI VFTables and optimizing away certain kinds of initialization in C++.
This functionality is only representable in COFF and ELF, Mach-O has no
similar mechanism.
http://reviews.llvm.org/D4094
Files:
docs/LangRef.rst
include/llvm-c/Core.h
include/llvm/Bitcode/LLVMBitCodes.h
include/llvm/IR/Comdat.h
include/llvm/IR/Function.h
include/llvm/IR/GlobalAlias.h
include/llvm/IR/GlobalValue.h
include/llvm/IR/GlobalVariable.h
include/llvm/IR/Module.h
include/llvm/IR/Type.h
include/llvm/IR/Value.h
include/llvm/IR/ValueSymbolTable.h
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLLexer.h
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLParser.h
lib/AsmParser/LLToken.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Reader/BitcodeReader.h
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/Bitcode/Writer/ValueEnumerator.cpp
lib/Bitcode/Writer/ValueEnumerator.h
lib/CodeGen/TargetLoweringObjectFileImpl.cpp
lib/IR/AsmWriter.cpp
lib/IR/AsmWriter.h
lib/IR/CMakeLists.txt
lib/IR/Comdat.cpp
lib/IR/Core.cpp
lib/IR/Function.cpp
lib/IR/Globals.cpp
lib/IR/LLVMContextImpl.cpp
lib/IR/LLVMContextImpl.h
lib/IR/Module.cpp
lib/IR/Type.cpp
lib/IR/Value.cpp
test/Feature/comdat.ll
test/Instrumentation/AddressSanitizer/do-not-instrument-llvm-metadata.ll
test/MC/COFF/comdat.ll
test/MC/ELF/comdat.ll
test/MC/MachO/comdat.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4094.10299.patch
Type: text/x-patch
Size: 72438 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140610/6747d4a8/attachment.bin>
More information about the llvm-commits
mailing list