llvm-project/clang/lib/Basic
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
..
Builtins.cpp Add a -fno-math-builtin option to the Clang -cc1 2013-07-23 00:13:01 +00:00
CMakeLists.txt <rdar://problem/13358795> Teach CMake to check Subversion version information at build time, not configure time. 2013-03-25 23:16:38 +00:00
CharInfo.cpp CharInfo: Add missing "using namespace clang::charinfo" in .cpp file. 2013-02-08 22:37:49 +00:00
Diagnostic.cpp Revert r177218. 2013-05-03 23:20:27 +00:00
DiagnosticIDs.cpp Replace 'unsigned short' with 'uint16_t' in a packed data structure for consistency with other fields and to be explicit about bit count. 2013-07-21 21:56:18 +00:00
FileManager.cpp Use llvm::sys::fs::UniqueID for windows and unix. 2013-08-01 21:42:11 +00:00
FileSystemStatCache.cpp Use llvm::sys::fs::UniqueID for windows and unix. 2013-08-01 21:42:11 +00:00
IdentifierTable.cpp ObjectiveC migrator: Add another family of factory 2013-08-02 20:54:18 +00:00
LangOptions.cpp Add a *San + modules FIXME. 2013-02-07 01:09:29 +00:00
Makefile Use tabs instead of spaces. 2012-03-02 16:06:37 +00:00
Module.cpp When we perform dependent name lookup during template instantiation, it's not 2013-07-25 23:08:39 +00:00
ObjCRuntime.cpp Add the ObjFW runtime. Patch by Jonathan Schleifer! 2012-07-12 02:07:58 +00:00
OpenMPKinds.cpp OpenMP: basic support for #pragma omp parallel 2013-07-19 03:13:43 +00:00
OperatorPrecedence.cpp Replace C++0x in a comment with C++11 2013-07-14 17:04:56 +00:00
SourceLocation.cpp PR14581: Make SourceLocation::printToString work, or it will always return an empty string. 2012-12-12 14:17:17 +00:00
SourceManager.cpp Simplified SourceManager::translateLineCol a bit. 2013-07-29 22:26:10 +00:00
TargetInfo.cpp Driver: Push triple objects around instead of going to std::string all the time. 2013-06-29 16:37:14 +00:00
Targets.cpp Move -mfpmath handling to -cc1 and implement it for x86. 2013-08-21 21:59:03 +00:00
TokenKinds.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
Version.cpp Remove "static" on simple temporary StringRef. 2013-08-09 17:51:03 +00:00
VersionTuple.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00