FailedChanges

Summary

  1. [X86][FastISel] Support materializing floating-point constants for large code model & PIC (details)
  2. [llvm-reduce] Skip terminators when reducing instructions. (details)
Commit bef684154d400df5cfd935a18ed7312a582fe5eb by maskray
[X86][FastISel] Support materializing floating-point constants for large code model & PIC

The following program miscompiles because rL216012 added static
relocation model support but not for PIC.

```
// clang -fpic -mcmodel=large -O0 a.cc
double foo() { return 42.0; }
```

This patch adds PIC support.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D86024
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/test/CodeGen/X86/fast-isel-constpool.ll
Commit 51a82828fb291fc8f7768711c4b769157d5f0227 by flo
[llvm-reduce] Skip terminators when reducing instructions.

Removing terminators will result in invalid IR, making further
reductions pointless. I do not think there is any valid use case where
we actually want to create invalid IR as part of a reduction.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D86210
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
The file was addedllvm/test/Reduce/do-not-remove-terminator.ll
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-instructions.ll