llvm-project/clang/lib/Analysis
Adam Nemet 484aa45153 Encapsulate FPOptions and use it consistently
Sema holds the current FPOptions which is adjusted by 'pragma STDC
FP_CONTRACT'.  This then gets propagated into expression nodes as they are
built.

This encapsulates FPOptions so that this propagation happens opaquely rather
than directly with the fp_contractable on/off bit.  This allows controlled
transitioning of fp_contractable to a ternary value (off, on, fast).  It will
also allow adding more fast-math flags later.

This is toward moving fp-contraction=fast from an LLVM TargetOption to a
FastMathFlag in order to fix PR25721.

Differential Revision: https://reviews.llvm.org/D31166

llvm-svn: 298877
2017-03-27 19:17:25 +00:00
..
AnalysisDeclContext.cpp [Analysis] Use unique_ptr in AnalyaisDeclContextManager's ContextMap. 2016-10-10 16:26:44 +00:00
BodyFarm.cpp Encapsulate FPOptions and use it consistently 2017-03-27 19:17:25 +00:00
BodyFarm.h Make headers self-contained. 2016-02-02 11:06:57 +00:00
CFG.cpp [analyzer] Fix crash when building CFG with variable of incomplete type 2017-03-07 08:42:37 +00:00
CFGReachabilityAnalysis.cpp
CFGStmtMap.cpp
CMakeLists.txt Add support for __builtin_os_log_format[_buffer_size] 2016-10-24 20:39:34 +00:00
CallGraph.cpp [analyzer] Consider function call arguments while building CallGraph. 2017-01-27 12:14:56 +00:00
CloneDetection.cpp [analyzer] Re-apply r283094 "Improve CloneChecker diagnostics" 2016-10-08 10:54:30 +00:00
CocoaConventions.cpp Allow the cf_returns_[not_]retained attributes to appear on out-parameters. 2015-06-19 23:17:46 +00:00
CodeInjector.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
Consumed.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Dominators.cpp
FormatString.cpp Add support for __builtin_os_log_format[_buffer_size] 2016-10-24 20:39:34 +00:00
FormatStringParsing.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
LiveVariables.cpp [analyzer] Remove superquadratic behaviour from DataflowWorklist 2016-10-13 21:31:46 +00:00
OSLog.cpp Make helpers static. NFC. 2017-02-11 12:21:17 +00:00
ObjCNoReturn.cpp
PostOrderCFGView.cpp
PrintfFormatString.cpp Add support for __builtin_os_log_format[_buffer_size] 2016-10-24 20:39:34 +00:00
ProgramPoint.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
PseudoConstantAnalysis.cpp Avoid overly large SmallPtrSet/SmallSet 2016-01-30 01:27:06 +00:00
ReachableCode.cpp Avoid multiple -Wunreachable-code diagnostics that are triggered by 2017-01-12 10:48:03 +00:00
ScanfFormatString.cpp [Sema] Don't crash on scanf on forward-declared enums. 2016-08-20 16:51:33 +00:00
ThreadSafety.cpp DR616, and part of P0135R1: member access (or pointer-to-member access) on a 2016-12-03 01:14:32 +00:00
ThreadSafetyCommon.cpp DR616, and part of P0135R1: member access (or pointer-to-member access) on a 2016-12-03 01:14:32 +00:00
ThreadSafetyLogical.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
ThreadSafetyTIL.cpp Hide away implementation details of the ThreadSafetyAnalysis in anonymous namespaces 2015-03-09 14:19:54 +00:00
UninitializedValues.cpp NFC small format 2016-10-29 15:28:25 +00:00