llvm/test
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
Assembler DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Bindings Add a new attribute: norecurse 2015-11-06 10:32:53 +00:00
Bitcode Add 'notail' marker for call instructions. 2015-11-06 23:55:38 +00:00
BugPoint [bugpoint] Add a named metadata (+their operands) reducer 2015-11-06 00:12:50 +00:00
CodeGen Update test to use explicit triple 2015-11-10 14:09:08 +00:00
DebugInfo DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Examples
ExecutionEngine [RuntimeDyld] Add support for R_X86_64_PC8 relocation. 2015-11-08 19:34:17 +00:00
Feature [FunctionAttrs] Add handling for operand bundles 2015-11-07 01:56:00 +00:00
FileCheck
Instrumentation DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Integer
JitListener DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LibDriver
Linker Restore "Move metadata linking after lazy global materialization/linking." 2015-11-06 17:50:53 +00:00
LTO Add a new attribute: norecurse 2015-11-06 10:32:53 +00:00
MC AVX512 : Implemented encoding and DAG lowering for VMOVHPS/PD and VMOVLPS/PD instructions. 2015-11-10 07:09:07 +00:00
Object Tests: be slightly more specific to avoid conflict with path. 2015-10-26 13:40:03 +00:00
Other
SymbolRewriter
TableGen
tools 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
Transforms Strip metadata when speculatively hoisting instructions 2015-11-10 14:10:31 +00:00
Unit
Verifier DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh