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
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
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
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
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
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
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
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
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
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
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
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
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/
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:
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
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
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
t;>>>> --Serge
>>>>>>>>>
>>>>>>>>> 2017-06-13 3:42 GMT+07:00 David Blaikie :
>>>>>>>>>
>>>>>>>>>> I've been seeing errors from this test recently:
>>>>>>&
mandLine
>>>>>>>>>>> clang::tooling::CommonOptionsParser::CommonOptionsParser
>>>>>>>>>>> clang::tidy::clangTidyMain
>>>>>>>>>>> main
>>>>>>>>>>> `FixedCompilationDataba
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
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
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
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
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
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
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
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
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
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.
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
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
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
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:
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
===
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
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.
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
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
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
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
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
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
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
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
@@ -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
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
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
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
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
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
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
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
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
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
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
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
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
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
@@ -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
@@ -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
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
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
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
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
@@ -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 - 100 of 426 matches
Mail list logo