llvm/lib
Igor Laevsky a277dc299e Strip metadata when speculatively hoisting instructions
This is fix for PR24059.

When we are hoisting instruction above some condition it may turn out
that metadata on this instruction was control dependant on the condition.
This metadata becomes invalid and we need to drop it.

This patch should cover most obvious places of speculative execution (which
I have found by greping isSafeToSpeculativelyExecute). I think there are more
cases but at least this change covers the severe ones.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252604 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-10 14:10:31 +00:00
..
Analysis Strip metadata when speculatively hoisting instructions 2015-11-10 14:10:31 +00:00
AsmParser Add 'notail' marker for call instructions. 2015-11-06 23:55:38 +00:00
Bitcode Add a method to the BitcodeReader to parse only the identification block 2015-11-09 02:46:41 +00:00
CodeGen Support for emitting inline stack probes 2015-11-10 01:50:49 +00:00
DebugInfo [LLVMSymbolize] Reduce indentation by using helper function. NFC. 2015-11-04 00:30:26 +00:00
ExecutionEngine [RuntimeDyld] Add support for R_X86_64_PC8 relocation. 2015-11-08 19:34:17 +00:00
Fuzzer [libFuzzer] make libFuzzer link if there is no sanitizer coverage instrumentation (it will fail at start-up time) 2015-11-09 23:17:45 +00:00
IR [OperandBundles] Rename accessor, NFC 2015-11-07 01:56:04 +00:00
IRReader
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker Restore "Move metadata linking after lazy global materialization/linking." 2015-11-06 17:50:53 +00:00
LTO Add a method to the BitcodeReader to parse only the identification block 2015-11-09 02:46:41 +00:00
MC [AsmParser] Backends can parameterize ASM tokenization. 2015-11-09 00:31:07 +00:00
Object Fix llvm-nm(1) printing of llvm-bitcode files for -format darwin to match darwin’s nm(1). 2015-11-10 00:31:08 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
ProfileData [PGO] Make indexed value profile data more compact 2015-11-10 00:24:45 +00:00
Support Combine ifdefs around dl_iterate_phdr in Unix/Signals.inc 2015-11-09 23:10:29 +00:00
TableGen [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
Target [PowerPC] Remove redundant code. 2015-11-10 12:29:37 +00:00
Transforms Strip metadata when speculatively hoisting instructions 2015-11-10 14:10:31 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile