llvm-project/clang/lib/Sema
Melanie Blower bc5b5ea037 [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware
@kpn pointed out that the global variable initialization functions didn't
have the "strictfp" metadata set correctly, and @rjmccall said that there
was buggy code in SetFPModel and StartFunction, this patch is to solve
those problems. When Sema creates a FunctionDecl, it sets the
FunctionDeclBits.UsesFPIntrin to "true" if the lexical FP settings
(i.e. a combination of command line options and #pragma float_control
settings) correspond to ConstrainedFP mode. That bit is used when CodeGen
starts codegen for a llvm function, and it translates into the
"strictfp" function attribute. See bugs.llvm.org/show_bug.cgi?id=44571

Reviewed By: Aaron Ballman

Differential Revision: https://reviews.llvm.org/D102343
2021-07-29 12:02:37 -04:00
..
AnalysisBasedWarnings.cpp [-Wcalled-once] Do not run analysis on Obj-C++ 2021-04-22 15:20:52 +03:00
CMakeLists.txt [clang] Make libBasic not depend on MC 2021-04-28 12:16:22 -04:00
CodeCompleteConsumer.cpp [clang] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
CoroutineStmtBuilder.h
DeclSpec.cpp Re-commit [clang] Add support for the "abstract" contextual keyword of MSVC 2021-05-31 18:45:26 +02:00
DelayedDiagnostic.cpp
IdentifierResolver.cpp
JumpDiagnostics.cpp [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 1 2021-05-17 22:42:17 -07:00
MultiplexExternalSemaSource.cpp [clang][AST] Improve AST Reader/Writer memory footprint 2021-05-20 15:34:29 -07:00
OpenCLBuiltins.td [OpenCL] Add cl_khr_integer_dot_product 2021-07-23 10:10:16 +01:00
ParsedAttr.cpp Correct the tablegen for checking mutually exclusive stmt attrs 2021-04-13 15:20:30 -04:00
Scope.cpp
ScopeInfo.cpp [clang] Enable support for #pragma STDC FENV_ACCESS 2020-10-25 06:46:25 -07:00
Sema.cpp [CLANG][PATCH][FPEnv] Add support for option -ffp-eval-method and extend #pragma float_control similarly 2021-07-28 10:50:32 -04:00
SemaAccess.cpp [clang][NFC] Break out BaseUsingDecl from UsingDecl 2021-06-07 06:29:28 -07:00
SemaAttr.cpp Simplify allowing pragma float_control in a linkage specification 2021-07-28 13:29:41 -04:00
SemaAvailability.cpp [clang] RecursiveASTVisitor visits ObjCPropertyRefExpr's class receiver 2021-06-01 14:45:25 -04:00
SemaCUDA.cpp [CUDA][HIP] Promote const variables to constant 2021-06-01 21:28:41 -04:00
SemaCXXScopeSpec.cpp [clang] p1099 using enum part 2 2021-06-08 11:11:46 -07:00
SemaCast.cpp [PowerPC] Implement vector bool/pixel initialization under -faltivec-src-compat=xl 2021-07-19 09:10:06 -05:00
SemaChecking.cpp [clang] Evaluate strlen of strcpy argument for -Wfortify-source. 2021-07-28 20:52:57 +00:00
SemaCodeComplete.cpp [clang] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
SemaConcept.cpp [clang] fix concepts crash on substitution failure during normalization 2021-07-28 23:28:45 +02:00
SemaConsumer.cpp
SemaCoroutine.cpp [clang] NFC: change uses of `Expr->getValueKind` into `is?Value` 2021-07-28 03:09:31 +02:00
SemaDecl.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaDeclAttr.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaDeclCXX.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaDeclObjC.cpp [ObjC] Add a command line flag that disables recognition of objc_direct for testability 2021-04-06 11:17:01 -04:00
SemaExceptionSpec.cpp [OpenMP] Implement '#pragma omp unroll'. 2021-06-10 14:30:17 -05:00
SemaExpr.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaExprCXX.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaExprMember.cpp [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
SemaExprObjC.cpp [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
SemaFixItUtils.cpp [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
SemaInit.cpp [clang] NFC: change uses of `Expr->getValueKind` into `is?Value` 2021-07-28 03:09:31 +02:00
SemaLambda.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaLookup.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaModule.cpp Change Module::ASTFile and ModuleFile::File => Optional<FileEntryRef>, NFC 2020-11-02 15:11:51 -05:00
SemaObjCProperty.cpp [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
SemaOpenMP.cpp [OPENMP]Fix PR50640: OpenMP target clause implicitly scaling loop bounds to uint64_t. 2021-07-01 07:52:22 -07:00
SemaOverload.cpp Partially implement P1401R5 (Narrowing contextual conversions to bool) 2021-07-12 08:06:27 -04:00
SemaPseudoObject.cpp [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
SemaSYCL.cpp Revert "[SYCL][NFC] Ensure SYCL kernel for unique-stable-name is unqualified." 2021-06-21 13:23:52 -07:00
SemaStmt.cpp [clang] P2266 implicit moves STL workaround 2021-07-26 22:21:31 +02:00
SemaStmtAsm.cpp [ADT] Remove APInt/APSInt toString() std::string variants 2021-06-11 13:19:15 +01:00
SemaStmtAttr.cpp Implemented [[clang::musttail]] attribute for guaranteed tail calls. 2021-04-15 17:12:21 -07:00
SemaTemplate.cpp [ADT] Remove APInt/APSInt toString() std::string variants 2021-06-11 13:19:15 +01:00
SemaTemplateDeduction.cpp Add type information to integral template argument if required. 2021-05-12 19:00:08 +00:00
SemaTemplateInstantiate.cpp [SemaCXX] Handle lack of TypeSourceInfo on special member functions in templated lambdas 2021-06-22 17:26:05 -07:00
SemaTemplateInstantiateDecl.cpp [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware 2021-07-29 12:02:37 -04:00
SemaTemplateVariadic.cpp Revert "Following up on PR48517, fix handling of template arguments that refer" 2021-01-20 15:55:35 +01:00
SemaType.cpp [clang] NFC: refactor multiple implementations of getDecltypeForParenthesizedExpr 2021-07-28 23:27:43 +02:00
TreeTransform.h [clang] NFC: add line break at the end of if expressions 2021-06-30 19:48:24 +08:00
TypeLocBuilder.cpp
TypeLocBuilder.h
UsedDeclVisitor.h DeferredDiagnosticsEmitter crashes 2020-10-08 11:42:21 -04:00