1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib
Yevgeny Rouban 0962ef7930 Make SwitchInstProfUpdateWrapper safer
While prof branch_weights inconsistencies are being fixed patch
by patch (pass by pass) we need SwitchInstProfUpdateWrapper to
be safe with respect to inconsistent metadata that can come from
passes that have not been fixed yet. See the bug found by @nikic
in https://reviews.llvm.org/D62126.

This patch introduces one more state (called Invalid) to the
wrapper class that allows users to work with the underlying
SwitchInst ignoring the prof metadata changes.

Created a unit test for the SwitchInstProfUpdateWrapper class.

Reviewers: davidx, nikic, eraman, reames, chandlerc
Reviewed By: davidx
Differential Revision: https://reviews.llvm.org/D62656

llvm-svn: 362473
2019-06-04 09:03:39 +00:00
..
Analysis CFLAA: reflow comments; NFC 2019-06-03 19:56:22 +00:00
AsmParser Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
BinaryFormat
Bitcode Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
CodeGen [DAGCombine] Match a pattern where a wide type scalar value is stored by several narrow stores 2019-06-04 08:53:53 +00:00
DebugInfo Extend the DWARFExpression address handling to support 16-bit addresses 2019-06-01 09:18:26 +00:00
Demangle llvm-undname; Add more test coverage for demangleFunctionClass() 2019-06-02 23:26:57 +00:00
ExecutionEngine [RuntimeDyld] fix too-small-bitmask error 2019-06-01 04:51:26 +00:00
Fuzzer
FuzzMutate
IR Make SwitchInstProfUpdateWrapper safer 2019-06-04 09:03:39 +00:00
IRReader
LineEditor
Linker Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
LTO Fix -DBUILD_SHARED_LIBS=ON build after rL362160 2019-05-31 01:04:00 +00:00
MC [codeview] Revert inline line table change of r362264 2019-05-31 22:55:03 +00:00
MCA [MCA][Scheduler] Change how memory instructions are dispatched to the pending set. NFCI 2019-06-01 15:22:37 +00:00
Object Revert "[llvm-ar] Fix relative thin archive path handling" 2019-06-03 16:21:37 +00:00
ObjectYAML [COFF, ARM64] Add CodeView register mapping 2019-05-31 23:43:31 +00:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes [NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC]. 2019-05-23 21:52:59 +00:00
ProfileData Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
Remarks [Remarks] Fix usage of enum class 2019-05-30 22:01:56 +00:00
Support [PowerPC] Set PROT_READ flag for MF_EXEC to prevent segfaults on PPC machines 2019-06-03 16:20:59 +00:00
TableGen TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
Target [ARM] Turn some undefined encoding bits into 0s. 2019-06-04 08:28:48 +00:00
Testing
TextAPI
ToolDrivers Revert "[llvm-ar] Fix relative thin archive path handling" 2019-06-03 16:21:37 +00:00
Transforms [SCCP] Add UnaryOperator visitor to SCCP for unary FNeg 2019-06-03 21:53:56 +00:00
WindowsManifest
XRay Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
CMakeLists.txt
LLVMBuild.txt