add the -mrecip driver flag and process its options (3rd try)
authorSanjay Patel <spatel@rotateright.com>
Thu, 11 Jun 2015 14:53:41 +0000 (14:53 +0000)
committerSanjay Patel <spatel@rotateright.com>
Thu, 11 Jun 2015 14:53:41 +0000 (14:53 +0000)
commit2987c29a1e5ae5adb9b5be7c6c327503d1a2597e
tree735fbe8971e527a9acca0d03faec6edd0977e16d
parent076ac95e79d1d107f679133ce3b432249ab93056
add the -mrecip driver flag and process its options (3rd try)

The 1st and 2nd tries to land this (r238055, r238851) were reverted due to
bot failures caused by the LLVM part of the patch. That was hopefully fixed
after r239001.

This is the front-end counterpart to D8982.

The -mrecip option interface is based on maintaining compatibility with gcc:
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#index-mrecip_003dopt-1627
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/RS_002f6000-and-PowerPC-Options.html#index-mrecip-2289

...while adding more functionality (allowing users to specify the number of refinement steps for each
estimate type).

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

llvm-svn: 239536
clang/include/clang/Basic/TargetOptions.h
clang/include/clang/Driver/Options.td
clang/lib/CodeGen/BackendUtil.cpp
clang/lib/Driver/Tools.cpp
clang/lib/Frontend/CompilerInvocation.cpp
clang/test/Driver/mrecip.c [new file with mode: 0644]