[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-09 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: anemet, aaron.ballman, kpn, hfinkel, rsmith, rjmccall. Herald added a project: clang. Pragma 'clang fp' is extended to support two new options, 'rounding' and 'exceptions'. They allow to specifying floating point environment more precise

[PATCH] D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions

2019-08-12 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, anemet, kpn, aaron.ballman, hfinkel. Herald added a project: clang. If the value of FPOption is modified, for example by using pragma 'clang fp', create calls to constrained fp intrinsics with metadata arguments corresponding to

[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-12 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 214750. sepavloff added a comment. Updated patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65997/new/ https://reviews.llvm.org/D65997 Files: clang/docs/LanguageExtensions.rst clang/include/clang/Basi

[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-12 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 7 inline comments as done. sepavloff added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:2697 PP.Lex(Tok); +StringRef ExpectedArgumentText; +switch (*FlagKind) { aaron.ballman wrote: > Same here. This case is different

[PATCH] D65994: Extended FPOptions with new attributes

2019-08-12 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 214754. sepavloff added a comment. Updated patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65994/new/ https://reviews.llvm.org/D65994 Files: clang/include/clang/AST/Stmt.h clang/include/clang/Basic/L

[PATCH] D65994: Extended FPOptions with new attributes

2019-08-12 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 2 inline comments as done. sepavloff added a comment. In D65994#1625457 , @rjmccall wrote: > Since this setting changes IR output, you should write a test that emits IR > for source code and tests that you get the right IR output. This

[PATCH] D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions

2019-08-13 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 214857. sepavloff added a comment. Added tests for 'pragma clang fp' in template instantiations Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66092/new/ https://reviews.llvm.org/D66092 Files: clang/lib/Cod

[PATCH] D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions

2019-08-13 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In D66092#1625380 , @kpn wrote: > Does this work for anything that uses TreeTransform, like C++ templates? Added such tests. > Also, if any constrained intrinsics are used in a function then the entire > function needs to be

[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-14 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 215134. sepavloff added a comment. Updated patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65997/new/ https://reviews.llvm.org/D65997 Files: clang/docs/LanguageExtensions.rst clang/include/clang/Basi

[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-14 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 2 inline comments as done. sepavloff added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:2697 PP.Lex(Tok); +StringRef ExpectedArgumentText; +switch (*FlagKind) { aaron.ballman wrote: > sepavloff wrote: > > aaron.ballma

[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:2678 + auto *AnnotValue = new (PP.getPreprocessorAllocator()) TokFPAnnotValue; while (Tok.is(tok::identifier)) { aaron.ballman wrote: >

[PATCH] D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions

2019-08-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In D66092#1629460 , @andrew.w.kaylor wrote: > In D66092#1627339 , @sepavloff wrote: > > > In D66092#1625380 , @kpn wrote: > > > > > Also, if any c

[PATCH] D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions

2019-08-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. > The thing that makes the IR semantically incomplete is that there is nothing > there to prevent incorrect code motion of the non-constrained operations. > Consider this case: > > if (someCondition) { > #pragma clang fp rounding(downward) > fesetround(FE_DO

[PATCH] D65997: Add options rounding and exceptions to pragma fp

2019-08-16 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 2 inline comments as done. sepavloff added inline comments. Comment at: clang/docs/LanguageExtensions.rst:3152 +rounding mode. This option is experimental; the compiler may ignore an explicit +rounding mode in some situations. + andrew.w.kaylor w

[PATCH] D66834: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`

2019-09-26 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In D66834#1653334 , @broadwaylamb wrote: > In D66834#1652756 , @compnerd wrote: > > > I think that this is pretty easy to forget. Fortunately, last argument > > wins. Why not sink this

[PATCH] D66834: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`

2019-09-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff accepted this revision. sepavloff added a comment. This revision is now accepted and ready to land. In D66834#1685921 , @broadwaylamb wrote: > In D66834#1685260 , @sepavloff wrote: > > > In D66834#1653334

[PATCH] D66834: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`

2019-09-28 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL373147: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT` (authored by sepavloff, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prio

[PATCH] D66981: Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`

2019-10-02 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL373565: Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON` (authored by sepavloff, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to

[PATCH] D45964: [Driver] Fix implicit config files from prefixed symlinks

2018-04-24 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff accepted this revision. sepavloff added a comment. This revision is now accepted and ready to land. Thank you for fixing this issue! LGTM Comment at: lib/Driver/Driver.cpp:132 ArrayRef Args) { - ClangNameParts = ToolChain::getTargetAndM

[PATCH] D45964: [Driver] Fix implicit config files from prefixed symlinks

2018-04-25 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In https://reviews.llvm.org/D45964#1077217, @mstorsjo wrote: > Added an isEmpty() method. This variant is more readable. > Btw, did you see https://bugs.llvm.org/show_bug.cgi?id=37196? That one feels > quite a bit more convolved so I don't really know (so far) how t

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-04-29 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, rsmith. If a variable has initializer, codegen tries to build its value. It causes strange behavior from user viewpoint: compilation of huge zero initialized arrays like: int char data_1[2147483648u] = { 0 }; consumes enormo

[PATCH] D46286: [Driver] Don't warn about unused inputs in config files

2018-05-02 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff accepted this revision. sepavloff added a comment. This revision is now accepted and ready to land. Indeed, this is a missing case. Thank you for fixing it! LGTM Repository: rC Clang https://reviews.llvm.org/D46286 ___ cfe-commits mail

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-05-02 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 144898. sepavloff added a comment. Addressed review notes. Repository: rC Clang https://reviews.llvm.org/D46241 Files: lib/CodeGen/CGExprConstant.cpp test/CodeGenCXX/cxx11-initializer-aggregate.cpp Index: test/CodeGenCXX/cxx11-initializer-aggrega

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-05-02 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 3 inline comments as done. sepavloff added inline comments. Comment at: lib/CodeGen/CGExprConstant.cpp:1414 + return true; +} + } rjmccall wrote: > You should check the array fill expression here; for now, the test case would > be some

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-05-03 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 145049. sepavloff marked an inline comment as done. sepavloff added a comment. Small simplification Repository: rC Clang https://reviews.llvm.org/D46241 Files: lib/CodeGen/CGExprConstant.cpp test/CodeGenCXX/cxx11-initializer-aggregate.cpp Index:

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-05-03 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: lib/CodeGen/CGExprConstant.cpp:1403 + if (auto *IL = dyn_cast_or_null(Init)) { +if (InitTy->isConstantArrayType()) { + for (auto I : IL->inits()) rjmccall wrote: >

[PATCH] D46286: [Driver] Don't warn about unused inputs in config files

2018-05-03 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff accepted this revision. sepavloff added a comment. With additional changes the fix is OK. LGTM. https://reviews.llvm.org/D46286 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-05-07 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 145445. sepavloff marked an inline comment as done. sepavloff added a comment. Avoid redundant initializer calculation Repository: rC Clang https://reviews.llvm.org/D46241 Files: include/clang/AST/Expr.h lib/AST/ExprConstant.cpp lib/CodeGen/CGExp

[PATCH] D46241: [CodeGen] Recognize more cases of zero initialization

2018-05-07 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added inline comments. Comment at: lib/CodeGen/CGExprConstant.cpp:1413 + } else if (!Init->isEvaluatable(CE.CGM.getContext())) { +return false; + } else if (InitTy->hasPointerRepresentation()) { rsmith wrote: > sepavloff wrote: > > rjmccall wrote:

[PATCH] D69272: Restricted variant of '#pragma STDC FENV_ACCESS'

2019-10-21 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rsmith, rjmccall, andrew.w.kaylor, kpn, hfinkel, cameron.mcinally, uweigand. Herald added a project: clang. This change implements support of '#pragma STDC FENV_ACCESS' in frontend. The pragma is supported only at namespace level and in

[PATCH] D69272: Restricted variant of '#pragma STDC FENV_ACCESS'

2019-10-22 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added a comment. Try to organize replies for better references. **Background** According to the current design, if floating point operations are represented by constrained intrinsics somewhere in a function, constrained intrinsics must be u

[PATCH] D69272: Restricted variant of '#pragma STDC FENV_ACCESS'

2019-10-22 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In D69272#1717967 , @kpn wrote: > Baking into the front end the fact that the backend implementation is not yet > complete doesn't strike me as a good idea. I don't expect that this patch would pass review quickly. But it coul

[PATCH] D69272: Restricted variant of '#pragma STDC FENV_ACCESS'

2019-10-22 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:890 + "cannot apply to inline functions, ignoring pragma">, + InGroup; hfinkel wrote: > sepavloff wrote: > > hfinkel wro

[PATCH] D80440: [OpenCL] Prevent fused mul and add by default

2020-05-25 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Contraction is just an optimization technique. Unless a user explicitly requests strict FP semantics, contraction does not break C++ semantics. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80440/new/ https://reviews.llvm.org/D80440 ___

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-25 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 265990. sepavloff edited the summary of this revision. sepavloff added a comment. Updated patch - Removed support for lowering to library call at all. Now it is NFC patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-25 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG61f72dd8ace7: [FPEnv] Small fixes to implementation of flt.rounds (authored by sepavloff). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79322/new/ https://

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-05-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 266506. sepavloff added a comment. Updated patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78903/new/ https://reviews.llvm.org/D78903 Files: clang/docs/UsersManual.rst clang/include/clang/Driver/Job.

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-05-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 4 inline comments as done. sepavloff added inline comments. Comment at: clang/lib/Driver/Driver.cpp:3772 +C.setPostCallback([=](const Command &Cmd, int Res) { + const llvm::sys::ProcessStatistics &ProcStat = Cmd.getProcessStatistics(); + if (ProcSt

[PATCH] D84147: Use typedef to represent storage type in FPOption and FPOptionsOverride

2020-07-20 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, mibintc. Herald added a project: clang. Size of FPOption is now 14 bit, which is closed to the current limit of 16 bits. Adding new properties to FPOption would require change of the types, which represent storage of FPOption an

[PATCH] D84147: Use typedef to represent storage type in FPOption and FPOptionsOverride

2020-07-21 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG21cd7b72a3d4: Use typedef to represent storage type in FPOption and FPOptionsOverride (authored by sepavloff). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-21 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd4020ef7c474: [Windows] Fix limit on command line size (authored by sepavloff). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https://reviews.llv

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-21 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 279709. sepavloff added a comment. Herald added a project: LLDB. Herald added a subscriber: lldb-commits. Added changes for LLDB Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https://reviews.llvm.o

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-21 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added reviewers: k8stone, max-kudr. sepavloff added subscribers: max-kudr, k8stone. sepavloff added a comment. @k8stone @max-kudr Could you please review the changes for LLDB? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https

[PATCH] D84343: [AST] Keep FP options in trailing storage of CallExpr

2020-07-22 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, mibintc. Herald added a subscriber: martong. Herald added a reviewer: shafik. Herald added a project: clang. This change allow a CallExpr to have optional FPOptionsOverride object, stored in trailing storage. The implementaion i

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-22 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGdab898f9ab62: [Windows] Fix limit on command line size (authored by sepavloff). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https://reviews.llv

[PATCH] D84343: [AST] Keep FP options in trailing storage of CallExpr

2020-07-23 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 280040. sepavloff added a comment. Extended test with PCH read Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84343/new/ https://reviews.llvm.org/D84343 Files: clang/include/clang/AST/Expr.h clang/include

[PATCH] D84343: [AST] Keep FP options in trailing storage of CallExpr

2020-07-23 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG70e7aa4a4ed3: [AST][FPEnv] Keep FP options in trailing storage of CallExpr (authored by sepavloff). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84343/new/

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-07-26 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 280796. sepavloff added a comment. Rebased patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78902/new/ https://reviews.llvm.org/D78902 Files: clang/include/clang/Driver/Job.h clang/lib/Driver/Job.cpp

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-07-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Adding output files property is a prerequisite for D78903 (Add option -fproc-stat-report). Despite large size of the patch, the change is very simple: it only adds new state variable `OutputFilenames` initialized by the new parameter

[PATCH] D78899: [Driver] Add callback to Command execution

2020-07-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 280827. sepavloff added a comment. Rebased patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78899/new/ https://reviews.llvm.org/D78899 Files: clang/include/clang/Driver/Compilation.h clang/lib/Driver/

[PATCH] D76384: Move FPFeatures from BinaryOperator bitfields to Trailing storage

2020-04-03 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added inline comments. Comment at: clang/include/clang/Basic/LangOptions.h:394 + return true; + } + rjmccall wrote: > sepavloff wrote: > > erichkeane wrote: > > > rjmccall wrote: > > > > erichkeane wrote: > > > > > rjmccall wrote: > > > > > > rjmcc

[PATCH] D77520: Treat default values in LangOptions.def in the scope of enums

2020-04-05 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, rnk, arsenm. Herald added a subscriber: wdng. Herald added a project: clang. If an option specified in LangOptions.def is of enum type, its default value should be a member of that enum, so scope qualifier may always be added in

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-06 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 255267. sepavloff added a comment. Updated patch - enhancements of LangOptions.def are moved into separate patch, - fixed some clang-format errors, - added more comments to RoundingMode. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION h

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-06 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: llvm/include/llvm/ADT/FloatingPointMode.h:26 +/// assigned to the rounding modes must agree with the values used by FLT_ROUNDS +/// (C11, 5.2.4.2.2p8). +enum class RoundingMode : int8_t { --

[PATCH] D77545: Represent FP options in AST by special Expression node

2020-04-06 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rsmith, rjmccall, andrew.w.kaylor, efriedma, mibintc, kpn, sammccall, hokein. Herald added a subscriber: martong. Herald added a project: clang. The patch D76599 proposed a new statement node to represe

[PATCH] D76384: Move FPFeatures from BinaryOperator bitfields to Trailing storage

2020-04-06 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added inline comments. Comment at: clang/include/clang/Basic/LangOptions.h:394 + return true; + } + rjmccall wrote: > sepavloff wrote: > > rjmccall wrote: > > > sepavloff wrote: > > > > erichkeane wrote: > > > > > rjmccall wrote: > > > > > > erichk

[PATCH] D77520: Treat default values in LangOptions.def in the scope of enums

2020-04-06 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff abandoned this revision. sepavloff added a comment. Thank you, Reid! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77520/new/ https://reviews.llvm.org/D77520 ___ cfe-commits mailing list cfe-

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-07 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: llvm/include/llvm/ADT/FloatingPointMode.h:26 +/// assigned to the rounding modes must agree with the values used by FLT_ROUNDS +/// (C11, 5.2.4.2.2p8). +enum class RoundingMode : int8_t { --

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-07 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 255710. sepavloff added a comment. Removed dependency Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77379/new/ https://reviews.llvm.org/D77379 Files: clang/include/clang/Basic/LangOptions.def clang/inclu

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-08 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 255949. sepavloff added a comment. Updated patch - Fixed comment, - Mention "round.tonearestaway" in documentation. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77379/new/ https://reviews.llvm.org/D77379 F

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-08 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: llvm/include/llvm/ADT/FloatingPointMode.h:26 +/// assigned to the rounding modes must agree with the values used by FLT_ROUNDS +/// (C11, 5.2.4.2.2p8). +enum class RoundingMode : int8_t { --

[PATCH] D77379: [FPEnv] Use single enum to represent rounding mode

2020-04-09 Thread Serge Pavlov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc7ff5b38f27f: [FPEnv] Use single enum to represent rounding mode (authored by sepavloff). Changed prior to commit: https://reviews.llvm.org/D77379?vs=255949&id=256203#toc Repository: rG LLVM Github M

[PATCH] D77545: Represent FP options in AST by special Expression node

2020-04-09 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. The solution in D76384 (Move FPFeatures from BinaryOperator bitfields to Trailing storage) causes several concerns. 1. It requires substantial code changes. The patch in D76384 is already large and we

[PATCH] D77545: Represent FP options in AST by special Expression node

2020-04-09 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In D77545#1973169 , @rjmccall wrote: > Pragma nodes don't require AST changes to existing nodes, but they require > large changes to a number of clients, If a client is unaware of peculiarities of floating point operations, it

[PATCH] D77545: Represent FP options in AST by special Expression node

2020-04-13 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. In D77545#1974509 , @rjmccall wrote: > For example, in this code: > > const float global = 2.22 + 3.33; > > #pragma STDV FENV_ROUND > float getGlobal() { return global; } > > > The code-generation of `getGlobal` will att

[PATCH] D81424: Driver: Accept multiple --config options if filenames are the same

2020-06-09 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff accepted this revision. sepavloff added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81424/new/ https://reviews.llvm.org/D81424

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-06-17 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 2 inline comments as done. sepavloff added inline comments. Comment at: clang/lib/Driver/Driver.cpp:3782 + = Cmd.getProcessStatistics(); + if (ProcStat) { +if (PrintProcessStat) { aganea wrote: > In the case where `!ProcStat

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-06-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 271648. sepavloff added a comment. Updated patch according to reviewer's notes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78903/new/ https://reviews.llvm.org/D78903 Files: clang/docs/UsersManual.rst c

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-06-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 271665. sepavloff added a comment. Updated patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78903/new/ https://reviews.llvm.org/D78903 Files: clang/docs/UsersManual.rst clang/include/clang/Driver/Job.

[PATCH] D78899: [Driver] Add callback to Command execution

2020-07-10 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 276945. sepavloff added a comment. Rebased patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78899/new/ https://reviews.llvm.org/D78899 Files: clang/include/clang/Driver/Compilation.h clang/lib/Driver/

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-07-10 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 277069. sepavloff added a comment. Rebased patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78902/new/ https://reviews.llvm.org/D78902 Files: clang/include/clang/Driver/Job.h clang/lib/Driver/Job.cpp

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-14 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rnk, zturner. Herald added subscribers: llvm-commits, hiraditya. Herald added a project: LLVM. Documentation on CreateProcessW states that maximal size of command line is 32767 characters including ternimation null character. In the funct

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 278117. sepavloff added a comment. Addressed reviewer's notes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https://reviews.llvm.org/D83772 Files: llvm/include/llvm/Support/Program.h llvm/lib/

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Thank you for your detailed feedback! > Round down to 32,000 to leave us wiggle room. As there is no requirement to use response files as rarely as possible, the choice of the limit is an implementation detail. Having some wiggle room is a good idea in this case. >

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 278132. sepavloff added a comment. Fixed typo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https://reviews.llvm.org/D83772 Files: llvm/include/llvm/Support/Program.h llvm/lib/Support/Windows/

[PATCH] D83772: [Windows] Fix limit on command line size

2020-07-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 278221. sepavloff added a comment. Fixed unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83772/new/ https://reviews.llvm.org/D83772 Files: llvm/include/llvm/Support/Program.h llvm/lib/Support/Win

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-06-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 2 inline comments as done. sepavloff added inline comments. Comment at: clang/lib/Driver/Driver.cpp:3814 + llvm::raw_fd_ostream OS(StatReportFile, EC, llvm::sys::fs::OF_Append); + if (!EC) { +if (auto L = OS.tryToLock()) ---

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-06-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Thank you @aganea ! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78903/new/ https://reviews.llvm.org/D78903 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://l

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-06-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 271917. sepavloff added a comment. Rebased patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78902/new/ https://reviews.llvm.org/D78902 Files: clang/include/clang/Driver/Job.h clang/lib/Driver/Job.cpp

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-06-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 271918. sepavloff added a comment. Clang-formatted the patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78902/new/ https://reviews.llvm.org/D78902 Files: clang/include/clang/Driver/Job.h clang/lib/Dri

[PATCH] D78899: [Driver] Add callback to Command execution

2020-06-19 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 272047. sepavloff added a comment. Rebased patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78899/new/ https://reviews.llvm.org/D78899 Files: clang/include/clang/Driver/Compilation.h clang/lib/Driver/

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-06-24 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78902/new/ https://reviews.llvm.org/D78902 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/

[PATCH] D78899: [Driver] Add callback to Command execution

2020-06-24 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78899/new/ https://reviews.llvm.org/D78899 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/

[PATCH] D78899: [Driver] Add callback to Command execution

2020-04-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rsmith, rjmccall, Eugene.Zelenko. Herald added a project: clang. Object of type `Compilation` now can keep a callback that is called after each execution of `Command`. This must simplify adaptation of clang in custom distributions and all

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-04-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, rnk, yaxunl, plotfi, mstorsjo, dlj. Herald added subscribers: kerbowa, luismarques, apazos, sameer.abuasal, pzheng, s.egerton, lenary, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, MaskRa

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-04-27 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rsmith, rjmccall, aganea, hans. Herald added a project: clang. sepavloff added parent revisions: D78897: [Support] raw_fd_ostream can lock file before write, D78899: [Driver] Add callback to Command execution, D78901: [Support] Get proce

[PATCH] D78827: Add support for #pragma clang fp allow_reassociation(on|off) -- floating point control of associative math transformations

2020-04-28 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added inline comments. Comment at: clang/docs/LanguageExtensions.rst:3159 +controlled with this pragma. +``#pragma clang fp allow_reassociation`` allows control over the reassociation +of floating point expressions. When enabled, this pragma allows the expression --

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-04-29 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked 3 inline comments as done. sepavloff added inline comments. Comment at: clang/docs/UsersManual.rst:770 + $ cat abc + clang-11,"/tmp/foo-123456.o",92000,84000,87536 + ld,"a.out",900,8000,53568 aganea wrote: > Please add a header to the outpu

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-05-02 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 261621. sepavloff added a comment. Updated patch - added variant of the option without file, it is used to print statistics on stdout. - Updated file locking mechanism. - Updated test and documentation accordingly. Repository: rG LLVM Github Monorepo

[PATCH] D78903: [Driver] Add option -fproc-stat-report

2020-05-02 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: clang/docs/UsersManual.rst:770 + $ cat abc + clang-11,"/tmp/foo-123456.o",92000,84000,87536 + ld,"a.out",900,8000,53568 aganea wrote: > sepavloff wrote: > > aganea wrot

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-04 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: andrew.w.kaylor, kpn, craig.topper, RKSimon, asb, hfinkel. Herald added subscribers: cfe-commits, luismarques, apazos, sameer.abuasal, pzheng, jdoerfert, s.egerton, lenary, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01,

[PATCH] D78902: [Driver] Add output file to properties of Command

2020-08-03 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78902/new/ https://reviews.llvm.org/D78902 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cg

[PATCH] D85960: [AST][FPEnv] Keep FP options in trailing storage of CastExpr

2020-08-14 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rjmccall, mibintc, shafik, kpn. Herald added a subscriber: martong. Herald added a project: clang. sepavloff requested review of this revision. This change allow a CallExpr to have optional FPOptionsOverride object, stored in trailing sto

[PATCH] D85920: [FPEnv][AST] WIP!!! For casts, keep FP options in trailing storage of CastExpr

2020-08-14 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Unfortunately I also prepared similar patch: https://reviews.llvm.org/D85960. I didn't look into your patch in details yet, but I think they are close, as the implementation looks straightforward. We need to merge our patches. Repository: rG LLVM Github Monorepo CH

[PATCH] D85960: [AST][FPEnv] Keep FP options in trailing storage of CastExpr

2020-08-14 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added a comment. Similar patch is here: https://reviews.llvm.org/D85920. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85960/new/ https://reviews.llvm.org/D85960 ___ cfe-commits mailing list cf

[PATCH] D84932: [builtins] Add more test cases for __div[sdt]f3 LibCalls

2020-08-17 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff added inline comments. Comment at: compiler-rt/test/builtins/Unit/divdf3_test.c:29-34 +// qNaN / any = qNaN +if (test__divdf3(makeQNaN64(), 3., UINT64_C(0x7ff8))) + return 1; +// NaN / any = NaN +if (test__divdf3(makeNaN64(UINT64_C(0x123

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 264184. sepavloff added a comment. Updated patch - rebased, - corrected documentation, - fixed formatting. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79322/new/ https://reviews.llvm.org/D79322 Files: c

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-15 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: llvm/test/CodeGen/RISCV/flt-rounds.ll:23 +; RV64I-NEXT:sd ra, 8(sp) +; RV64I-NEXT:call __flt_rounds +; RV64I-NEXT:ld ra, 8(sp) lenary wrote: > I'm interested to u

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff updated this revision to Diff 264623. sepavloff added a comment. Updated patch Default lowering of FLT_ROUNDS_ again is made by replacing the node with constant 1, which denotes rounding to nearest, ties to even. It is incorrect, but is compatible with with current behavior. Using more

[PATCH] D79322: [FEnv] Small fixes to implementation of flt.rounds

2020-05-18 Thread Serge Pavlov via Phabricator via cfe-commits
sepavloff marked an inline comment as done. sepavloff added inline comments. Comment at: llvm/test/CodeGen/RISCV/flt-rounds.ll:23 +; RV64I-NEXT:sd ra, 8(sp) +; RV64I-NEXT:call __flt_rounds +; RV64I-NEXT:ld ra, 8(sp) craig.topper wrote: > sepavloff wro

<    1   2   3   4   5   6   7   >