r332847 - [CodeGen] Recognize more cases of zero initialization

2018-05-21 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Mon May 21 09:09:54 2018 New Revision: 332847 URL: http://llvm.org/viewvc/llvm-project?rev=332847&view=rev Log: [CodeGen] Recognize more cases of zero initialization If a variable has an initializer, codegen tries to build its value. If the variable is large in size, build

r338199 - [UBSan] Strengthen pointer checks in 'new' expressions

2018-07-28 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sat Jul 28 08:33:03 2018 New Revision: 338199 URL: http://llvm.org/viewvc/llvm-project?rev=338199&view=rev Log: [UBSan] Strengthen pointer checks in 'new' expressions With this change compiler generates alignment checks for wider range of types. Previously such checks were

r325661 - Clean up use of C allocation functions

2018-02-20 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Tue Feb 20 18:02:39 2018 New Revision: 325661 URL: http://llvm.org/viewvc/llvm-project?rev=325661&view=rev Log: Clean up use of C allocation functions If the value returned by `malloc`, `calloc` or `realloc` is not checked for null pointer, this change replaces them for `s

[clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-05-24 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed May 24 05:50:56 2017 New Revision: 303735 URL: http://llvm.org/viewvc/llvm-project?rev=303735&view=rev Log: Modify test so that it looks for patterns in stderr as well With the change https://reviews.llvm.org/D33013 driver will not build compilation object if command l

r303741 - Method loadFromCommandLine should be able to report errors

2017-05-24 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed May 24 06:57:37 2017 New Revision: 303741 URL: http://llvm.org/viewvc/llvm-project?rev=303741&view=rev Log: Method loadFromCommandLine should be able to report errors Now FixedCompilationDatabase::loadFromCommandLine has no means to report which error occurred if it fa

r303756 - Driver must return non-zero code on errors in command line

2017-05-24 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed May 24 09:57:17 2017 New Revision: 303756 URL: http://llvm.org/viewvc/llvm-project?rev=303756&view=rev Log: Driver must return non-zero code on errors in command line This is recommit of r302775, reverted in r302777 due to a fail in clang-tidy. Original mesage is below

r304684 - Implement isDefined by call to isThisDeclarationADefinition.

2017-06-04 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sun Jun 4 07:53:12 2017 New Revision: 304684 URL: http://llvm.org/viewvc/llvm-project?rev=304684&view=rev Log: Implement isDefined by call to isThisDeclarationADefinition. Modifies FunctionDecl::isThisDeclarationADefinition so that it covers all the cases checked by Funct

r304963 - Catch invalid bitwise operation on vector of floats

2017-06-07 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Jun 8 00:25:19 2017 New Revision: 304963 URL: http://llvm.org/viewvc/llvm-project?rev=304963&view=rev Log: Catch invalid bitwise operation on vector of floats Bitwise complement applied to vector of floats described with attribute `ext_vector_type` is not diagnosed as

r304964 - Improve diagnostics if friend function redefines file-level function.

2017-06-07 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Jun 8 01:07:07 2017 New Revision: 304964 URL: http://llvm.org/viewvc/llvm-project?rev=304964&view=rev Log: Improve diagnostics if friend function redefines file-level function. Clang makes check for function redefinition after it merged the new declaration with the ex

r304965 - Do not inherit default arguments for friend function in class template.

2017-06-07 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Jun 8 01:31:19 2017 New Revision: 304965 URL: http://llvm.org/viewvc/llvm-project?rev=304965&view=rev Log: Do not inherit default arguments for friend function in class template. A function declared in a friend declaration may have declarations prior to the containing

Re: [clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-06-13 Thread Serge Pavlov via cfe-commits
Skipping /usr/local/google/home/ > blaikie/dev/llvm/src/tools/clang/tools/extra/test/clang-tidy/diagnostic.cpp. > Compile command not found. > > > Does this look like it might be related to any of your changes in this > area? Perhaps the error due to unknown argument is causing cla

r305379 - Function with unparsed body is a definition

2017-06-14 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Jun 14 05:07:02 2017 New Revision: 305379 URL: http://llvm.org/viewvc/llvm-project?rev=305379&view=rev Log: Function with unparsed body is a definition While a function body is being parsed, the function declaration is not considered as a definition because it does no

r305381 - Reverted 305379 (Function with unparsed body is a definition)

2017-06-14 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Jun 14 05:57:56 2017 New Revision: 305381 URL: http://llvm.org/viewvc/llvm-project?rev=305381&view=rev Log: Reverted 305379 (Function with unparsed body is a definition) It broke clang-x86_64-linux-selfhost-modules-2 and some other buildbots. Modified: cfe/trunk/

Re: [clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-06-14 Thread Serge Pavlov via cfe-commits
clang-tidy >>> -checks='-*,clang-diagnostic-*,google-explicit-constructor' >>> /usr/local/google/home/blaikie/dev/llvm/src/tools/clang/ >>> tools/extra/test/clang-tidy/diagnostic.cpp -- -fan-unknown-option 2>&1 >>> error:

Re: [clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-06-15 Thread Serge Pavlov via cfe-commits
command not >>>>> found. >>>>> ^ >>>>> :2:1: note: with expression "@LINE+2" equal to "12" >>>>> Skipping /usr/local/google/home/blaikie/dev/llvm/src/tools/ >>>>> clang/tools/extra/test/clang-tidy/diagnost

r305903 - Function with unparsed body is a definition

2017-06-21 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Jun 21 07:46:57 2017 New Revision: 305903 URL: http://llvm.org/viewvc/llvm-project?rev=305903&view=rev Log: Function with unparsed body is a definition While a function body is being parsed, the function declaration is not considered as a definition because it does no

Re: [clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-06-24 Thread Serge Pavlov via cfe-commits
gt;>>>>> /usr/local/google/home/blaikie/dev/llvm/src/tools/ >>>>>>>> clang/tools/extra/test/clang-tidy/diagnostic.cpp:10:12: error: >>>>>>>> expected string not found in input >>>>>>>> // CHECK2: :[[@LINE+2]]:9: w

Re: [clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-06-25 Thread Serge Pavlov via cfe-commits
t;>>>> --Serge >>>>>>>>> >>>>>>>>> 2017-06-13 3:42 GMT+07:00 David Blaikie : >>>>>>>>> >>>>>>>>>> I've been seeing errors from this test recently: >>>>>>&

Re: [clang-tools-extra] r303735 - Modify test so that it looks for patterns in stderr as well

2017-06-26 Thread Serge Pavlov via cfe-commits
mandLine >>>>>>>>>>> clang::tooling::CommonOptionsParser::CommonOptionsParser >>>>>>>>>>> clang::tidy::clangTidyMain >>>>>>>>>>> main >>>>>>>>>>> `FixedCompilationDataba

r321360 - Unit tests for TBAA metadata generation.

2017-12-22 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Fri Dec 22 07:22:45 2017 New Revision: 321360 URL: http://llvm.org/viewvc/llvm-project?rev=321360&view=rev Log: Unit tests for TBAA metadata generation. Now tests for metadata created by clang involve compiling code snippets placed into c/c++ source files and matching inte

r321587 - Enable configuration files in clang

2017-12-30 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sat Dec 30 09:59:26 2017 New Revision: 321587 URL: http://llvm.org/viewvc/llvm-project?rev=321587&view=rev Log: Enable configuration files in clang Clang is inherently a cross compiler and can generate code for any target enabled during build. It however requires to specif

r321588 - Reverted 321587: Enable configuration files in clang

2017-12-30 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sat Dec 30 10:38:44 2017 New Revision: 321588 URL: http://llvm.org/viewvc/llvm-project?rev=321588&view=rev Log: Reverted 321587: Enable configuration files in clang Need to check targets in tests more carefully. Removed: cfe/trunk/test/Driver/Inputs/config/ cfe/t

r321621 - Enable configuration files in clang

2018-01-01 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Mon Jan 1 05:27:01 2018 New Revision: 321621 URL: http://llvm.org/viewvc/llvm-project?rev=321621&view=rev Log: Enable configuration files in clang Clang is inherently a cross compiler and can generate code for any target enabled during build. It however requires to specif

r321623 - Fixed markup formatting

2018-01-01 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Mon Jan 1 07:53:16 2018 New Revision: 321623 URL: http://llvm.org/viewvc/llvm-project?rev=321623&view=rev Log: Fixed markup formatting Modified: cfe/trunk/docs/UsersManual.rst Modified: cfe/trunk/docs/UsersManual.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trun

r326419 - Function definition may have uninstantiated body

2018-02-28 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Feb 28 23:04:11 2018 New Revision: 326419 URL: http://llvm.org/viewvc/llvm-project?rev=326419&view=rev Log: Function definition may have uninstantiated body Current implementation of `FunctionDecl::isDefined` does not take into account redeclarations that do not have b

Re: [PATCH] D43805: Optionally use nameless IR types

2018-03-06 Thread Serge Pavlov via cfe-commits
Any feedback? Thanks, --Serge 2018-02-28 0:02 GMT+07:00 Serge Pavlov via Phabricator < revi...@reviews.llvm.org>: > sepavloff marked an inline comment as done. > sepavloff added inline comments. > > > > Comment at: include/clang/Driver/Options.td:1735 > + HelpText<"Whether to u

r327863 - [Driver] Avoid invalidated iterator in insertTargetAndModeArgs

2018-03-19 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Mon Mar 19 09:13:43 2018 New Revision: 327863 URL: http://llvm.org/viewvc/llvm-project?rev=327863&view=rev Log: [Driver] Avoid invalidated iterator in insertTargetAndModeArgs Doing an .insert() can potentially invalidate iterators by reallocating the vector's storage. When

r348473 - Diagnose friend function template redefinitions.

2018-12-06 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Dec 6 01:35:04 2018 New Revision: 348473 URL: http://llvm.org/viewvc/llvm-project?rev=348473&view=rev Log: Diagnose friend function template redefinitions. Friend function template defined in a class template becomes available if the enclosing class template is instan

r311981 - Use class to pass information about executable name

2017-08-28 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Mon Aug 28 22:22:26 2017 New Revision: 311981 URL: http://llvm.org/viewvc/llvm-project?rev=311981&view=rev Log: Use class to pass information about executable name Information about clang executable name components, such as target and driver mode, was passes in std::pair.

r313760 - Put target deduced from executable name at the start of argument list

2017-09-20 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Sep 20 08:22:27 2017 New Revision: 313760 URL: http://llvm.org/viewvc/llvm-project?rev=313760&view=rev Log: Put target deduced from executable name at the start of argument list When clang is called as 'target-clang', put deduced target option at the start of argument

r367545 - [Parser] Change parameter type from int to enum

2019-08-01 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Aug 1 04:46:28 2019 New Revision: 367545 URL: http://llvm.org/viewvc/llvm-project?rev=367545&view=rev Log: [Parser] Change parameter type from int to enum Some parser functions accept argument of type unsigned while it is actually of type DeclSpec::TST. No functional

r367575 - [Parser] Use special definition for pragma annotations

2019-08-01 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Aug 1 08:15:10 2019 New Revision: 367575 URL: http://llvm.org/viewvc/llvm-project?rev=367575&view=rev Log: [Parser] Use special definition for pragma annotations Previously pragma annotation tokens were described as any other annotations in TokenKinds.def. This change

r367759 - Use switch instead of series of comparisons

2019-08-03 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sat Aug 3 09:32:49 2019 New Revision: 367759 URL: http://llvm.org/viewvc/llvm-project?rev=367759&view=rev Log: Use switch instead of series of comparisons This is style correction, no functional changes. Differential Revision: https://reviews.llvm.org/D65670 Modified:

r367779 - [Parser] Emit descriptive diagnostic for misplaced pragma

2019-08-04 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sun Aug 4 03:08:51 2019 New Revision: 367779 URL: http://llvm.org/viewvc/llvm-project?rev=367779&view=rev Log: [Parser] Emit descriptive diagnostic for misplaced pragma If a class or struct or union declaration contains a pragma that is not valid in this context, compiler

r373147 - Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`

2019-09-28 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Sat Sep 28 05:21:06 2019 New Revision: 373147 URL: http://llvm.org/viewvc/llvm-project?rev=373147&view=rev Log: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT` When testing clang that has been compiled with `-DDEFAULT_SYSROOT` set to some path, so

r373565 - Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`

2019-10-02 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Oct 2 21:52:46 2019 New Revision: 373565 URL: http://llvm.org/viewvc/llvm-project?rev=373565&view=rev Log: Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON` Some Driver tests relied on the default resource direcory having per-os per-arch subdirectory

r330926 - [ConfigFiles] Update argument strings when merging argrument lists

2018-04-25 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Apr 25 23:28:47 2018 New Revision: 330926 URL: http://llvm.org/viewvc/llvm-project?rev=330926&view=rev Log: [ConfigFiles] Update argument strings when merging argrument lists Implementation of `InputArgList` assumes its field `ArgStrings` contains strings for each argu

r330927 - Make test more platform neutral

2018-04-26 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Thu Apr 26 01:08:25 2018 New Revision: 330927 URL: http://llvm.org/viewvc/llvm-project?rev=330927&view=rev Log: Make test more platform neutral Modified: cfe/trunk/test/Driver/config-file4.c Modified: cfe/trunk/test/Driver/config-file4.c URL: http://llvm.org/viewvc/l

[libcxxabi] r336312 - [demangler] Avoid alignment warning

2018-07-04 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Jul 4 23:24:29 2018 New Revision: 336312 URL: http://llvm.org/viewvc/llvm-project?rev=336312&view=rev Log: [demangler] Avoid alignment warning The alignment specified by a constant for the field `BumpPointerAllocator::InitialBuffer` exceeded the alignment guaranteed b

[clang] 61f72dd - [FPEnv] Small fixes to implementation of flt.rounds

2020-05-25 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2020-05-26T13:19:01+07:00 New Revision: 61f72dd8ace7c4bea1ae74d9734d2b02946b4898 URL: https://github.com/llvm/llvm-project/commit/61f72dd8ace7c4bea1ae74d9734d2b02946b4898 DIFF: https://github.com/llvm/llvm-project/commit/61f72dd8ace7c4bea1ae74d9734d2b02946b4898.diff

[clang] 21cd7b7 - Use typedef to represent storage type in FPOption and FPOptionsOverride

2020-07-21 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2020-07-21T14:35:50+07:00 New Revision: 21cd7b72a3d4d1d5efaadc09533655090b678e57 URL: https://github.com/llvm/llvm-project/commit/21cd7b72a3d4d1d5efaadc09533655090b678e57 DIFF: https://github.com/llvm/llvm-project/commit/21cd7b72a3d4d1d5efaadc09533655090b678e57.diff

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

2020-07-21 Thread Serge Pavlov 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.

[clang] 70e7aa4 - [AST][FPEnv] Keep FP options in trailing storage of CallExpr

2020-07-23 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2020-07-24T12:04:19+07:00 New Revision: 70e7aa4a4ed36a034c43b249d0842f4f273b44e1 URL: https://github.com/llvm/llvm-project/commit/70e7aa4a4ed36a034c43b249d0842f4f273b44e1 DIFF: https://github.com/llvm/llvm-project/commit/70e7aa4a4ed36a034c43b249d0842f4f273b44e1.diff

[clang] c7ff5b3 - [FPEnv] Use single enum to represent rounding mode

2020-04-08 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2020-04-09T13:26:47+07:00 New Revision: c7ff5b38f27f812dcd6e2e8732208a39232dc284 URL: https://github.com/llvm/llvm-project/commit/c7ff5b38f27f812dcd6e2e8732208a39232dc284 DIFF: https://github.com/llvm/llvm-project/commit/c7ff5b38f27f812dcd6e2e8732208a39232dc284.diff

[PATCH] D24917: Resolve response file names relative to including file

2016-09-26 Thread Serge Pavlov via cfe-commits
sepavloff created this revision. sepavloff added a reviewer: rnk. sepavloff added a subscriber: cfe-commits. If a response file included by construct @file itself includes a response file and that file is specified by relative file name, resolve the name relative to the including file. With this

[PATCH] D24933: Enable configuration files in clang

2016-09-26 Thread Serge Pavlov via cfe-commits
sepavloff created this revision. sepavloff added reviewers: rnk, ddunbar. sepavloff added a subscriber: cfe-commits. The implementation follows the discussion in mail list (http://lists.llvm.org/pipermail/cfe-dev/2016-September/050776.html). Main part of the config file support is implemented in l

[PATCH] D24933: Enable configuration files in clang

2016-10-03 Thread Serge Pavlov via cfe-commits
sepavloff updated this revision to Diff 73245. sepavloff added a comment. Updated path The patch is aligned with corresponding changes in llvm repository (https://reviews.llvm.org/D24926). Also support of configuration selection for executables line foo-clang is added. https://reviews.llvm.org

[PATCH] D24933: Enable configuration files in clang

2016-10-03 Thread Serge Pavlov via cfe-commits
sepavloff added inline comments. > mgorny wrote in driver.cpp:334 > 1. I'm not sure if others would agree with me but I think it would be better > to move those default paths straight to LLVM. If others tools are to adopt > those configuration files, it would only be reasonable to use the same

Re: [PATCH] D16989: Change interpretation of function definition in friend declaration of template class.

2016-10-03 Thread Serge Pavlov via cfe-commits
Ping. Thanks, --Serge 2016-09-16 23:17 GMT+07:00 Serge Pavlov : > Ping. > > Thanks, > --Serge > > 2016-09-08 20:43 GMT+07:00 Serge Pavlov : > >> Any feedback? >> >> Thanks, >> --Serge >> >> 2016-09-02 13:11 GMT+07:00 Serge Pavlov : >> >>> sepavloff updated this revision to Diff 70134. >>> sepavl

r283207 - Do not find friend function definitions inside non-instantiated class.

2016-10-04 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Tue Oct 4 05:11:43 2016 New Revision: 283207 URL: http://llvm.org/viewvc/llvm-project?rev=283207&view=rev Log: Do not find friend function definitions inside non-instantiated class. Previously if a file-level function was defined inside befriending template class, it alwa

[PATCH] D16989: Change interpretation of function definition in friend declaration of template class.

2016-10-04 Thread Serge Pavlov via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283207: Do not find friend function definitions inside non-instantiated class. (authored by sepavloff). Changed prior to commit: https://reviews.llvm.org/D16989?vs=70134&id=73440#toc Repository: rL L

[PATCH] D24933: Enable configuration files in clang

2016-10-04 Thread Serge Pavlov via cfe-commits
sepavloff updated this revision to Diff 73482. sepavloff added a comment. Updated comments. https://reviews.llvm.org/D24933 Files: include/clang/Driver/Driver.h lib/Driver/Driver.cpp test/Driver/Inputs/config-1.cfg test/Driver/Inputs/config-2.cfg test/Driver/config-file.c test/Drive

[PATCH] D24933: Enable configuration files in clang

2016-10-04 Thread Serge Pavlov via cfe-commits
sepavloff added inline comments. > mgorny wrote in driver.cpp:314 > Please document what this function does, exactly. I see you've documented it > in call site but a doc here would be helpful as well. The function is documented now. > mgorny wrote in driver.cpp:376 > Are you sure about the nam

[PATCH] D23096: [Sema] Pass CombineWithOuterScope = true to constructor of LocalInstantiationScope

2016-10-05 Thread Serge Pavlov via cfe-commits
sepavloff added a comment. IIUC, the problem is observed because `Sema::getTemplateInstantiationArgs` does not handle the case of variable templates properly. Classes and functions are declaration contexts and implementation of the aforementioned function (and probably others) relies on this fa

[PATCH] D21508: Make friend function template definition available if class is instantiated.

2016-10-11 Thread Serge Pavlov via cfe-commits
sepavloff updated this revision to Diff 74218. sepavloff added a comment. Updated comments, NFC otherwise. https://reviews.llvm.org/D21508 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp lib/Sema/SemaDecl.cpp test/SemaCXX/friend2.cpp Index: test/SemaCXX/friend2.cpp ===

r318896 - [DeclPrinter] Allow printing fully qualified name of function declaration

2017-11-22 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Wed Nov 22 21:38:20 2017 New Revision: 318896 URL: http://llvm.org/viewvc/llvm-project?rev=318896&view=rev Log: [DeclPrinter] Allow printing fully qualified name of function declaration When requesting a tooltip for a function call in an IDE, the fully qualified name helps

r319178 - Refactor functions PrintTemplateArgumentList

2017-11-28 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Tue Nov 28 08:14:14 2017 New Revision: 319178 URL: http://llvm.org/viewvc/llvm-project?rev=319178&view=rev Log: Refactor functions PrintTemplateArgumentList These functions were defined as static members of TemplateSpecializationType. Now they are moved to namespace level.

r319290 - Use static function instead of anonymous namespace

2017-11-28 Thread Serge Pavlov via cfe-commits
Author: sepavloff Date: Tue Nov 28 21:10:11 2017 New Revision: 319290 URL: http://llvm.org/viewvc/llvm-project?rev=319290&view=rev Log: Use static function instead of anonymous namespace Modified: cfe/trunk/lib/AST/TypePrinter.cpp Modified: cfe/trunk/lib/AST/TypePrinter.cpp URL: http://llvm

[clang] 9424497 - [Clang] Use virtual FS in processing config files

2022-09-09 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-09-09T16:28:51+07:00 New Revision: 9424497e43aff088e014d65fd952ec557e28e6cf URL: https://github.com/llvm/llvm-project/commit/9424497e43aff088e014d65fd952ec557e28e6cf DIFF: https://github.com/llvm/llvm-project/commit/9424497e43aff088e014d65fd952ec557e28e6cf.diff

[clang] 55e1441 - Revert "[Clang] Use virtual FS in processing config files"

2022-09-09 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-09-09T16:43:15+07:00 New Revision: 55e1441f7b5d01a37fc46eb1711f03ee69845316 URL: https://github.com/llvm/llvm-project/commit/55e1441f7b5d01a37fc46eb1711f03ee69845316 DIFF: https://github.com/llvm/llvm-project/commit/55e1441f7b5d01a37fc46eb1711f03ee69845316.diff

[clang] 7b9fae0 - [Clang] Use virtual FS in processing config files

2022-09-09 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-09-09T18:24:45+07:00 New Revision: 7b9fae05b4d0d3184ffc340e90d06a75e3cba2de URL: https://github.com/llvm/llvm-project/commit/7b9fae05b4d0d3184ffc340e90d06a75e3cba2de DIFF: https://github.com/llvm/llvm-project/commit/7b9fae05b4d0d3184ffc340e90d06a75e3cba2de.diff

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-09 Thread Serge Pavlov via cfe-commits
spavloff wrote: `pragma pack` uses pragma stack and it is allowed in any place: https://godbolt.org/z/f8fP1vn63 . If such pragma presents in the late-parsed template, and push-pop operations in it are not balanced, the late parse of such function can break the pragma stack and next templates c

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-13 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff updated https://github.com/llvm/llvm-project/pull/70646 >From 7882ea746ecf8721356fc6afbd7798b8db4e185d Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Mon, 30 Oct 2023 14:38:50 +0700 Subject: [PATCH 1/2] [clang] Do not clear FP pragma stack when instantiating func

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-13 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff updated https://github.com/llvm/llvm-project/pull/70646 >From 7882ea746ecf8721356fc6afbd7798b8db4e185d Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Mon, 30 Oct 2023 14:38:50 +0700 Subject: [PATCH 1/3] [clang] Do not clear FP pragma stack when instantiating func

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-13 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff updated https://github.com/llvm/llvm-project/pull/70646 >From e1623db8f86a8584d17729f000a455f5672adad4 Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Mon, 30 Oct 2023 14:38:50 +0700 Subject: [PATCH 1/3] [clang] Do not clear FP pragma stack when instantiating func

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-13 Thread Serge Pavlov via cfe-commits
@@ -710,9 +710,11 @@ class Sema final { return result; } + // Saves the current floating-point pragma stack and clear it in this Sema. class FpPragmaStackSaveRAII { public: -FpPragmaStackSaveRAII(Sema &S) : S(S), SavedStack(S.FpPragmaStack) {} +FpPragmaSta

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-13 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff closed https://github.com/llvm/llvm-project/pull/70646 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 93ae263 - [clang] Run test on x86 only

2023-11-13 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2023-11-13T19:20:34+07:00 New Revision: 93ae26331592f41bf2b1d10b048743d80c468385 URL: https://github.com/llvm/llvm-project/commit/93ae26331592f41bf2b1d10b048743d80c468385 DIFF: https://github.com/llvm/llvm-project/commit/93ae26331592f41bf2b1d10b048743d80c468385.diff

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-11-13 Thread Serge Pavlov via cfe-commits
spavloff wrote: Added commit: https://github.com/llvm/llvm-project/commit/93ae26331592f41bf2b1d10b048743d80c468385 to run the test on x86 only. https://github.com/llvm/llvm-project/pull/70646 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[clang] [clang] fix test PR69717.cpp (PR #72134)

2023-11-13 Thread Serge Pavlov via cfe-commits
spavloff wrote: @antmox Thank you for fixing that! LGTM. Could you please commit the patch when tests pass? https://github.com/llvm/llvm-project/pull/72134 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/l

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-10-30 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff created https://github.com/llvm/llvm-project/pull/70646 When instantiation function, a call to Sema::resetFPOption was used to set the FP options associated with AST node. However this function also cleared FP pragma stack, and it is incorrect. Template instantiatio

[clang] [clang] Additional FP classification functions (PR #69041)

2023-10-30 Thread Serge Pavlov via cfe-commits
spavloff wrote: Ping. https://github.com/llvm/llvm-project/pull/69041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-10-30 Thread Serge Pavlov via cfe-commits
spavloff wrote: > To be clear, we're still ensuring the current pragma state during > instantiation is what it was when the template is parsed, we're just not > incorrectly dropping all of the saved pragma state when we're doing it? Yes, the pragma is used at parse stage to set correct FP opti

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-10-30 Thread Serge Pavlov via cfe-commits
spavloff wrote: Actually the pragma stack is not saved during template instantiation. It is saved during late template parsing using class `FpPragmaStackSaveRAII`. For template instantiation the dependency on the stack can be considered as an error, because all information about FP options sho

[clang] [clang] Do not clear FP pragma stack when instantiating functions (PR #70646)

2023-10-31 Thread Serge Pavlov via cfe-commits
spavloff wrote: Late parsing (in contrast to template instantiation) is sensitive to the pragma stack because the late parsed text may contain pragmas. If, for example, the parsed text contains unbalanced pus/pop pragmas, it is detected if the pragma stack is empty, but can be missed if there

[clang] [clang] Additional FP classification functions (PR #69041)

2023-10-31 Thread Serge Pavlov via cfe-commits
spavloff wrote: Thanks! https://github.com/llvm/llvm-project/pull/69041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Additional FP classification functions (PR #69041)

2023-10-31 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff closed https://github.com/llvm/llvm-project/pull/69041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)

2023-11-23 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff edited https://github.com/llvm/llvm-project/pull/67302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)

2023-11-23 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff commented: The patch looks good but I am not familiar with PPC instructions enough. Could you please run the runtime tests from here: https://github.com/llvm/llvm-test-suite/tree/main/MultiSource/UnitTests/Float/rounding? You just need to build application from two

[clang-tools-extra] [llvm] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)

2023-11-23 Thread Serge Pavlov via cfe-commits
@@ -8900,6 +8900,83 @@ SDValue PPCTargetLowering::LowerINT_TO_FP(SDValue Op, return FP; } +SDValue PPCTargetLowering::LowerSET_ROUNDING(SDValue Op, + SelectionDAG &DAG) const { + SDLoc Dl(Op); + MachineFunction &MF = DAG.getMachi

[llvm] [clang-tools-extra] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)

2023-11-23 Thread Serge Pavlov via cfe-commits
@@ -8900,6 +8900,83 @@ SDValue PPCTargetLowering::LowerINT_TO_FP(SDValue Op, return FP; } +SDValue PPCTargetLowering::LowerSET_ROUNDING(SDValue Op, + SelectionDAG &DAG) const { + SDLoc Dl(Op); + MachineFunction &MF = DAG.getMachi

[llvm] [clang-tools-extra] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)

2023-11-23 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff edited https://github.com/llvm/llvm-project/pull/67302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang-tools-extra] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)

2023-11-28 Thread Serge Pavlov via cfe-commits
spavloff wrote: LGTM. https://github.com/llvm/llvm-project/pull/67302 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Use current rounding mode for float inc/dec (PR #73770)

2023-11-29 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff created https://github.com/llvm/llvm-project/pull/73770 Increment and decrement are equivalent to adding or subtracting 1. For the floating-point values these operations depend on the current rounding mode. Teach constant evaluator to perform ++ and -- according to

[clang] [clang] Use current rounding mode for float inc/dec (PR #73770)

2023-11-30 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff updated https://github.com/llvm/llvm-project/pull/73770 >From 48ed25acfa5765af607efce2309605b96a09d477 Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Wed, 29 Nov 2023 00:53:54 +0700 Subject: [PATCH 1/2] [clang] Use current rounding mode for float inc/dec Incremen

[clang] [clang] Use current rounding mode for float inc/dec (PR #73770)

2023-11-30 Thread Serge Pavlov via cfe-commits
@@ -4623,10 +4623,12 @@ struct IncDecSubobjectHandler { if (Old) *Old = APValue(Value); APFloat One(Value.getSemantics(), 1); +llvm::RoundingMode RM = +E->getFPFeaturesInEffect(Info.Ctx.getLangOpts()).getRoundingMode(); spavloff wrote: Yes

[clang] [clang] Use current rounding mode for float inc/dec (PR #73770)

2023-11-30 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff closed https://github.com/llvm/llvm-project/pull/73770 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] b822efc - [FPEnv] Allow CompoundStmt to keep FP options

2022-07-01 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-07-01T14:32:33+07:00 New Revision: b822efc7404bf09ccfdc1ab7657475026966c3b2 URL: https://github.com/llvm/llvm-project/commit/b822efc7404bf09ccfdc1ab7657475026966c3b2 DIFF: https://github.com/llvm/llvm-project/commit/b822efc7404bf09ccfdc1ab7657475026966c3b2.diff

[clang] 0401fd1 - Fix warning on unhandled enumeration value

2022-07-01 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-07-01T15:17:29+07:00 New Revision: 0401fd12d4aa0553347fe34d666fb236d8719173 URL: https://github.com/llvm/llvm-project/commit/0401fd12d4aa0553347fe34d666fb236d8719173 DIFF: https://github.com/llvm/llvm-project/commit/0401fd12d4aa0553347fe34d666fb236d8719173.diff

[clang] dc34d8d - Revert "[FPEnv] Allow CompoundStmt to keep FP options"

2022-07-01 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-07-01T15:42:39+07:00 New Revision: dc34d8df4c48b3a8f474360970cae8a58e6c84f0 URL: https://github.com/llvm/llvm-project/commit/dc34d8df4c48b3a8f474360970cae8a58e6c84f0 DIFF: https://github.com/llvm/llvm-project/commit/dc34d8df4c48b3a8f474360970cae8a58e6c84f0.diff

[clang] f7819ce - [FPEnv] Allow CompoundStmt to keep FP options

2022-07-03 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-07-03T17:06:26+07:00 New Revision: f7819ce166bcc472108cf7c05f86edcf4ee9e6cf URL: https://github.com/llvm/llvm-project/commit/f7819ce166bcc472108cf7c05f86edcf4ee9e6cf DIFF: https://github.com/llvm/llvm-project/commit/f7819ce166bcc472108cf7c05f86edcf4ee9e6cf.diff

[clang] 2bb7c54 - [Clang] Remove unused parameter. NFC

2022-08-01 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-08-01T14:53:13+07:00 New Revision: 2bb7c54621f31a957302a4deb3d25b752acb07bd URL: https://github.com/llvm/llvm-project/commit/2bb7c54621f31a957302a4deb3d25b752acb07bd DIFF: https://github.com/llvm/llvm-project/commit/2bb7c54621f31a957302a4deb3d25b752acb07bd.diff

[clang] 5537b22 - Make CompoundStmtBitfields::NumStmts not a bit-field

2022-05-20 Thread Serge Pavlov via cfe-commits
Author: Serge Pavlov Date: 2022-05-20T14:20:09+07:00 New Revision: 5537b22ccbdc562929949844f9f816cf720e5205 URL: https://github.com/llvm/llvm-project/commit/5537b22ccbdc562929949844f9f816cf720e5205 DIFF: https://github.com/llvm/llvm-project/commit/5537b22ccbdc562929949844f9f816cf720e5205.diff

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-17 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff created https://github.com/llvm/llvm-project/pull/85605 Attribute `optnone` must turn off all optimizations including fast-math ones. Actually AST nodes in the 'optnone' function still had fast-math flags. This change implements fixing FP options before function bod

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-18 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff converted_to_draft https://github.com/llvm/llvm-project/pull/85605 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-18 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff updated https://github.com/llvm/llvm-project/pull/85605 >From 5049e0209e240f0f8a3ccb6e248d55d1480b7bad Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Mon, 18 Mar 2024 13:20:15 +0700 Subject: [PATCH] [clang] Set correct FPOptions if attribute 'optnone' presents At

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-18 Thread Serge Pavlov via cfe-commits
spavloff wrote: > Hmm. Is there some sort of optimization in IRGen that we need to suppress > here, or is it something in LLVM code gen? Presumably normal LLVM > optimization passes all just skip `optnone` functions. The issue https://github.com/llvm/llvm-project/issues/62098 demonstrates such

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-19 Thread Serge Pavlov via cfe-commits
spavloff wrote: > optnone is a very strange attribute; it's a directive to the compiler with no > clear semantics. `fast-math` also does not have clear semantics. It is however used to express user's expectations that some assumptions are valid. `optnone` could also be treated from similar vi

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-19 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff ready_for_review https://github.com/llvm/llvm-project/pull/85605 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-03-20 Thread Serge Pavlov via cfe-commits
https://github.com/spavloff updated https://github.com/llvm/llvm-project/pull/85605 >From 5049e0209e240f0f8a3ccb6e248d55d1480b7bad Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Mon, 18 Mar 2024 13:20:15 +0700 Subject: [PATCH 1/2] [clang] Set correct FPOptions if attribute 'optnone' present

  1   2   3   4   5   >