SuccessChanges

Summary

  1. Revert "Create UsersManual section entitled 'Controlling Floating Point" (details)
  2. [ARM] VFPv2 only supports 16 D registers. (details)
  3. [ARM] Update clang for removal of vfp2d16 and vfp2d16sp (details)
Commit f478c8bf92652151a73008ebc5c01b210e184ce7 by erich.keane
Revert "Create UsersManual section entitled 'Controlling Floating Point"
This reverts commit a08d5a4b0ebd44dc64f41049ed4e97a3c6d31498.
llvm-svn: 372185
The file was modifiedclang/docs/UsersManual.rst (diff)
Commit ddf5e86c222c6b5226be53e1250421fe608bb4d0 by efriedma
[ARM] VFPv2 only supports 16 D registers.
r361845 changed the way we handle "D16" vs. "D32" targets; there used to
be a negative "d16" which removed instructions from the instruction set,
and now there's a "d32" feature which adds instructions to the
instruction set.  This is good, but there was an oversight in the
implementation: the behavior of VFPv2 was changed.  In particular, the
"vfp2" feature was changed to imply "d32". This is wrong: VFPv2 only
supports 16 D registers.
In practice, this means if you specify -mfpu=vfpv2, the compiler will
generate illegal instructions.
This patch gets rid of "vfp2d16" and "vfp2d16sp", and fixes "vfp2" and
"vfp2sp" so they don't imply "d32".
Differential Revision: https://reviews.llvm.org/D67375
llvm-svn: 372186
The file was modifiedllvm/test/CodeGen/ARM/build-attributes.ll (diff)
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp (diff)
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp (diff)
The file was modifiedllvm/test/CodeGen/ARM/softfp-constant-comparison.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMPredicates.td (diff)
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h (diff)
The file was modifiedllvm/test/CodeGen/ARM/inlineasm-X-allocation.ll (diff)
The file was modifiedllvm/test/MC/ARM/vfp-aliases-diagnostics.s (diff)
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (diff)
The file was modifiedllvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir (diff)
The file was modifiedllvm/lib/Target/ARM/ARM.td (diff)
The file was modifiedllvm/lib/Support/ARMTargetParser.cpp (diff)
Commit 33054a02f762671d85253fc49fa819ccbc8b0474 by efriedma
[ARM] Update clang for removal of vfp2d16 and vfp2d16sp
Matching fix for https://reviews.llvm.org/D67375 (r372186).
Differential Revision: https://reviews.llvm.org/D67467
llvm-svn: 372187
The file was modifiedclang/lib/Basic/Targets/ARM.cpp (diff)
The file was modifiedclang/test/CodeGen/arm-target-features.c (diff)
The file was modifiedclang/test/Driver/arm-mfpu.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp (diff)