Author: Nikita Popov
Date: 2022-03-22T10:02:35+01:00
New Revision: b8f0e12847f5df0792c816c995bc67759aea669e
URL:
https://github.com/llvm/llvm-project/commit/b8f0e12847f5df0792c816c995bc67759aea669e
DIFF:
https://github.com/llvm/llvm-project/commit/b8f0e12847f5df0792c816c995bc67759aea669e.diff
Author: Nikita Popov
Date: 2022-03-22T10:15:19+01:00
New Revision: f42b1954a0e85fadd421d5e345cb8343c410b34d
URL:
https://github.com/llvm/llvm-project/commit/f42b1954a0e85fadd421d5e345cb8343c410b34d
DIFF:
https://github.com/llvm/llvm-project/commit/f42b1954a0e85fadd421d5e345cb8343c410b34d.diff
Author: Nikita Popov
Date: 2022-03-22T11:00:08+01:00
New Revision: 51ba13b1aea3d6e04310b80b6bcfc641049b9890
URL:
https://github.com/llvm/llvm-project/commit/51ba13b1aea3d6e04310b80b6bcfc641049b9890
DIFF:
https://github.com/llvm/llvm-project/commit/51ba13b1aea3d6e04310b80b6bcfc641049b9890.diff
Author: Nikita Popov
Date: 2022-03-22T15:02:45+01:00
New Revision: 73c0d05e6a90612399de06a98201e9d6a9059797
URL:
https://github.com/llvm/llvm-project/commit/73c0d05e6a90612399de06a98201e9d6a9059797
DIFF:
https://github.com/llvm/llvm-project/commit/73c0d05e6a90612399de06a98201e9d6a9059797.diff
Author: Nikita Popov
Date: 2022-03-22T15:35:45+01:00
New Revision: 4f5640cad3e0cdff9ab8d6b63c9abd760c32832b
URL:
https://github.com/llvm/llvm-project/commit/4f5640cad3e0cdff9ab8d6b63c9abd760c32832b
DIFF:
https://github.com/llvm/llvm-project/commit/4f5640cad3e0cdff9ab8d6b63c9abd760c32832b.diff
Author: Nikita Popov
Date: 2022-03-22T16:29:35+01:00
New Revision: cd6d9ae26313258d4dbf8a5db4d977434c03ed6a
URL:
https://github.com/llvm/llvm-project/commit/cd6d9ae26313258d4dbf8a5db4d977434c03ed6a
DIFF:
https://github.com/llvm/llvm-project/commit/cd6d9ae26313258d4dbf8a5db4d977434c03ed6a.diff
Author: Nikita Popov
Date: 2022-03-23T10:24:39+01:00
New Revision: 27f6cee12d2ab52e44e78d26733ab92ced730f13
URL:
https://github.com/llvm/llvm-project/commit/27f6cee12d2ab52e44e78d26733ab92ced730f13
DIFF:
https://github.com/llvm/llvm-project/commit/27f6cee12d2ab52e44e78d26733ab92ced730f13.diff
Author: Nikita Popov
Date: 2022-03-23T10:28:04+01:00
New Revision: a451a291278b22b031b2b6d8ca4a3b2517a491f6
URL:
https://github.com/llvm/llvm-project/commit/a451a291278b22b031b2b6d8ca4a3b2517a491f6
DIFF:
https://github.com/llvm/llvm-project/commit/a451a291278b22b031b2b6d8ca4a3b2517a491f6.diff
Author: Nikita Popov
Date: 2022-03-23T11:31:49+01:00
New Revision: ba2be802b04a19c2398401867de3746df1bad7d6
URL:
https://github.com/llvm/llvm-project/commit/ba2be802b04a19c2398401867de3746df1bad7d6
DIFF:
https://github.com/llvm/llvm-project/commit/ba2be802b04a19c2398401867de3746df1bad7d6.diff
Author: Nikita Popov
Date: 2022-03-23T11:51:14+01:00
New Revision: 47eb4f7dcd845878b16a53dadd765195b9c24b6e
URL:
https://github.com/llvm/llvm-project/commit/47eb4f7dcd845878b16a53dadd765195b9c24b6e
DIFF:
https://github.com/llvm/llvm-project/commit/47eb4f7dcd845878b16a53dadd765195b9c24b6e.diff
Author: Nikita Popov
Date: 2022-03-23T12:01:00+01:00
New Revision: aaf2bccf1fa2f5c96de7354298bede139f8cb7e5
URL:
https://github.com/llvm/llvm-project/commit/aaf2bccf1fa2f5c96de7354298bede139f8cb7e5
DIFF:
https://github.com/llvm/llvm-project/commit/aaf2bccf1fa2f5c96de7354298bede139f8cb7e5.diff
Author: Nikita Popov
Date: 2022-03-23T12:06:11+01:00
New Revision: 8b62dd3cd6d775a9c6ae3bfe841bf965dc2c944d
URL:
https://github.com/llvm/llvm-project/commit/8b62dd3cd6d775a9c6ae3bfe841bf965dc2c944d
DIFF:
https://github.com/llvm/llvm-project/commit/8b62dd3cd6d775a9c6ae3bfe841bf965dc2c944d.diff
Author: Nikita Popov
Date: 2022-03-23T12:40:44+01:00
New Revision: c070d5ceff05c3459b9a9add6d18aae9a3fa5916
URL:
https://github.com/llvm/llvm-project/commit/c070d5ceff05c3459b9a9add6d18aae9a3fa5916
DIFF:
https://github.com/llvm/llvm-project/commit/c070d5ceff05c3459b9a9add6d18aae9a3fa5916.diff
Author: Nikita Popov
Date: 2022-03-23T15:39:39+01:00
New Revision: beee09687f4602dba82a378bad94ed9657c97339
URL:
https://github.com/llvm/llvm-project/commit/beee09687f4602dba82a378bad94ed9657c97339
DIFF:
https://github.com/llvm/llvm-project/commit/beee09687f4602dba82a378bad94ed9657c97339.diff
Author: Nikita Popov
Date: 2022-03-23T15:39:39+01:00
New Revision: 5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1
URL:
https://github.com/llvm/llvm-project/commit/5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1
DIFF:
https://github.com/llvm/llvm-project/commit/5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1.diff
Author: Nikita Popov
Date: 2022-03-23T15:39:39+01:00
New Revision: ba365561455e467664df8c656f111b26fd1f81de
URL:
https://github.com/llvm/llvm-project/commit/ba365561455e467664df8c656f111b26fd1f81de
DIFF:
https://github.com/llvm/llvm-project/commit/ba365561455e467664df8c656f111b26fd1f81de.diff
Author: Nikita Popov
Date: 2022-03-23T15:39:39+01:00
New Revision: a8690ba9d0147bbca8d9031ef1596c4de025e6ed
URL:
https://github.com/llvm/llvm-project/commit/a8690ba9d0147bbca8d9031ef1596c4de025e6ed
DIFF:
https://github.com/llvm/llvm-project/commit/a8690ba9d0147bbca8d9031ef1596c4de025e6ed.diff
Author: Nikita Popov
Date: 2022-04-07T10:14:56+02:00
New Revision: 5390606aa963a7b415da65aa8120efbbafd30401
URL:
https://github.com/llvm/llvm-project/commit/5390606aa963a7b415da65aa8120efbbafd30401
DIFF:
https://github.com/llvm/llvm-project/commit/5390606aa963a7b415da65aa8120efbbafd30401.diff
Author: Nikita Popov
Date: 2022-04-07T12:53:29+02:00
New Revision: b16a3b4f3bbd6f9f1f8d3a1525804dd5754c0adf
URL:
https://github.com/llvm/llvm-project/commit/b16a3b4f3bbd6f9f1f8d3a1525804dd5754c0adf
DIFF:
https://github.com/llvm/llvm-project/commit/b16a3b4f3bbd6f9f1f8d3a1525804dd5754c0adf.diff
Author: Nikita Popov
Date: 2022-04-07T13:53:37+02:00
New Revision: 82d0f7bdb5b542118f54aa03fac52e7a8f776123
URL:
https://github.com/llvm/llvm-project/commit/82d0f7bdb5b542118f54aa03fac52e7a8f776123
DIFF:
https://github.com/llvm/llvm-project/commit/82d0f7bdb5b542118f54aa03fac52e7a8f776123.diff
Author: Nikita Popov
Date: 2022-04-08T15:18:12+02:00
New Revision: 692a147bf4339380ccfea7418cbedcea540cfaef
URL:
https://github.com/llvm/llvm-project/commit/692a147bf4339380ccfea7418cbedcea540cfaef
DIFF:
https://github.com/llvm/llvm-project/commit/692a147bf4339380ccfea7418cbedcea540cfaef.diff
Author: Nikita Popov
Date: 2022-04-11T09:40:17+02:00
New Revision: 2121dc5b158b0d11667a5d8c39f0121b869ca1c5
URL:
https://github.com/llvm/llvm-project/commit/2121dc5b158b0d11667a5d8c39f0121b869ca1c5
DIFF:
https://github.com/llvm/llvm-project/commit/2121dc5b158b0d11667a5d8c39f0121b869ca1c5.diff
Author: Nikita Popov
Date: 2022-04-11T11:13:38+02:00
New Revision: 69f7f15683c451378dbe9029a0bd2dbd029bcf3a
URL:
https://github.com/llvm/llvm-project/commit/69f7f15683c451378dbe9029a0bd2dbd029bcf3a
DIFF:
https://github.com/llvm/llvm-project/commit/69f7f15683c451378dbe9029a0bd2dbd029bcf3a.diff
Author: Nikita Popov
Date: 2022-04-11T11:13:45+02:00
New Revision: 702d5de4380b1e1554e5b90863093c3a57f76f70
URL:
https://github.com/llvm/llvm-project/commit/702d5de4380b1e1554e5b90863093c3a57f76f70
DIFF:
https://github.com/llvm/llvm-project/commit/702d5de4380b1e1554e5b90863093c3a57f76f70.diff
Author: Nikita Popov
Date: 2022-04-11T12:08:29+02:00
New Revision: b72fd1a84d33e19f9f7fa6b7fdcaea57dc51aee4
URL:
https://github.com/llvm/llvm-project/commit/b72fd1a84d33e19f9f7fa6b7fdcaea57dc51aee4
DIFF:
https://github.com/llvm/llvm-project/commit/b72fd1a84d33e19f9f7fa6b7fdcaea57dc51aee4.diff
Author: Nikita Popov
Date: 2022-04-11T13:15:46+02:00
New Revision: b00d0fa2c7f0a187867c535b3f7006376420d58f
URL:
https://github.com/llvm/llvm-project/commit/b00d0fa2c7f0a187867c535b3f7006376420d58f
DIFF:
https://github.com/llvm/llvm-project/commit/b00d0fa2c7f0a187867c535b3f7006376420d58f.diff
Author: Nikita Popov
Date: 2022-04-11T16:15:57+02:00
New Revision: 918c5a926090214bc6843854afb4750673b4c3ae
URL:
https://github.com/llvm/llvm-project/commit/918c5a926090214bc6843854afb4750673b4c3ae
DIFF:
https://github.com/llvm/llvm-project/commit/918c5a926090214bc6843854afb4750673b4c3ae.diff
Author: Nikita Popov
Date: 2022-04-13T10:21:42+02:00
New Revision: 2978d026819b82f77eef42d92b3b53919f375bd8
URL:
https://github.com/llvm/llvm-project/commit/2978d026819b82f77eef42d92b3b53919f375bd8
DIFF:
https://github.com/llvm/llvm-project/commit/2978d026819b82f77eef42d92b3b53919f375bd8.diff
Author: Nikita Popov
Date: 2022-02-07T16:42:38+01:00
New Revision: cdc0573f753e639ed78f2a3645179ac2d2718fd0
URL:
https://github.com/llvm/llvm-project/commit/cdc0573f753e639ed78f2a3645179ac2d2718fd0
DIFF:
https://github.com/llvm/llvm-project/commit/cdc0573f753e639ed78f2a3645179ac2d2718fd0.diff
Author: Nikita Popov
Date: 2022-02-07T16:57:33+01:00
New Revision: c45a99f36b6e87440765572bd38cbd515c60173a
URL:
https://github.com/llvm/llvm-project/commit/c45a99f36b6e87440765572bd38cbd515c60173a
DIFF:
https://github.com/llvm/llvm-project/commit/c45a99f36b6e87440765572bd38cbd515c60173a.diff
Author: Nikita Popov
Date: 2022-02-08T16:12:51+01:00
New Revision: 18834dca2d787fb46532c0b688e396613e132020
URL:
https://github.com/llvm/llvm-project/commit/18834dca2d787fb46532c0b688e396613e132020
DIFF:
https://github.com/llvm/llvm-project/commit/18834dca2d787fb46532c0b688e396613e132020.diff
Author: Nikita Popov
Date: 2022-02-14T15:06:04+01:00
New Revision: f208644ed3618fb1db195adbd35ae0acf2819f23
URL:
https://github.com/llvm/llvm-project/commit/f208644ed3618fb1db195adbd35ae0acf2819f23
DIFF:
https://github.com/llvm/llvm-project/commit/f208644ed3618fb1db195adbd35ae0acf2819f23.diff
Author: Nikita Popov
Date: 2022-02-14T15:17:14+01:00
New Revision: 1aeb4c6b5081944fd1e53a8f6ee0488ca33644c1
URL:
https://github.com/llvm/llvm-project/commit/1aeb4c6b5081944fd1e53a8f6ee0488ca33644c1
DIFF:
https://github.com/llvm/llvm-project/commit/1aeb4c6b5081944fd1e53a8f6ee0488ca33644c1.diff
Author: Nikita Popov
Date: 2022-02-16T09:45:54+01:00
New Revision: 2d2ef384b2f6e723edb793d08f52e7f4dc94ba3a
URL:
https://github.com/llvm/llvm-project/commit/2d2ef384b2f6e723edb793d08f52e7f4dc94ba3a
DIFF:
https://github.com/llvm/llvm-project/commit/2d2ef384b2f6e723edb793d08f52e7f4dc94ba3a.diff
Author: Nikita Popov
Date: 2022-02-16T15:17:08+01:00
New Revision: fe3407a91b6dcc1100c0b30187aa8c9587c73cad
URL:
https://github.com/llvm/llvm-project/commit/fe3407a91b6dcc1100c0b30187aa8c9587c73cad
DIFF:
https://github.com/llvm/llvm-project/commit/fe3407a91b6dcc1100c0b30187aa8c9587c73cad.diff
Author: Nikita Popov
Date: 2022-02-17T11:26:42+01:00
New Revision: 5065076698cf32b5ad3b6f88b5f3b84d68948589
URL:
https://github.com/llvm/llvm-project/commit/5065076698cf32b5ad3b6f88b5f3b84d68948589
DIFF:
https://github.com/llvm/llvm-project/commit/5065076698cf32b5ad3b6f88b5f3b84d68948589.diff
Author: Nikita Popov
Date: 2022-04-29T09:44:05+02:00
New Revision: 4e545bdb355a470d601e9bb7f7b2693c99e61a3e
URL:
https://github.com/llvm/llvm-project/commit/4e545bdb355a470d601e9bb7f7b2693c99e61a3e
DIFF:
https://github.com/llvm/llvm-project/commit/4e545bdb355a470d601e9bb7f7b2693c99e61a3e.diff
Author: Nikita Popov
Date: 2022-07-15T10:18:17+02:00
New Revision: 2a721374aef326d4668f750d341c86d1aa1a0309
URL:
https://github.com/llvm/llvm-project/commit/2a721374aef326d4668f750d341c86d1aa1a0309
DIFF:
https://github.com/llvm/llvm-project/commit/2a721374aef326d4668f750d341c86d1aa1a0309.diff
https://github.com/nikic approved this pull request.
https://github.com/llvm/llvm-project/pull/82404
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
@goldsteinn Doesn't seem worthwhile.
https://github.com/llvm/llvm-project/pull/82404
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
I don't think we really have a strong motivation for this change beyond "having
a canonical form is usually good", so if it's causing issues for some targets,
then probably just not doing it is fine. But if we do want to keep it, then
yeah, this would be a reasonable motivation fo
nikic wrote:
@antoniofrighetto You need to update the PR description, not the commit message.
https://github.com/llvm/llvm-project/pull/84230
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co
nikic wrote:
> > Shouldn't plain `-fsanitize=undefined` disable this sanitizer by default
> > (requiring explicit opt-in)? In `-fwrapv` mode this is not undefined
> > behavior, so `-fsanitize=undefined` should not complain about it.
>
> I was on the fence whether `-fsanitize=undefined` should
@@ -23,24 +23,26 @@
@PR23753_b = global ptr getelementptr (i8, ptr @PR23753_a, i64 ptrtoint (ptr
@PR23753_a to i64))
; CHECK: @PR23753_b = global ptr getelementptr (i8, ptr @PR23753_a, i64
ptrtoint (ptr @PR23753_a to i64))
-; Verify that inrange on an index inhibits over-ind
@@ -47,28 +47,66 @@ static bool splitGlobal(GlobalVariable &GV) {
if (!Init)
return false;
- // Verify that each user of the global is an inrange getelementptr constant.
- // From this it follows that any loads from or stores to that global must use
- // a pointer der
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/84341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
@dtcxzyw Auto-upgrade is only for bitcode files, we usually do not upgrade IR
files. Can you regenerate the inputs with the new clang version?
https://github.com/llvm/llvm-project/pull/84341
___
cfe-commits mailing list
cfe-commits@lists.
Author: Nikita Popov
Date: 2024-03-20T14:20:44+01:00
New Revision: 3eb806373e3164b242db65f8c900e4adb5a2eddf
URL:
https://github.com/llvm/llvm-project/commit/3eb806373e3164b242db65f8c900e4adb5a2eddf
DIFF:
https://github.com/llvm/llvm-project/commit/3eb806373e3164b242db65f8c900e4adb5a2eddf.diff
https://github.com/nikic demilestoned
https://github.com/llvm/llvm-project/pull/66462
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
@Artem-B I've put up https://github.com/llvm/llvm-project/pull/80983 to address
this issue.
https://github.com/llvm/llvm-project/pull/68882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
nikic wrote:
Can you please provide more information on what the regression was / how this
fixes it?
https://github.com/llvm/llvm-project/pull/84230
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinf
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/84341
As part of the [migration to
ptradd](https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699),
we need to change the representation of the `inrange` attribute, which is used
for vtable splitting
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/84341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
@aeubanks @preames @nhaehnle Before I finish up this PR (need to update more
tests and fix GlobalSplit), I'd like to have some feedback on one point.
I'm currently proposing the `inrange` attribute to be relative to the result
pointer, so
```
getelementptr inbounds inrange(-16, 16
nikic wrote:
> Have you thought about the implications for dynamic (non-constant) indices?
inrange is only supported on constant expressions, and I think the consensus is
that it should not be extended to non-constant cases. In that case, we would
represent the information independently of the
nikic wrote:
> And then want to restrict inrange to the inner array, then for the
> source-relative case we can write:
>
> ```
> %p1 = ptradd ptr %base, i32 %outer_idx * 44
> %p2 = ptradd ptr inrange(0, 40) %p1, i32 %inner_idx * 4
> ```
>
> While the result-relative case can't represent this wi
nikic wrote:
So yeah, I think the source-relative representation is better if we consider
only the current vtable / GlobalSplit use case (where we'd just convert
result-relative to source-relative anyway), while the result-relative
representation is better if we consider a potential extension
nikic wrote:
Shouldn't plain `-fsanitize=undefined` disable this sanitizer by default
(requiring explicit opt-in)? In `-fwrapv` mode this is not undefined behavior,
so `-fsanitize=undefined` should not complain about it.
https://github.com/llvm/llvm-project/pull/82432
nikic wrote:
This change also "fixes" https://github.com/llvm/llvm-project/issues/78034 in
the sense that we return to the clang 17 status quo of the emitted IR being
wrong but mostly working out in practice.
https://github.com/llvm/llvm-project/pull/84230
_
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/84341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nikic ready_for_review
https://github.com/llvm/llvm-project/pull/84341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
FYI this change adds some overhead (about 0.2% for O0) builds
(http://llvm-compile-time-tracker.com/compare.php?from=046682ef88a254443e8620bfd48b35bfa0a83809&to=440b1743ee0c8bfb7bf0c4b503bde5ab9af88dc0&stat=instructions:u).
Is it possible to avoid it for people not using API notes?
https://github.com/nikic approved this pull request.
https://github.com/llvm/llvm-project/pull/83550
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nikic updated https://github.com/llvm/llvm-project/pull/78292
>From 20822b4a2f8e228365c8fa912af18afc9956749e Mon Sep 17 00:00:00 2001
From: David Spickett
Date: Tue, 16 Jan 2024 13:36:15 +
Subject: [PATCH 01/10] [GitHub][workflows] Add buildbot information comment to
firs
https://github.com/nikic approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/79512
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
(Dropping myself as reviewer as I'm not really familiar with clang.)
Looks like this is missing test coverage?
https://github.com/llvm/llvm-project/pull/80256
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/
https://github.com/nikic approved this pull request.
LGTM, nice find!
https://github.com/llvm/llvm-project/pull/80409
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
@Artem-B Thanks for the report. SROA already has a bunch of special handling
for `load(c ? p1 : p2)` as well as `load(gep(c ? p1 : p2, idx))`, so it's
probably not too hard to also support `load(gep(p, c ? idx1 : idx2))`.
In your particular case, it seems like it's actually InstCo
nikic wrote:
Thanks for summarizing, that matches my understanding.
As to how to implement this "properly", that would probably be
https://discourse.llvm.org/t/exploring-the-effects-and-uses-of-the-memory-region-declaration-intrinsic/72756.
The memory.region.decl intrinsics effectively encode
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/68882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/79808
The test added in #73511 currently fails in
CLANG_DEFAULT_PIE_ON_LINUX=OFF configuration, because it uses the clang driver
in a codegen test.
Split the test into two, a driver test that checks that the appropriate
nikic wrote:
Normal clang creates a driver using the default target triple here:
https://github.com/llvm/llvm-project/blob/754a8add57098ef71e4a51a9caa0cc175e94377d/clang/tools/driver/driver.cpp#L485
clang-repl appears to use IncrementalCompilerBuilder, which uses
`getProcessTriple()` here:
ht
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/79808
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
> Until this change we sailed fairly well. It seems that the pcm rigorously
> records the clang notion of the triple which is probably what we want.
> However, if we are building a pcm in the context of `clang-repl` would it
> make sense to use the `getProcessTriple` notion for th
https://github.com/nikic requested changes to this pull request.
Using anything but the size and alignment of the alloca type in a way that
affects program semantics is illegal.
https://github.com/llvm/llvm-project/pull/78526
___
cfe-commits mailing l
nikic wrote:
@dtcxzyw I'm going to merge this after LLVM 18 branches next week.
https://github.com/llvm/llvm-project/pull/68882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2274,6 +2274,26 @@ bool LoopAccessInfo::canAnalyzeLoop() {
return true;
}
+/// Returns whether \p I is a known math library call that has attribute
+/// 'memory(argmem: write)' set.
+static bool isMathLibCallMemWriteOnly(const TargetLibraryInfo *TLI,
+
nikic wrote:
@gbaraldi New compile-time numbers:
https://llvm-compile-time-tracker.com/compare.php?from=ecd47811b755d13357085bcd7519a66d6c4d8e5c&to=f582b874c35e2b90046da8e8c30a7fa30ba08167&stat=instructions:u
(They are mildly positive now, and there are some text size reductions.)
https://gith
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/78704
GCC 14 defines `__arm_streaming` as a macro expanding to `[[arm::streaming]]`.
Due to the nested macro use, this gets expanded prior to concatenation.
It doesn't look like C++ has a really clean way to prevent macr
@@ -760,8 +760,9 @@ KEYWORD(__builtin_available , KEYALL)
KEYWORD(__builtin_sycl_unique_stable_name, KEYSYCL)
// Keywords defined by Attr.td.
+// The "EMPTY ## X" is used to prevent early macro-expansion of the keyword.
#ifndef KEYWORD_ATTRIBUTE
-#define KEYWORD_
nikic wrote:
@bwendling I think you are reading the GCC docs too pedantically. In
particular, they also say
> If there are multiple objects ptr can point to and all of them are known at
> compile time, the returned number is the maximum of remaining byte counts in
> those objects if type & 2
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/78704
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nikic wrote:
There's a merge conflict (probably after
https://github.com/llvm/llvm-project/pull/79041).
https://github.com/llvm/llvm-project/pull/79061
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/list
Author: Nikita Popov
Date: 2024-01-23T12:16:14+01:00
New Revision: ea4d22f22568ccce7985032d150e79197694d38f
URL:
https://github.com/llvm/llvm-project/commit/ea4d22f22568ccce7985032d150e79197694d38f
DIFF:
https://github.com/llvm/llvm-project/commit/ea4d22f22568ccce7985032d150e79197694d38f.diff
nikic wrote:
The correct check is `REQUIRES: aarch64-registered-target`, not `REQUIRES:
target=aarch64`.
https://github.com/llvm/llvm-project/pull/69582
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
nikic wrote:
> @nikic Sorry for the mess :/
>
> I took the `target=` approach from
> [here](https://llvm.org/docs/TestingGuide.html#constraining-test-execution).
> Following the current buildbot status, this also does not seem to crash. Does
> this mean the rests are still incorrect and are n
https://github.com/nikic approved this pull request.
https://github.com/llvm/llvm-project/pull/69589
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nikic commented:
I think most of the comments from the ctpop review also apply to this one.
https://github.com/llvm/llvm-project/pull/67917
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailma
https://github.com/nikic commented:
I think most of the comments from the ctpop review also apply to this one.
https://github.com/llvm/llvm-project/pull/67917
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailma
nikic wrote:
> See most recent comments about missing tests. That being said code looks
> functionally correct to me. Still not 100% sure this is a desirable change.
> Will defer to @nikic about that.
I'm also skeptical about accepting this optimization. Looking at the motivating
case in http
@@ -6397,6 +6397,48 @@ static Value *simplifyBinaryIntrinsic(Function *F, Value
*Op0, Value *Op1,
return Constant::getNullValue(ReturnType);
break;
}
+ case Intrinsic::ptrmask: {
+// Fail loudly in case this is ever changed.
+// TODO: If vector types are s
@@ -1973,6 +1978,28 @@ Instruction *InstCombinerImpl::visitCallInst(CallInst
&CI) {
*II, Builder.CreateIntrinsic(InnerPtr->getType(), Intrinsic::ptrmask,
{InnerPtr, NewMask}));
}
+bool Changed = false;
+// See if we
@@ -143,7 +155,7 @@ Value *InstCombinerImpl::SimplifyDemandedUseBits(Value *V,
APInt DemandedMask,
return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth,
CxtI);
KnownBits LHSKnown(BitWidth), RHSKnown(BitWidth);
-
+ bool MaySimplifyAsConstant = true;
---
@@ -984,7 +1041,7 @@ Value *InstCombinerImpl::SimplifyDemandedUseBits(Value *V,
APInt DemandedMask,
// If the client is only demanding bits that we know, return the known
// constant.
- if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
+ if (MaySimplifyAsConstant && De
nikic wrote:
@elhewaty This is due to an incorrect rebase around the processUMulZExtIdiom()
call. Can you please rebase another time over
https://github.com/llvm/llvm-project/commit/ea99df2e84d5f1da7f04bfa9f13844c44e0f1f78,
which should remove all the diffs unrelated to your change?
https://g
nikic wrote:
It looks like this has made clang 0.7% slower (in the sense that the clang
stage2 binary is optimized worse -- there is no negative impact on stage1). The
binary is also 0.7% larger. It looks like this change has significant impact on
inlining heuristics.
Not really sure what to
nikic wrote:
This is a standard release build. The exact cmake config is
https://gist.github.com/nikic/1bf97b5b6aade298b87f41cd13bf37d5 where the stage1
build has the same configuration but is built with gcc. I'm testing CTMark, but
the impact is quite consistent across the board, so anything
nikic wrote:
I'm not convinced that adding this flag makes sense, given that you can already
use `-mllvm -verify-machineinstrs`. This is a developer option, and I don't
think it should be exposed by the clang driver (and if you expose it in cc1
only, then `-Xclang -fverify-machine-code` is rea
Author: Nikita Popov
Date: 2020-09-17T22:28:34+02:00
New Revision: 05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8
URL:
https://github.com/llvm/llvm-project/commit/05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8
DIFF:
https://github.com/llvm/llvm-project/commit/05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8.diff
Author: Nikita Popov
Date: 2020-09-18T09:38:26+02:00
New Revision: 13e19d2e7cdc2a54bb85da702df47c8a04a6d857
URL:
https://github.com/llvm/llvm-project/commit/13e19d2e7cdc2a54bb85da702df47c8a04a6d857
DIFF:
https://github.com/llvm/llvm-project/commit/13e19d2e7cdc2a54bb85da702df47c8a04a6d857.diff
201 - 300 of 1388 matches
Mail list logo