llvm/include/llvm
Zachary Turner d947f15959 Fix use after free in BinaryStream library.
This was reported by the ASAN bot, and it turned out to be
a fairly fundamental problem with the design of VarStreamArray
and the way it passes context information to the extractor.

The fix was cumbersome, and I'm not entirely pleased with it,
so I plan to revisit this design in the future when I'm not
pressed to get the bots green again.  For now, this fixes
the issue by storing the context information by value instead
of by reference, and introduces some impossibly-confusing
template magic to make things "work".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301999 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-03 05:34:00 +00:00
..
ADT [APInt] Move APInt::getSplat out of line. 2017-05-02 06:32:27 +00:00
Analysis Refactor callsite cost computation into a helper function /NFC 2017-05-02 05:38:41 +00:00
AsmParser
Bitcode Bitcode: Make the summary reader responsible for merging. NFCI. 2017-05-01 22:04:36 +00:00
CodeGen Re-land r301697 "[IR] Make add/remove Attributes use AttrBuilder instead of AttributeList" 2017-05-02 22:07:37 +00:00
Config Allow suppressing host and target info in VersionPrinter 2017-04-19 00:03:36 +00:00
DebugInfo Fix use after free in BinaryStream library. 2017-05-03 05:34:00 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
ExecutionEngine [Orc] Fix a warning by removing an unused lambda capture. 2017-04-24 01:21:23 +00:00
IR Replace hardcoded intrinsic list with speculatable attribute. 2017-05-03 02:26:10 +00:00
IRReader
LibDriver
LineEditor
Linker [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
LTO Object, LTO: Add target triple to irsymtab and LTO API. 2017-04-14 02:55:06 +00:00
MC [LLVM][inline-asm] Altmacro absolute expression '%' feature 2017-05-01 13:20:12 +00:00
Object Add llvm::object::getELFSectionTypeName(). 2017-05-02 14:04:52 +00:00
ObjectYAML [WebAssembly] Allow for signed relocation addends 2017-04-26 00:02:31 +00:00
Option Work around MSVC rejects-valid bug related to C++11 narrowing conversions. 2017-04-13 00:14:39 +00:00
Passes Add call branch annotation for ICP promoted direct call in SamplePGO mode. 2017-02-23 22:15:18 +00:00
ProfileData ProfileData: clean up some stale declarations (NFC) 2017-04-24 21:05:05 +00:00
Support Fix use after free in BinaryStream library. 2017-05-03 05:34:00 +00:00
TableGen [tblgen] GCC/MS builtin to target intrisics map. 2017-04-19 19:14:20 +00:00
Target [PowerPC, DAGCombiner] Fold a << (b % (sizeof(a) * 8)) back to a single instruction 2017-05-03 00:07:02 +00:00
Transforms Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +00:00
XRay [XRay][tools] Add option to llvm-xray extract to symbolize functions 2017-04-18 23:23:54 +00:00
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
InitializePasses.h [PM/LoopUnswitch] Introduce a new, simpler loop unswitch pass. 2017-04-27 18:45:20 +00:00
LinkAllIR.h Remove unused #includes of TimeValue.h. NFC. 2016-10-24 14:00:26 +00:00
LinkAllPasses.h [PGO] Memory intrinsic calls optimization based on profiled size 2017-04-04 16:42:20 +00:00
module.modulemap Recommit: [globalisel] Change LLT constructor string into an LLT-based object that knows how to generate it. 2017-03-07 23:20:35 +00:00
module.modulemap.build Fix module map to create a module for the configured header Config/abi-breaking.h 2016-12-01 19:08:38 +00:00
Pass.h Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
PassAnalysisSupport.h Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
PassInfo.h [llvm] Remove duplicate header from PassInfo.h 2016-11-11 02:01:32 +00:00
PassRegistry.h
PassSupport.h Fixing outdated comment [NFC] 2017-04-20 18:20:02 +00:00