llvm-project/clang/lib/Driver
Rafael Espindola eb26547177 Move -mfpmath handling to -cc1 and implement it for x86.
The original idea was to implement it all on the driver, but to do that the
driver needs to know the sse level and to do that it has to know the default
features of a cpu.

Benjamin Kramer pointed out that if one day we decide to implement support for
' __attribute__ ((__target__ ("arch=core2")))', then the frontend needs to
keep its knowledge of default features of a cpu.

To avoid duplicating which part of clang handles default cpu features,
it is probably better to handle -mfpmath in the frontend.

For ARM this patch is just a small improvement. Instead of a cpu list, we
check if neon is enabled, which allows us to reject things like

-mcpu=cortex-a9 -mfpu=vfp -mfpmath=neon

For X86, since LLVM doesn't support an independent ssefp feature, we just
make sure the selected -mfpmath matches the sse level.

llvm-svn: 188939
2013-08-21 21:59:03 +00:00
..
Action.cpp [Driver] Refactor clang driver to use LLVM's Option library 2013-06-14 17:17:23 +00:00
CC1AsOptions.cpp Remove the SUPPORT_ALIASARGS define 2013-08-01 00:12:13 +00:00
CMakeLists.txt Re-apply r188666 2013-08-19 13:59:22 +00:00
Compilation.cpp Remove the -ccc-echo option that is now unused. 2013-07-23 17:58:53 +00:00
Driver.cpp Move SanitizerArgs to the clang Driver 2013-08-19 09:14:21 +00:00
DriverOptions.cpp Remove the SUPPORT_ALIASARGS define 2013-08-01 00:12:13 +00:00
InputInfo.h [Driver] Remove the using namespace directives from headers 2013-06-17 13:59:19 +00:00
Job.cpp [Driver] Refactor clang driver to use LLVM's Option library 2013-06-14 17:17:23 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
Phases.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
SanitizerArgs.cpp Re-apply r188666 2013-08-19 13:59:22 +00:00
Tool.cpp Remove stray emacs mode markers in all these files that was causing emacs to 2010-12-31 17:31:54 +00:00
ToolChain.cpp ARM: default to arm1176jzf-s for hard-float platforms. 2013-08-20 13:13:38 +00:00
ToolChains.cpp Move SanitizerArgs to the clang Driver 2013-08-19 09:14:21 +00:00
ToolChains.h Move SanitizerArgs to the clang Driver 2013-08-19 09:14:21 +00:00
Tools.cpp Move -mfpmath handling to -cc1 and implement it for x86. 2013-08-21 21:59:03 +00:00
Tools.h Centralize the handling of -target-feature. 2013-08-21 16:39:20 +00:00
Types.cpp clang-cl: Support the /Fe option 2013-08-12 21:56:42 +00:00
WindowsToolChain.cpp Windows ToolChain: add VS bin dir to PogramPaths 2013-08-16 03:15:10 +00:00