Commit Graph

14559 Commits

Author SHA1 Message Date
LLVM GN Syncbot
a6fc677f10 [gn build] Port ef2a104c94 2024-11-02 01:30:09 +00:00
LLVM GN Syncbot
9adf50c179 [gn build] Port c72a751dab 2024-11-02 01:30:09 +00:00
LLVM GN Syncbot
cecb3c4ad7 [gn build] Port 7ec26b23f2 2024-11-02 01:30:08 +00:00
Nico Weber
decf88d3e9 [gn] port eeee5a44bb (clang-sycl-linker)
Also port follow-up 0d499f9043.
2024-11-01 21:28:48 -04:00
Phoebe Wang
c72a751dab [X86][AMX] Support AMX-TRANSPOSE (#113532)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
2024-11-01 16:45:03 +08:00
Ryosuke Niwa
61a6439f35 Introduce a new WebKit checker for a unchecked local variable (#113708)
This PR introduces alpha.webkit.UncheckedLocalVarsChecker which detects
a raw reference or a raw pointer local, static, or global variable to a
CheckedPtr capable object without a guardian variable in an outer scope.
2024-10-31 23:53:07 -07:00
LLVM GN Syncbot
78a98c7aa8 [gn build] Port e67e03a22c 2024-10-31 10:11:28 +00:00
Fangrui Song
9bb5af8a42 [TableGen] Replace StringRef::slice with substr. NFC 2024-10-30 22:27:12 -07:00
Adam Yang
948249d804 Revert "[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic" (#114322)
Reverts llvm/llvm-project#111884
2024-10-30 20:44:54 -07:00
LLVM GN Syncbot
ccdfd1a182 [gn build] Port 8127162427 2024-10-31 02:27:09 +00:00
LLVM GN Syncbot
d67f2bd45d [gn build] Port 84b7bcfcac 2024-10-31 00:17:29 +00:00
Nico Weber
36b79156db [gn] port 508263824f (BuiltinsX86.td) 2024-10-30 19:59:48 -04:00
Brox Chen
6f973fd4ab [AMDGPU][test] fix the error case in update_mc_test_check script (#112731)
update_mc_test_check script handle the "error case testline" wrong in
three cases:

1. when user select "--llvm-mc-binary" with a path, the script does not
add "not" on top of the "--llvm-mc-binary" and thus getting non-zero
exit code and failed.
2. When "not" is presented in runline while not all testlines are
expected to fail, the script need to check if the "not" is needed when
it execute llvm-mc line by line. Otherwise the script will fail on
testline which is passing.
3. When there are multiple runlines, the error checkline need to use
correct line offset for "[[LINE-X]]"

This patch solve these three issues
2024-10-30 09:02:40 -04:00
Jessica Clarke
9467645547 [CodeGen] Rename MVT::iPTRAny to MVT::pAny
Whilst in upstream LLVM iPTRAny is only ever an integer, essentially an
alias for iPTR, this is not true in CHERI LLVM, where it gets used to
mean "iPTR or cPTR", i.e. either an integer address or a capability
(with cPTR and cN being the capability equivalents of iPTR and iN).
Moreover, iPTRAny is already not itself regarded as an integer (calling
isInteger() will give false), so the "i" prefix is misleading, and it
stands out as different from all the other xAny that have a single
letter prefix denoting their type.

Thus, rename it to pAny, reflecting that it is an overloaded pointer
type, which could end up being specialised to an integer type, but does
not have to be.

This has been verified to have no effect on the generated files for LLVM
itself or any in-tree target beyond the replacement of the identifier
iPTRAny with pAny in GenVT.inc.

Reviewers: arsenm

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/113733
2024-10-30 03:27:48 +00:00
Jessica Clarke
e8b7f53fa4 [TableGen] Remove a pointless check for iPTRAny
We've already called EnforceInteger on Types[0], and iPTRAny isn't
regarded as an integer type (note that TableGen special-cases iPTR here
to include that, though), so we cannot possibly still have an iPTRAny by
this point. Delete the check, and let getFixedSizeInBits catch it along
with all the other overloaded types if that ever becomes false. Also
document why we have this check whilst here.

Reviewers: arsenm

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/113732
2024-10-30 03:19:53 +00:00
Jessica Clarke
ef455e6b16 [TableGen] Replace all lingering uses of getName with getEnumName
The former is a wrapper for the latter with two differences: Other is
mapped to "UNKNOWN" (rather than "MVT::Other"), and iPTR(Any) are mapped
to "TLI.getPointerTy()" rather than "MVT::iPTR(Any)".

The only uses are in FastISelMap::printFunctionDefinitions. Most of
these uses are just a form of name mangling to ensure uniqueness, so the
actual string isn't important (and, in the case of MVT::iPTR(Any), were
both to be used, they would clash). Two uses are for a case statement,
which requires the expression to be a constant (of the right type), but
neither UNKNOWN nor TLI.getPointerTy() are constants, so would not work
there. The remaining uses are where an expression is needed, so UNKNOWN
similarly doesn't work, though TLI.getPointerTy() could in this case.
However, neither iPTR nor iPTRAny are supposed to make it this far
through TableGen, and should instead have been replaced with concrete
types, so this case should not be hit. Moreover, for almost all of these
uses, the name is passed to getLegalCName, which will strip an MVT::
prefix but will leave TLI.getPointerTy() unchanged, which is not a valid
C identifier, nor component thereof.

Thus, delete this unnecessary, and mostly-broken, wrapper and just use
the underlying getEnumName. This has been verified to have no effect on
the generated files for any in-tree target, including experimental ones.

Reviewers: arsenm

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/113731
2024-10-30 03:12:23 +00:00
A. Jiang
63eb40eeb1 [libc++] Deprecate and remove meaningless <cxxx> headers (#111615)
This PR deprecates `<ccomplex>`, `<cstdbool>`, `<ctgmath>`, and
`<ciso646>` in C++17 and "removes" them in C++20 by special deprecation
warnings.

`<cstdalign>` is previously missing. This PR also tries to add them, and
then deprecates and "removes" `<cstdalign>`.

Papers:
- https://wg21.link/P0063R3
- https://wg21.link/P0619R4

Closes #99985.

---------

Co-authored-by: Louis Dionne <ldionne.2@gmail.com>
2024-10-30 09:49:26 +08:00
Jerry Sun
cdacc9b5c7 [TableGen] [NFC] Refine TableGen code to comply with clang-tidy checks (#113318)
Code cleanups for TableGen files, changes includes function names,
variable names and unused imports.

---------

Co-authored-by: Matt Arsenault <Matthew.Arsenault@amd.com>
2024-10-29 11:10:54 -07:00
LLVM GN Syncbot
b0dd368d57 [gn build] Port b510cdb895 2024-10-29 18:01:23 +00:00
Brox Chen
528e975ac4 [AMDGPU][test]added unique and sort options for update_mc_test_check script (#111769)
add a unique and a sort option to the update_mc_test_check script.

These mc asm/dasm files are usually large in number of lines, and these
lines are mostly similar to each other. These options can be useful when
maintainer is merging or resolving conflicts by making the file
identifical

Also fixed a small issue in asm/dasm such that the auto generated header
line is
1. asm using ";" instead of "//" as comment marker
2. dasm using ";" instead of "#" as comment marker
2024-10-29 13:48:43 -04:00
Adam Yang
9a5b3a1bbc [DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic (#111884)
fixes #112974
partially fixes #70103

### Changes
- Added new tablegen based way of lowering dx intrinsics to DXIL ops.
- Added int_dx_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsDirectX.td
- Added expansion for int_dx_group_memory_barrier_with_group_sync in
DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case

### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)
2024-10-29 10:17:35 -07:00
LLVM GN Syncbot
af44976cad [gn build] Port 6128ff6630 2024-10-29 15:18:09 +00:00
LLVM GN Syncbot
f906d765ba [gn build] Port 5ea694816b 2024-10-29 15:18:08 +00:00
Nico Weber
d43e4ce77d Revert "[gn] port b1be21394e9c"
b1be21394e was reverted in 3ac75ee8ec.

This reverts commit 18f4b7e4a8, as well
as follow-ups a69d2a18d2 and
4a6b56960f.
2024-10-29 11:17:11 -04:00
Jerry Sun
00ca2071e0 [TableGen] [NFC] Remove unused includes in TableGen BE (#113725)
split PR as requested from
https://github.com/llvm/llvm-project/pull/113318.

Removes unused imports in TableGen BE
2024-10-28 20:26:10 -07:00
LLVM GN Syncbot
1164bd7747 [gn build] Port e146c1867e 2024-10-28 11:56:44 +00:00
LLVM GN Syncbot
2a4bab3fac [gn build] Port cfde4fbccf 2024-10-28 11:56:43 +00:00
LLVM GN Syncbot
595ec4e4be [gn build] Port 5aa1275d03 2024-10-28 11:56:42 +00:00
LLVM GN Syncbot
cbaecb5d29 [gn build] Port 3d6923dbac 2024-10-28 11:56:42 +00:00
LLVM GN Syncbot
233e64d8e4 [gn build] Port 0be1883c36 2024-10-28 11:56:40 +00:00
Martin Storsjö
ef9629c64a Revert "Add extendhfxf2 into compiler rt (#111099)"
This reverts commit 5f7bad07b9.

These tests fail to build in multiple configurations, see
https://github.com/llvm/llvm-project/pull/111099.
2024-10-26 12:34:45 +03:00
B I Mohammed Abbas
5f7bad07b9 Add extendhfxf2 into compiler rt (#111099)
Retry pr #109090 with updated extendhfxf2 test
2024-10-25 20:05:23 -04:00
Abhina Sree
9d88543301 [AIX] Use internal lit shell for TableGen instead of a global setting (#113627)
This is to address the latest lit regressions
https://lab.llvm.org/buildbot/#/builders/64/builds/1285 caused by using
the internal lit shell. This change will limit using the internal lit
shell to TableGen on AIX so we do not hit these regressions.
2024-10-25 13:06:02 -04:00
LLVM GN Syncbot
9ea6fcd02b [gn build] Port 1f2b7ae6d7 2024-10-25 16:47:08 +00:00
LLVM GN Syncbot
a3dd6000a7 [gn build] Port c4248fa3ed 2024-10-25 13:20:15 +00:00
LLVM GN Syncbot
83e7e6a0ff [gn build] Port 2e43a304f1 2024-10-25 13:20:14 +00:00
Nico Weber
4a6b56960f [gn] try to port b1be21394e even more
Bots are now failing check-hwasan with

    llvm-lit: .../llvm/utils/lit/lit/llvm/subst.py:133: fatal: Did not find
        hwasan_symbolize in .../out/gn/stage2_unix/bin

This time it's the right fix for sure!
2024-10-25 09:19:21 -04:00
Nico Weber
a69d2a18d2 [gn] try to port b1be21394e more
Bots are currently failing check-hwasan with

    llvm-lit: .../llvm/utils/lit/lit/llvm/subst.py:133: fatal: Did not find
        hwasan_symbolize in /.../out/gn/lib/clang/20/lib/linux

Maybe this fixes that.

See also llvm/utils/gn/secondary/compiler-rt/lib/hwasan/scripts/BUILD.gn.
2024-10-25 09:05:29 -04:00
Nico Weber
18f4b7e4a8 [gn] port b1be21394e 2024-10-25 00:24:42 -07:00
Nico Weber
93ee9d1c54 [gn] port 105d54726b1d7 more
Also, it's really b852fb1ec5, not 105d54726b1d7.
2024-10-25 00:21:50 -07:00
Nico Weber
5827334ed2 [gn] port 105d54726b1d7 (lldbValueObject) 2024-10-25 00:15:58 -07:00
Nico Weber
8c2e8b5124 [gn] port a14a83d9a1 2024-10-24 16:32:09 -07:00
Nico Weber
6d8d7a3acd [gn] disable building libc++ shared lib
It's currently broken by #91651. Stop buildling libcxx src files
until that is sorted out.
2024-10-24 10:57:44 -07:00
Nico Weber
9a8292f914 [gn build] Port 8a12e0131f 2024-10-24 09:20:06 -07:00
Nico Weber
2646ce2a22 [gn] port 522f34cfff (PPC AsmMatcher dep)
Similar to 4168a2e9de. See also comment on #113482.
2024-10-24 09:09:11 -07:00
Nico Weber
907c136388 [gn] port 6512a8d yet more
Follow-up to a21573bb99 which had a typo.
2024-10-24 08:58:14 -07:00
Nico Weber
a21573bb99 [gn] port 6512a8d more
24293e690 added the files added there, but didn't do the tblgen changes.
2024-10-24 08:52:23 -07:00
Daniel Paoliello
4583dbc7b8 [lit][aix] Always use internal lit shell on AIX (#113355)
Diff on AIX doesn't have all the required features used in tests (see
<https://github.com/llvm/llvm-project/pull/108871> and
<https://github.com/llvm/llvm-project/pull/112997#issuecomment-2429656192>),
so always use the internal shell.
2024-10-23 12:18:02 -07:00
Rahul Joshi
743f839a88 [NFC][LLVM][TableGen] Change RecordKeeper::getClass to return const pointer (#112261)
Change `RecordKeeper::getClass` to return const record pointer. This is
a part of effort to have better const correctness in TableGen backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
2024-10-23 11:32:05 -07:00
Arthur Eubanks
62cb1a3b0b [gn build] Port b8930cd13d 2024-10-22 17:38:21 +00:00