llvm-6502/lib/Transforms/Utils
Reid Kleckner 1ce3088669 Add comdat key field to llvm.global_ctors and llvm.global_dtors
This allows us to put dynamic initializers for weak data into the same
comdat group as the data being initialized.  This is necessary for MSVC
ABI compatibility.  Once we have comdats for guard variables, we can use
the combination to help GlobalOpt fire more often for weak data with
guarded initialization on other platforms.

Reviewers: nlewycky

Differential Revision: http://reviews.llvm.org/D3499

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209015 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-16 20:39:27 +00:00
..
AddDiscriminators.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
ASanStackFrameLayout.cpp
BasicBlockUtils.cpp Fix rampant quadratic behavior in UpdatePHINodes. The operation of 2014-04-28 10:37:30 +00:00
BreakCriticalEdges.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
BuildLibCalls.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
BypassSlowDivision.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CloneFunction.cpp Patch for function cloning to inline all blocks whose address is taken 2014-04-30 22:05:02 +00:00
CloneModule.cpp Fix most of PR10367. 2014-05-16 19:35:39 +00:00
CMakeLists.txt Teach GlobalDCE how to remove empty global_ctor entries. 2014-05-02 18:35:25 +00:00
CmpInstAnalysis.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CodeExtractor.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CtorUtils.cpp Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
DemoteRegToStack.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
FlattenCFG.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
GlobalStatus.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InlineFunction.cpp Don't insert lifetime.end markers between a musttail call and ret 2014-05-15 21:10:46 +00:00
InstructionNamer.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
IntegerDivision.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
LCSSA.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
LLVMBuild.txt
Local.cpp Rename ComputeMaskedBits to computeKnownBits. "Masked" has been 2014-05-14 21:14:37 +00:00
LoopSimplify.cpp Fix a typo in comment 2014-04-29 07:35:33 +00:00
LoopUnroll.cpp Add optimization remarks to the loop unroller and vectorizer. 2014-04-29 14:27:31 +00:00
LoopUnrollRuntime.cpp [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
LowerExpectIntrinsic.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
LowerInvoke.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
LowerSwitch.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Makefile
Mem2Reg.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
MetaRenamer.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
ModuleUtils.cpp Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
PromoteMemoryToRegister.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
SimplifyCFG.cpp Rename ComputeMaskedBits to computeKnownBits. "Masked" has been 2014-05-14 21:14:37 +00:00
SimplifyIndVar.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
SimplifyInstructions.cpp RecursivelyDeleteTriviallyDeadInstructions() could remove 2014-04-26 05:58:11 +00:00
SimplifyLibCalls.cpp Fold strlen(expr ? "str1" : "str2") to x ? len1 : len2. This fires about 330 times in a bootstrap of clang. 2014-05-02 04:11:45 +00:00
SpecialCaseList.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
SSAUpdater.cpp [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
UnifyFunctionExitNodes.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Utils.cpp Pass to emit DWARF path discriminators. 2014-03-03 20:06:11 +00:00
ValueMapper.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00