nhaehnle wrote:
Somebody recently mentioned a test case that ended up producing hundreds of MBs
or even GBs of code :)
Maybe the answer is that we don't support it and just report a compiler error.
That may be a reasonable thing to do, but in any case having certainty about it
would help the
nhaehnle wrote:
Thank you for going into a bit more detail. It does seem like distinguishing
between SGPR reloads and VGPR reloads would help.
Hmm, what about a case where we run out of VGPRs to spill SGPRs into? What do
we actually do in that case today?
https://github.com/llvm/llvm-project/
https://github.com/nhaehnle commented:
Thank you. This pretty much LGTM, but it just occurred to me that there's a
docs/CommandGuide/lit.rst which should be updated to document the new option.
https://github.com/llvm/llvm-project/pull/108425
___
cfe-c
nhaehnle wrote:
I agree with Jay that this change isn't acceptable from a codegen quality point
of view.
> Then it appeared that instructions loading the values spilled to the memory
> and used in the current block must be placed at the block beginning before
> they are used but after the poi
@@ -196,8 +208,10 @@ define amdgpu_kernel void @add_i32_constant(ptr
addrspace(1) %out, ptr addrspace
; GFX11W32-NEXT:v_mbcnt_lo_u32_b32 v0, s1, 0
; GFX11W32-NEXT:; implicit-def: $vgpr1
; GFX11W32-NEXT:s_delay_alu instid0(VALU_DEP_1)
-; GFX11W32-NEXT:v_cmpx_eq_
https://github.com/nhaehnle edited
https://github.com/llvm/llvm-project/pull/108425
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nhaehnle commented:
Thanks for splitting this up. It does look mostly good to me, but I do have two
comments.
https://github.com/llvm/llvm-project/pull/108425
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llv
@@ -1,3 +1,5 @@
+// RUN: %clang_cc1 -verify %s
+// RUN: diff %s %s.expected
nhaehnle wrote:
I still think those new invocations of `diff` should be in `lit-plugin.test`.
Those `diff` lines attempt to check that this file (or rather its temporarily
copied versio
@@ -2,3 +2,15 @@ config.substitutions = list(config.substitutions)
config.substitutions.insert(
0, (r"%clang\b", """*** Do not use the driver in Sema tests. ***""")
)
+
+if lit_config.update_tests:
+import sys
+import os
+
+curdir = os.path.dirname(os.path.realp
https://github.com/nhaehnle approved this pull request.
I didn't go over the core.py implementation with a comb, but this looks
reasonable to me. Thanks!
https://github.com/llvm/llvm-project/pull/97369
___
cfe-commits mailing list
cfe-commits@lists.ll
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -verify %s
+// RUN: diff %s %s.expected
nhaehnle wrote:
Right, it's all a little mind-bending, but my point is that since you're trying
to test whether the invocation of `not %{lit} %S/LitTests --update-tests` in
`lit-plugin
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -verify %s
+// RUN: diff %s %s.expected
nhaehnle wrote:
The way I understand it, the update-verify-tests plugin in lit will overwrite
this source file, which may end up overwriting this RUN line if there is a bug.
Basically,
https://github.com/nhaehnle commented:
I think the integration into lit is okay. The diff updater seems neat, but I
think it could be taken into a separate change, see also the inline comment. In
general, I think this PR really does three separate things, that ought to be in
separate changes:
https://github.com/nhaehnle edited
https://github.com/llvm/llvm-project/pull/97369
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nhaehnle commented:
This is a nice addition, but I think it should follow the conventions
established by the existing update_*_test_checks.py scripts as much as
possible, at least:
* Ability to parse RUN lines, re-execute them autonomously, and modify test
files in place ba
https://github.com/nhaehnle approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/92885
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -84,28 +84,30 @@ long double ld = -1.0L;
// CHECK-LE-LABEL: define dso_local void @_Z12test_signbitv(
// CHECK-LE-SAME: ) #[[ATTR0:[0-9]+]] {
// CHECK-LE-NEXT: entry:
-// CHECK-LE-NEXT:[[FROMBOOL:%.*]] = zext i1 icmp slt (i64 trunc (i128
bitcast (ppc_fp128 0xM3FF00
https://github.com/nhaehnle edited
https://github.com/llvm/llvm-project/pull/92885
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nhaehnle approved this pull request.
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
@@ -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
@@ -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/nhaehnle commented:
The clang-format complaints look real. (I'm no friend of the alignment of
end-of-line comments because it's super noisy in diffs, but...)
I don't know Clang, but the changes there look reasonable enough to me. One nit
inline, with that fixed the change LG
https://github.com/nhaehnle 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
nhaehnle wrote:
Have you thought about the implications for dynamic (non-constant) indices?
Stuff like
```
%gep = getelementptr [50 x {i32, [10 x i32]}], ptr %base, i32 0, i32
%outer_idx, i32 1, i32 %inner_idx
```
The current representation allows an `inrange` on the second-to-last index
whi
https://github.com/nhaehnle approved this pull request.
FWIW, this LGTM. Give it another day or two for other feedback.
https://github.com/llvm/llvm-project/pull/74471
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
nhaehnle wrote:
> 1. Isn't a strided buffer one where the field that's named something like
> `stride` (bits 61:48 or 63:48) is non-zero
Yes, and one that is meant to use with buffer instructions using `idxen`.
> 2. And therefore it uses structured buffers and the
> `llvm.struct[.ptr]
@@ -864,6 +865,17 @@ supported for the ``amdgcn`` target.
(bits `127:96`). The specific interpretation of these fields varies by the
target architecture and is detailed in the ISA descriptions.
+**Buffer Strided Pointer**
+ The buffer index pointer is an experimental addr
@@ -864,6 +865,17 @@ supported for the ``amdgcn`` target.
(bits `127:96`). The specific interpretation of these fields varies by the
target architecture and is detailed in the ISA descriptions.
+**Buffer Strided Pointer**
+ The buffer index pointer is an experimental addr
@@ -1,7 +1,7 @@
; RUN: opt -S -mtriple=amdgcn-- -passes=load-store-vectorizer < %s | FileCheck
-check-prefix=OPT %s
nhaehnle wrote:
I think it's fine. It's still a kind of buffer fat pointer in a sense.
https://github.com/llvm/llvm-project/pull/74471
_
@@ -864,6 +865,17 @@ supported for the ``amdgcn`` target.
(bits `127:96`). The specific interpretation of these fields varies by the
target architecture and is detailed in the ISA descriptions.
+**Buffer Strided Pointer**
+ The buffer index pointer is an experimental addr
https://github.com/nhaehnle commented:
Thanks!
Since the plan for now is to have the lowering in LLPC, it's unclear to me how
many of the codegen-related changes we actually want in here, though I suppose
they don't hurt.
https://github.com/llvm/llvm-project/pull/74471
___
https://github.com/nhaehnle edited
https://github.com/llvm/llvm-project/pull/74471
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nhaehnle wrote:
Time to rebase this on main, I think...
https://github.com/llvm/llvm-project/pull/72702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nhaehnle approved this pull request.
LGTM w/ a squash.
BTW, I'm not a fan of merge commits in PRs. I find it makes it more confusing
to review.
https://github.com/llvm/llvm-project/pull/72382
___
cfe-commits mailing list
cfe-commit
nhaehnle wrote:
I meant ballot.i64 in wave64. For some reason, I didn't see the changes you
made in those tests (perhaps I was looking at GitHub's display of your last
changes to the PR, instead of the full PR.) But since you did make those
changes, it's all good as far as I'm concerned.
http
nhaehnle wrote:
Though, on second thought, shouldn't there be some wave64 tests?
https://github.com/llvm/llvm-project/pull/68714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nhaehnle approved this pull request.
https://github.com/llvm/llvm-project/pull/68714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
nhaehnle wrote:
I've been puzzling over the rationale for looking at `MD_unpredictable`. How
can a branch that is heavily biased to one side be unpredictable?
https://github.com/llvm/llvm-project/pull/69375
___
cfe-commits mailing list
cfe-commits@lis
nhaehnle wrote:
(removing myself from this PR)
https://github.com/llvm/llvm-project/pull/70669
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -396,3 +396,115 @@ true:
false:
ret i32 33
}
+
+declare i32 @llvm.amdgcn.icmp.i32(i1, i1, i32)
+
+define amdgpu_cs i32
@branch_divergent_simulated_negated_ballot_ne_zero_and(i32 %v1, i32 %v2) {
+; CHECK-LABEL: branch_divergent_simulated_negated_ballot_ne_zero_and:
+; CHEC
https://github.com/nhaehnle edited
https://github.com/llvm/llvm-project/pull/68714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/nhaehnle commented:
Seems pretty reasonable to me
https://github.com/llvm/llvm-project/pull/68714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -396,3 +396,115 @@ true:
false:
ret i32 33
}
+
+declare i32 @llvm.amdgcn.icmp.i32(i1, i1, i32)
+
+define amdgpu_cs i32
@branch_divergent_simulated_negated_ballot_ne_zero_and(i32 %v1, i32 %v2) {
+; CHECK-LABEL: branch_divergent_simulated_negated_ballot_ne_zero_and:
+; CHEC
Author: Nicolai Hähnle
Date: 2022-10-28T15:48:20+02:00
New Revision: dce78646f07ff67f7d4887525e908dbf47d9e86b
URL:
https://github.com/llvm/llvm-project/commit/dce78646f07ff67f7d4887525e908dbf47d9e86b
DIFF:
https://github.com/llvm/llvm-project/commit/dce78646f07ff67f7d4887525e908dbf47d9e86b.diff
Author: Nicolai Hähnle
Date: 2022-08-02T23:49:16+02:00
New Revision: f7872cdce1102a5c12633dad462a1d9763a578d3
URL:
https://github.com/llvm/llvm-project/commit/f7872cdce1102a5c12633dad462a1d9763a578d3
DIFF:
https://github.com/llvm/llvm-project/commit/f7872cdce1102a5c12633dad462a1d9763a578d3.diff
Author: Nicolai Hähnle
Date: 2022-07-27T15:46:21+02:00
New Revision: cd62604d19aea56d79a919e799d899b0636bd6b4
URL:
https://github.com/llvm/llvm-project/commit/cd62604d19aea56d79a919e799d899b0636bd6b4
DIFF:
https://github.com/llvm/llvm-project/commit/cd62604d19aea56d79a919e799d899b0636bd6b4.diff
Author: Nicolai Hähnle
Date: 2022-07-27T14:57:34+02:00
New Revision: 7132bcdc428d79258901af0156ace240952b6745
URL:
https://github.com/llvm/llvm-project/commit/7132bcdc428d79258901af0156ace240952b6745
DIFF:
https://github.com/llvm/llvm-project/commit/7132bcdc428d79258901af0156ace240952b6745.diff
Author: Nicolai Hähnle
Date: 2022-07-27T14:57:34+02:00
New Revision: 5a78ac21569abe2e419b201ca196b21fc3bb00aa
URL:
https://github.com/llvm/llvm-project/commit/5a78ac21569abe2e419b201ca196b21fc3bb00aa
DIFF:
https://github.com/llvm/llvm-project/commit/5a78ac21569abe2e419b201ca196b21fc3bb00aa.diff
Author: Nicolai Hähnle
Date: 2022-07-27T14:57:34+02:00
New Revision: 3e874bcf064283a5f00e2bef3a086057265563cb
URL:
https://github.com/llvm/llvm-project/commit/3e874bcf064283a5f00e2bef3a086057265563cb
DIFF:
https://github.com/llvm/llvm-project/commit/3e874bcf064283a5f00e2bef3a086057265563cb.diff
Author: Nicolai Hähnle
Date: 2022-07-20T11:23:49+02:00
New Revision: 5a4033c36716de0cee75eb28b95cce44ae239cd9
URL:
https://github.com/llvm/llvm-project/commit/5a4033c36716de0cee75eb28b95cce44ae239cd9
DIFF:
https://github.com/llvm/llvm-project/commit/5a4033c36716de0cee75eb28b95cce44ae239cd9.diff
Author: Nicolai Hähnle
Date: 2022-07-19T09:11:23+02:00
New Revision: 5fc62135511069086e88f846f9bac2eb40b01e94
URL:
https://github.com/llvm/llvm-project/commit/5fc62135511069086e88f846f9bac2eb40b01e94
DIFF:
https://github.com/llvm/llvm-project/commit/5fc62135511069086e88f846f9bac2eb40b01e94.diff
Author: Nicolai Hähnle
Date: 2020-10-27T20:33:30+01:00
New Revision: e025d09b216dc2239e1b502f4f277abb6fb4648a
URL:
https://github.com/llvm/llvm-project/commit/e025d09b216dc2239e1b502f4f277abb6fb4648a
DIFF:
https://github.com/llvm/llvm-project/commit/e025d09b216dc2239e1b502f4f277abb6fb4648a.diff
Author: Nicolai Hähnle
Date: 2020-10-20T13:50:52+02:00
New Revision: c0cdd22c72fab47a3c37b5a8401763995cadaa77
URL:
https://github.com/llvm/llvm-project/commit/c0cdd22c72fab47a3c37b5a8401763995cadaa77
DIFF:
https://github.com/llvm/llvm-project/commit/c0cdd22c72fab47a3c37b5a8401763995cadaa77.diff
Author: Nicolai Hähnle
Date: 2020-07-08T18:18:49+02:00
New Revision: 3fa989d4fd6b854209ba4e950d96b91d6d5797b4
URL:
https://github.com/llvm/llvm-project/commit/3fa989d4fd6b854209ba4e950d96b91d6d5797b4
DIFF:
https://github.com/llvm/llvm-project/commit/3fa989d4fd6b854209ba4e950d96b91d6d5797b4.diff
Author: Nicolai Hähnle
Date: 2020-07-06T21:58:11+02:00
New Revision: 723a44c9b5d654ec791720fc450757ae00f9e631
URL:
https://github.com/llvm/llvm-project/commit/723a44c9b5d654ec791720fc450757ae00f9e631
DIFF:
https://github.com/llvm/llvm-project/commit/723a44c9b5d654ec791720fc450757ae00f9e631.diff
Author: Nicolai Hähnle
Date: 2020-02-18T00:24:09+01:00
New Revision: bf197304a66aac3cde967539b40c018cede66761
URL:
https://github.com/llvm/llvm-project/commit/bf197304a66aac3cde967539b40c018cede66761
DIFF:
https://github.com/llvm/llvm-project/commit/bf197304a66aac3cde967539b40c018cede66761.diff
57 matches
Mail list logo