Commit Graph

11763 Commits

Author SHA1 Message Date
Nico Weber 72d0db596c [gn build] (manually) port 507125af3d 2022-07-29 14:03:32 -04:00
Fangrui Song c26dc2904b [llvm-objcopy] Support --{,de}compress-debug-sections for zstd
Also, add ELFCOMPRESS_ZSTD (2) from the approved generic-abi proposal:
https://groups.google.com/g/generic-abi/c/satyPkuMisk
("Add new ch_type value: ELFCOMPRESS_ZSTD")

Link: https://discourse.llvm.org/t/rfc-zstandard-as-a-second-compression-method-to-llvm/63399
("[RFC] Zstandard as a second compression method to LLVM")

Differential Revision: https://reviews.llvm.org/D130458
2022-07-28 10:45:53 -07:00
LLVM GN Syncbot 59ea2c64d5 [gn build] Port d52e775b05 2022-07-28 14:44:36 +00:00
LLVM GN Syncbot cf0196db88 [gn build] Port c113594378 2022-07-28 14:37:35 +00:00
LLVM GN Syncbot e293802499 [gn build] Port bb7f62bbbd 2022-07-28 13:30:20 +00:00
Nico Weber dd428a571c [gn build] (manually) port 18b4a8bcf3 more 2022-07-28 07:14:43 -04:00
Martin Storsjö 18b4a8bcf3 [clang-tidy] Rename the make-confusable-table executable
Rename it to clang-tidy-confusable-chars-gen, to make its role
clearer in a wider context.

In cross builds, the caller might want to provide this tool
externally (to avoid needing to rebuild it in the cross build).
In such a case, having the tool properly namespaced makes its role
clearer.

This matches how the clang-pseudo-gen tool was renamed in
a43fef05d4 / D126725.

Differential Revision: https://reviews.llvm.org/D129798
2022-07-28 12:00:20 +03:00
LLVM GN Syncbot 3f6c6e94d6 [gn build] Port e01b4fe956 2022-07-28 08:23:10 +00:00
LLVM GN Syncbot 7fac9c9141 [gn build] Port 8a61749f76 2022-07-28 07:43:55 +00:00
LLVM GN Syncbot a35596675b [gn build] Port 6047deb7c2 2022-07-27 21:44:47 +00:00
Tom Stellard 89d3c9634b workflows: Fix pull request creation for backports
This was broken by 17d4796cc8.
2022-07-27 13:12:07 -07:00
LLVM GN Syncbot 0fdf8db727 [gn build] Port 0f3f357e26 2022-07-27 19:04:03 +00:00
David Green 7ce39d80a8 [Lit] Sort previously failed tests early
D98179 added a mechanism to sort tests by test time to run slow tests
early, increasing potential parallelism. It also added a feature where
negative tests would be marked as negative, allowing subsequent test
runs to run them earlier. Unfortunately it never actually stored the
negative time, even if all the other code seemed to be inplace to sort
them early. Luckily the fix seems simple.

Differential Revision: https://reviews.llvm.org/D130570
2022-07-27 17:55:11 +01:00
Nico Weber 1870a8af15 [gn build] (semi-manually) port 6bdb15fe84 2022-07-27 07:31:32 -04:00
Tom Stellard 809855b56f Bump the trunk major version to 16 2022-07-26 21:34:45 -07:00
Tom Stellard 66d755bbf8 workflows: Add GitHub action for automating some release tasks
For each release tag, this action will create a new release on GitHub,
and for each -final tag, this action will build the documentation and
upload it to GitHub.

Reviewed By: hans, kwk

Differential Revision: https://reviews.llvm.org/D99780
2022-07-26 15:36:51 -07:00
Tom Stellard f673dcc693 github: Automatically assign reviewers for backport requests
When there is a backport request, the GitHub Action that handles the
backport will now automatically assign the issue to the user(s) who
approved the commit in Phabricator and create an issue comment asking
them to review the request.

Reviewed By: thieta, kwk

Differential Revision: https://reviews.llvm.org/D126423
2022-07-26 15:30:27 -07:00
Tom Stellard 17d4796cc8 github: Fix release automation /branch command with new repo
We started using the llvm/llvm-project-release-prs repo for
backport pull requests, but since this repo is not a fork of
llvm/llvm-project it will reject pull requests from other repos. In
order to fix this, when ever someone uses the /branch command to request
a branch be merged into the release branch, we first copy the branch to
the llvm-project-release-prs repo and then create the pull request.

Reviewed By: thieta

Differential Revision: https://reviews.llvm.org/D126940
2022-07-26 15:05:05 -07:00
LLVM GN Syncbot c17420fdee [gn build] Port 4638d7a28f 2022-07-26 18:27:34 +00:00
Nico Weber 215a792cd5 [gn build] Port 8348c40956 2022-07-26 13:32:14 -04:00
LLVM GN Syncbot 38dce2959e [gn build] Port f4fb72e6d4 2022-07-26 15:44:44 +00:00
Nico Weber a97bb48db8 [gn build] (manually) port a5640968f2 2022-07-26 11:28:05 -04:00
Nico Weber 1ce9887213 [gn build] Port 7a5cb15ea6 2022-07-26 07:34:14 -04:00
Simon Pilgrim da2ed951ec Fix MSVC "not all control paths return a value" warning. NFC 2022-07-26 10:44:00 +01:00
Nico Weber a9b21ec484 [gn build] tweak how symbol_exports map files look on linux, for 94c00c10e
After bc39d7bdd4 (ported to GN in 94c00c10e), libclang uses symbol_exports,
and clang/test/LibClang/symbols.test wants the versioned name to be `LLVM_[0-9]$`
instead of `FOO`.
2022-07-26 01:52:00 -04:00
Nico Weber 94c00c10e8 [gn build] port bc39d7bdd4 (libclang.map -> libclang.exports) 2022-07-26 01:39:15 -04:00
Xiang Li 57006b14fa [DirectX backend] [NFC]Add DXILOpBuilder to generate DXIL operation
A new helper class DXILOpBuilder is added to create DXIL op function calls.

TableGen backend for DXILOperation will create table for DXIL op function parameter types.
When create DXIL op function, these parameter types will used to create the function type.

Reviewed By: bogner

Differential Revision: https://reviews.llvm.org/D130291
2022-07-25 21:49:59 -07:00
Kazu Hirata b5188591a0 [llvm] Remove redundaunt virtual specifiers (NFC)
Identified with modernize-use-override.
2022-07-24 21:50:35 -07:00
LLVM GN Syncbot 80cb0cab4e [gn build] Port b7aa9c4ac8 2022-07-24 20:22:32 +00:00
LLVM GN Syncbot 81f0f5a0e5 [gn build] Port 46ae26e7eb 2022-07-24 17:43:27 +00:00
Dmitri Gribenko aba43035bd Use llvm::sort instead of std::sort where possible
llvm::sort is beneficial even when we use the iterator-based overload,
since it can optionally shuffle the elements (to detect
non-determinism). However llvm::sort is not usable everywhere, for
example, in compiler-rt.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D130406
2022-07-23 15:19:05 +02:00
Kazu Hirata 380a1b204c Use callables directly in any_of, count_if, etc (NFC) 2022-07-23 00:28:31 -07:00
Ilya Leoshkevich 0d89963df3 [Lit] Pass through DFLTCC from the surrounding environment
Many distros ship zlib with the IBM Z deflate hardware acceleration
patch [1]. Sometimes it's desirable to disable the acceleration, for
example, for reproducibility. This can be done by exporting DFLTCC=0.
llvm-lit clears this environment variable, which causes
compress-debug-sections-zlib.test fail on z15 and later machines. Add
DFLTCC to the list of variables to keep.

[1] https://github.com/madler/zlib/pull/410

Reviewed By: abrachet

Differential Revision: https://reviews.llvm.org/D130253
2022-07-23 01:38:30 +02:00
LLVM GN Syncbot 9daf945367 [gn build] Port 8184b252cd 2022-07-22 07:02:59 +00:00
LLVM GN Syncbot 674cab116d [gn build] Port 1d057a6d43 2022-07-21 21:26:59 +00:00
LLVM GN Syncbot 31049b3d2b [gn build] Port 1dad6247d2 2022-07-21 20:54:39 +00:00
LLVM GN Syncbot f6b5f24c19 [gn build] Port 4fcf8434dd 2022-07-21 00:53:15 +00:00
LLVM GN Syncbot 761e2a3abc [gn build] Port 23cf42e706 2022-07-20 20:02:41 +00:00
LLVM GN Syncbot 7a2a640969 [gn build] Port 857a78c04d 2022-07-20 16:42:40 +00:00
Roman Rusyaev 394a388d14 [TableGen] Add a location for a class definition that was forward-declared
This change improves ctags generation for tablegen files.

For the following example
```
class A;

class A {
  int a;
}
```
Previously, tags were generated only for a forward declaration of class 'A'.

This patch allows generating tags for the forward declarations
and further definition of class 'A'.

Reviewed By: barannikov88

Original patch by: rusyaev-roman (Roman Rusyaev)
Some adjustments by: nhaehnle (Nicolai Hähnle)

Differential Revision: https://reviews.llvm.org/D129935
2022-07-20 15:56:17 +02:00
Carlos Alberto Enciso f8c13754af Update the Windows packaging script.
As discussed on:
  https://discourse.llvm.org/t/build-llvm-release-bat-script-options/63146/6

Giving:
  call :function if errorlevel 1 exit /b 1

Due to a missing new line, the error code returned by the function
is taking as another argument.

Changed to use standard '||' to exit if the errorlevel greater than zero.

  call :function || exit /b 1

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D130154
2022-07-20 13:22:10 +01:00
Nicolai Hähnle 5a4033c367 update-test-checks: safely handle tests with #if's
There is at least one Clang test (clang/test/CodeGen/arm_acle.c) which
has functions guarded by #if's that cause those functions to be compiled
only for a subset of RUN lines.

This results in a case where one RUN line has a body for the function
and another doesn't. Treat this case as a conflict for any prefixes that
the two RUN lines have in common.

This change exposed a bug where functions with '$' in the name weren't
properly recognized in ARM assembly (despite there being a test case
that was supposed to catch the problem!). This bug is fixed as well.

Differential Revision: https://reviews.llvm.org/D130089
2022-07-20 11:23:49 +02:00
Carlos Alberto Enciso c96ddd7019 Update the Windows packaging script.
As discussed on:
https://discourse.llvm.org/t/build-llvm-release-bat-script-options/63146/6

- In stage1 use the following binaries from stage0:
  lld-link, llvm-lib and llvm-windres

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D130067
2022-07-20 07:15:13 +01:00
LLVM GN Syncbot 5b0e96a8ff [gn build] Port 5dd19ada57 2022-07-20 03:15:57 +00:00
LLVM GN Syncbot 41f6a21025 [gn build] Port 1b1f1c7786 2022-07-19 22:44:22 +00:00
Nico Weber 374db8fc2e [gn build] (manually) port c91ce94144 (HTMLForestResources.inc) 2022-07-19 16:51:30 -04:00
Nico Weber 6d7455bbcb [gn build] fix typo 2022-07-19 14:23:46 -04:00
Nico Weber 6bf817cf34 [gn build] (manually) port e939bf67e3 2022-07-19 14:23:26 -04:00
Yusra Syeda 6fb27bc2e3 [SystemZ][z/OS] Introduce CCAssignToRegAndStack to calling convention
Differential Revision: https://reviews.llvm.org/D127328
2022-07-19 13:55:25 -04:00
Nico Weber 2d8c74cf49 [gn build] (manually) port 4539b44148 (llvm-dwarfutil) 2022-07-19 11:50:54 -04:00
Nico Weber c46c1a24a4 [gn build] (manually) port 8711fcae27 2022-07-19 11:38:00 -04:00
LLVM GN Syncbot 5114e2c50a [gn build] Port 8ed702b83f 2022-07-19 06:42:58 +00:00
Carlos Alberto Enciso 83e922562f Update the Windows packaging script.
As discussed on:
  https://discourse.llvm.org/t/build-llvm-release-bat-script-options/63146/6

- Refactor the build/test steps into functions.
- Exit the script if the build directory already exists.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D129559
2022-07-19 05:55:14 +01:00
LLVM GN Syncbot 42fdb487d7 [gn build] Port e24b390dbc 2022-07-18 17:45:05 +00:00
LLVM GN Syncbot 81a059a8d4 [gn build] Port 0f9d9edd24 2022-07-18 17:45:04 +00:00
LLVM GN Syncbot 429de1437d [gn build] Port 4b03ad6506 2022-07-18 12:40:10 +00:00
Nico Weber a586c15bbb [gn build] (manually) port 70914aa631 2022-07-18 08:06:57 -04:00
Valentin Clement 048aaab194
[flang][openacc] Use TableGen to generate the clause parser
This patch introduce an automatic generation of the clause parser from the TableGen
information.

New information can be stored directly in the TableGen file:
- The different aliases that a clause support.
- prefix before a value.
- whether a prefix is optional or not.

Makes it easier to add new clauses and also avoid some error (`write` clause incorrect until now).

This patch is updating only the OpenACC part. A patch with a modification of the OpenMP clause parser will follow.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D106968
2022-07-18 09:26:57 +02:00
Yuanfang Chen e97b2d4138 [lit][unit] add a test for sanitizer-only test failures
Follow-up for 6b02c53936.
2022-07-15 18:36:38 -07:00
LLVM GN Syncbot c9e8c690ea [gn build] Port 4162aefad1 2022-07-16 00:15:08 +00:00
Yuanfang Chen ea7968bf76 [lit][test] explicitly use utf-8 encoding to write testing json file
Related test failure:
https://lab.llvm.org/buildbot/#/builders/178/builds/2527/steps/13/logs/FAIL__lit___googletest-timeout_py
2022-07-15 16:42:50 -07:00
Yuanfang Chen 6b02c53936 [lit][unit] make sure to include failed shard in test summary report
For sanitizer only failures, the tests all pass but still need to
put the shard in failed test summary.
2022-07-15 15:43:33 -07:00
Yuanfang Chen f32ccc2cca [lit] fix a bug in 4cd1c96d37
Only report failure for tests that actually runs.
2022-07-15 14:37:06 -07:00
Yuanfang Chen 4cd1c96d37 [reland][lit][unit] makes sure to print stderr when no test failures are found
In some situations, like running tests with sanitizers, all test
passes but the shard could still fail due to memory issues.

Relands 65769429c0
2022-07-15 13:26:30 -07:00
Yuanfang Chen 041bb94b9c Revert "[lit][unit] makes sure to print stderr when no test failures are found"
This reverts commit 65769429c0.

This patch is incomplete.
2022-07-15 13:26:30 -07:00
Yuanfang Chen 65769429c0 [lit][unit] makes sure to print stderr when no test failures are found
In some situations, like running tests with sanitizers, all test passes
but the shard could still fail due to memory issues.
2022-07-15 12:33:11 -07:00
Tom Stellard 51eaaa3092 github: Add a helpful message for issues without milestones
The /branch and /cherry-pick commands only work when an isssue has
a milestone, so give the user a helpful error message when they
try these commands on issue without a milestone.

Reviewed By: thieta, kwk

Differential Revision: https://reviews.llvm.org/D125744
2022-07-15 10:11:40 -07:00
LLVM GN Syncbot ca1cfa3f82 [gn build] Port 32d8d23cd0 2022-07-15 16:46:00 +00:00
LLVM GN Syncbot aff6a022a8 [gn build] Port 263dcf452f 2022-07-15 08:36:57 +00:00
LLVM GN Syncbot bc432c9634 [gn build] Port 7ced9fff95 2022-07-15 04:37:28 +00:00
LLVM GN Syncbot 426d7bc130 [gn build] Port a83004f4ff 2022-07-14 19:46:00 +00:00
LLVM GN Syncbot 728217cd60 [gn build] Port 1a8468ba61 2022-07-14 17:28:37 +00:00
Hans Wennborg 77350198d3 Pass -DLIBXML2_INCLUDE_DIRS in the Windows release package script
As pointed out on https://reviews.llvm.org/D129571 this seems to
be the preferred variable to set.
2022-07-14 19:21:51 +02:00
LLVM GN Syncbot fdcd95994d [gn build] Port 3e9cc543f2 2022-07-14 11:06:28 +00:00
David Green 3e0bf1c7a9 [CodeGen] Move instruction predicate verification to emitInstruction
D25618 added a method to verify the instruction predicates for an
emitted instruction, through verifyInstructionPredicates added into
<Target>MCCodeEmitter::encodeInstruction. This is a very useful idea,
but the implementation inside MCCodeEmitter made it only fire for object
files, not assembly which most of the llvm test suite uses.

This patch moves the code into the <Target>_MC::verifyInstructionPredicates
method, inside the InstrInfo.  The allows it to be called from other
places, such as in this patch where it is called from the
<Target>AsmPrinter::emitInstruction methods which should trigger for
both assembly and object files. It can also be called from other places
such as verifyInstruction, but that is not done here (it tends to catch
errors earlier, but in reality just shows all the mir tests that have
incorrect feature predicates). The interface was also simplified
slightly, moving computeAvailableFeatures into the function so that it
does not need to be called externally.

The ARM, AMDGPU (but not R600), AVR, Mips and X86 backends all currently
show errors in the test-suite, so have been disabled with FIXME
comments.

Recommitted with some fixes for the leftover MCII variables in release
builds.

Differential Revision: https://reviews.llvm.org/D129506
2022-07-14 09:33:28 +01:00
Kazu Hirata 611ffcf4e4 [llvm] Use value instead of getValue (NFC) 2022-07-13 23:11:56 -07:00
Nico Weber e8388b7542 [gn build] fix building lldb after b5ccfeb6bf 2022-07-13 21:05:36 -04:00
Nico Weber 8b391cd908 [gn build] (semi-manually) Port 5acd471698 2022-07-13 18:37:00 -04:00
LLVM GN Syncbot 50c627b790 [gn build] Port 3ce78cbd23 2022-07-13 20:38:59 +00:00
Ben Langmuir 9044224575 [test] Fix macOS triple check
While the inferred host triple for macOS is something like
<arch>-apple-darwin, it's also valid to have <arch>-apple-macos.
Currently that globally changes whether an SDKROOT is provided in tests,
so make this check more portable.

Differential Revision: https://reviews.llvm.org/D129684
2022-07-13 13:36:16 -07:00
LLVM GN Syncbot cc35aa0d22 [gn build] Port a5c0638dec 2022-07-13 20:25:34 +00:00
Roman Rusyaev 9f70869545 Change shebang from python to python3 in update_cc_test_checks.py
All update_test_checks.py scripts were updated in this revision
https://reviews.llvm.org/D70730 except for update_cc_test_checks.py.

Reviewed By: barannikov88

Differential Revision: https://reviews.llvm.org/D129590
2022-07-13 13:02:54 -07:00
LLVM GN Syncbot 685a3d7b8d [gn build] Port 101d1e9b3c 2022-07-13 18:31:08 +00:00
David Green 95252133e1 Revert "Move instruction predicate verification to emitInstruction"
This reverts commit e2fb8c0f4b as it does
not build for Release builds, and some buildbots are giving more warning
than I saw locally. Reverting to fix those issues.
2022-07-13 13:28:11 +01:00
David Green e2fb8c0f4b Move instruction predicate verification to emitInstruction
D25618 added a method to verify the instruction predicates for an
emitted instruction, through verifyInstructionPredicates added into
<Target>MCCodeEmitter::encodeInstruction. This is a very useful idea,
but the implementation inside MCCodeEmitter made it only fire for object
files, not assembly which most of the llvm test suite uses.

This patch moves the code into the <Target>_MC::verifyInstructionPredicates
method, inside the InstrInfo.  The allows it to be called from other
places, such as in this patch where it is called from the
<Target>AsmPrinter::emitInstruction methods which should trigger for
both assembly and object files. It can also be called from other places
such as verifyInstruction, but that is not done here (it tends to catch
errors earlier, but in reality just shows all the mir tests that have
incorrect feature predicates). The interface was also simplified
slightly, moving computeAvailableFeatures into the function so that it
does not need to be called externally.

The ARM, AMDGPU (but not R600), AVR, Mips and X86 backends all currently
show errors in the test-suite, so have been disabled with FIXME
comments.

Differential Revision: https://reviews.llvm.org/D129506
2022-07-13 12:53:32 +01:00
LLVM GN Syncbot 879164a3f1 [gn build] Port c9666d2339 2022-07-13 10:35:56 +00:00
Wei Yi Tee c9666d2339 [clang][dataflow] Generate readable form of boolean values.
Differential Revision: https://reviews.llvm.org/D129547
2022-07-13 10:35:17 +00:00
LLVM GN Syncbot 1032d34c42 [gn build] Port db995d72db 2022-07-12 18:54:07 +00:00
Hans Wennborg 145835caae Build Windows releases with libxml enabled, to unbreak llvm-mt
Recent CMake versions have started to prefer llvm-mt when using
clang-cl, which doesn't work at all when llvm-mt is built without
libxml which has been the case so far.

See https://github.com/llvm/llvm-project/issues/55817

Differential revision: https://reviews.llvm.org/D129571
2022-07-12 20:14:00 +02:00
Zequan Wu b74a01a80b Reland "[LLDB][NFC] Decouple dwarf location table from DWARFExpression."
This reland 227dffd0b6 and
562c3467a6 with failed api tests fixed by keeping
function base file addres in DWARFExpressionList.
2022-07-12 10:54:24 -07:00
Nico Weber 2fe4a7e2de [gn build] (manually) port dc63ad8878 2022-07-12 12:36:48 -04:00
LLVM GN Syncbot db83a32c9e [gn build] Port 2240d72f15 2022-07-12 16:26:51 +00:00
LLVM GN Syncbot a4b6c283e1 [gn build] Port 73ebcabff2 2022-07-12 09:49:13 +00:00
LLVM GN Syncbot 0fbb0ca810 [gn build] Port d6d0dc1f45 2022-07-12 07:12:21 +00:00
Carlos Alberto Enciso df7c5772a2 Update the Windows packaging script.
As discussed on:
  https://discourse.llvm.org/t/build-llvm-release-bat-script-options/63146/6

Latest 7-zip versions (21.x) require administrator permissions
to create symbolic links.

Check if any of the following conditions is true:
- Version of 7-zip is 20.x or older
- Script is running with administrator permissions

Reviewed By: hans, thieta

Differential Revision: https://reviews.llvm.org/D129263
2022-07-12 06:37:29 +01:00
David Blaikie d81a8759c9 Update Optional gdb pretty printer for 556bcc7821 2022-07-12 01:12:33 +00:00
Nico Weber 77ccc480ba [gn build] (manually) port ce233e7146 2022-07-11 20:14:26 -04:00
Nick Desaulniers ef4beb8bc7 [llvm][docs] commit phabricator patch
Users upgrading to PHP 8.1 might start observing failures with `arc`.
Commit @ychen's suggestions as a patch in tree that can be applied since
arcanist is no longer accepting patches.

Also, remove the suggestion to apply an external patch updating CA
certs. It seems that this was fixed in upstream arcanist before they
stopped accepting patches. Compare
e3659d43d8
vs
13d3a3c3b1

Link: https://secure.phabricator.com/book/phabcontrib/article/contributing_code/

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D129232
2022-07-11 12:33:57 -07:00
LLVM GN Syncbot dda208c51e [gn build] Port 7d426a392f 2022-07-11 19:17:30 +00:00
Prabhdeep Singh Soni ac892c70a4 [OMPIRBuilder] Add support for simdlen clause
This patch adds OMPIRBuilder support for the simdlen clause for the
simd directive. It uses the simdlen support in OpenMPIRBuilder when
it is enabled in Clang. Simdlen is lowered by OpenMPIRBuilder by
generating the loop.vectorize.width metadata.

Reviewed By: jdoerfert, Meinersbur

Differential Revision: https://reviews.llvm.org/D129149
2022-07-11 13:29:06 -04:00
LLVM GN Syncbot de5d7bf975 [gn build] Port c8a28ae214 2022-07-11 16:57:49 +00:00
LLVM GN Syncbot f1867af580 [gn build] Port 69fcf4fd5a 2022-07-11 16:19:49 +00:00
LLVM GN Syncbot ffecf916d5 [gn build] Port 96b674f23c 2022-07-11 06:02:59 +00:00
LLVM GN Syncbot 73e68266d9 [gn build] Port c945bd0da6 2022-07-08 20:59:26 +00:00
LLVM GN Syncbot 46e984b0bf [gn build] Port 23c7328bad 2022-07-08 18:34:42 +00:00
Arthur Eubanks 095a493cea [gn build] Manually port d2ead9e3 2022-07-08 09:49:21 -07:00
Matt Arsenault 1ee6ce9bad GlobalISel: Allow forming atomic/volatile G_ZEXTLOAD
SelectionDAG has a target hook, getExtendForAtomicOps, which it uses
in the computeKnownBits implementation for ATOMIC_LOAD. This is pretty
ugly (as is having a separate load opcode for atomics), so instead
allow making use of atomic zextload. Enable this for AArch64 since the
DAG path defaults in to the zext behavior.

The tablegen changes are pretty ugly, but partially helps migrate
SelectionDAG from using ISD::ATOMIC_LOAD to regular ISD::LOAD with
atomic memory operands. For now the DAG emitter will emit matchers for
patterns which the DAG will not produce.

I'm still a bit confused by the intent of the isLoad/isStore/isAtomic
bits. The DAG implementation rejects trying to use any of these in
combination. For now I've opted to make the isLoad checks also check
isAtomic, although I think having isLoad and isAtomic set on these
makes most sense.
2022-07-08 11:55:08 -04:00
LLVM GN Syncbot fad7d53a5f [gn build] Port 1cdec6c96e 2022-07-08 12:39:02 +00:00
Louis Dionne d2e86866be [libc++] Re-apply the use of ABI tags to provide per-TU insulation
This commit re-applies 9ee97ce3b8, which was reverted by 61d417ce
because it broke the LLDB data formatter tests. It also re-applies
6148c79a (the manual GN change associated to it).

Differential Revision: https://reviews.llvm.org/D127444
2022-07-08 08:38:36 -04:00
Nikita Popov 9b37d48dd9 [UpdateTestChecks] Remove outdated help text
Manually modifying the result of update_test_checks.py is discouraged,
we prefer unmodified check lines where possible. The output is also
considered authoritative nowadays, at least for tests targeting core
middle-end components, where not using it is an automatic review
rejection.

Differential Revision: https://reviews.llvm.org/D129259
2022-07-08 09:19:16 +02:00
Abinav Puthan Purayil c42fe5bd7a [GlobalISel][SelectionDAG] Implement the HasNoUse builtin predicate
This change introduces the HasNoUse builtin predicate in PatFrags that
checks for the absence of use of the first result operand.
GlobalISelEmitter will allow source PatFrags with this predicate to be
matched with destination instructions with empty outs. This predicate is
required for selecting the no-return variant of atomic instructions in
AMDGPU.

Differential Revision: https://reviews.llvm.org/D125212
2022-07-08 09:47:33 +05:30
Jonas Devlieghere e4c5bca597
Revert "[LLDB][NFC] Decouple dwarf location table from DWARFExpression."
This reverts commit 227dffd0b6 and its
follow up 562c3467a6 because it breaks a
bunch of tests on GreenDragon:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/45155/
2022-07-07 16:36:10 -07:00
Nico Weber b2998143a7 [gn build/mac] Use -mmacos-version-min instead of -mmacosx-version-min
The two flags do the same thing, but the OS is called macOS these days.

(The new flag is 5 years old: https://reviews.llvm.org/D32796)

No behavior change.
2022-07-07 23:56:37 +02:00
Nico Weber 5812f9f10a [gn build] (manually) port 36f01909a0 (llvm-debuginfod)
LLVM_ENABLE_HTTPLIB is always off in the GN build. This means the
test for this won't run, so it's not really necessary to add the
llvm-debuginfod binary (and the binary might not even be that
interesting with LLVM_ENABLE_HTTPLIB off). But maybe we want
to add support for LLVM_ENABLE_HTTPLIB at some point, so let's
add the binary too. (Usually we wouldn't, since it's not needed
to get tests to pass.)
2022-07-07 23:31:33 +02:00
Krzysztof Parzyszek 534a2bf99e [TableGen] Rewrite type set intersection in type inference
The previous code had a bug when dealing with matching iPTR against a
set of integer types. It was trying to handle it all in a compact way,
but that implementation couldn't be modified to correct the problem in
a simple way. The code wasn't long, and it was easier to rewrite it.

The actual issue was that non-scalar-integer types were considered when
matching against iPTR. For example {iPTR} intersected with {i32 f32}
was {iPTR} (due to multiple types in the other set), but should be just
{i32}, because i32 is the only integer scalar in the other set.
2022-07-07 12:49:28 -07:00
Zequan Wu 227dffd0b6 [LLDB][NFC] Decouple dwarf location table from DWARFExpression.
Differential Revision: https://reviews.llvm.org/D125509
2022-07-07 10:26:58 -07:00
Krzysztof Parzyszek 8cadfdf8e7 [TableGen] Fix CodeGenRegisterClass::hasType for simple-type arguments
The `hasType` function may be given a type that has been modified from
its original form (in particular made "simple", due to a predicate).
Make sure that such a type is still recognized as associated with a
register class, if the class contains it under any hw-mode.
This is somewhat optimistic though, since there is no information as
to where that simple type originated from.
2022-07-07 09:37:15 -07:00
Krzysztof Parzyszek 91fe9e6ed3 [TableGen] Move printing to stream directly to MachineValueTypeSet 2022-07-07 09:28:28 -07:00
Nico Weber 636bc544cc Revert "[gn build] (manually) port 9ee97ce3b8305c5"
This reverts commit 6148c79a64.
9ee97ce3b8 was reverted in 61d417ceff.
2022-07-07 18:11:15 +02:00
LLVM GN Syncbot d1c33c60f3 [gn build] Port 8366e21ef1 2022-07-06 19:34:19 +00:00
Nico Weber 6148c79a64 [gn build] (manually) port 9ee97ce3b8 2022-07-06 21:33:45 +02:00
Nico Weber 8f83f8f999 [gn build] (manually) port 484b1aa611 2022-07-06 21:23:17 +02:00
Nico Weber 67d82b50cf [gn build] (manually) port e0b5208650 2022-07-06 21:19:59 +02:00
LLVM GN Syncbot 8a668671a0 [gn build] Port f8cbe3cdf0 2022-07-06 17:46:18 +00:00
LLVM GN Syncbot f8e026457e [gn build] Port 08e4fe6c61 2022-07-06 14:24:15 +00:00
wanglei 53d5aceb70 [LoongArch] Add LoongArch support to update_llc_test_checks
Add LoongArch assembly scrubbing and triple support to update_llc_test_checks.

Depends on D128432

Reviewed By: MaskRay, xen0n

Differential Revision: https://reviews.llvm.org/D128433
2022-07-06 17:19:33 +08:00
LLVM GN Syncbot 6bb17d7fac [gn build] Port 05130a6ba7 2022-07-05 21:04:41 +00:00
LLVM GN Syncbot 7b1ff859fe [gn build] Port b8dbc6ffea 2022-07-05 16:35:01 +00:00
LLVM GN Syncbot cccc03df3c [gn build] Port d1af09ad96 2022-07-05 13:57:20 +00:00
Peter Waller 220366d5b5 [gn build] (manually) port 6b3956e123
Differential Revision: https://reviews.llvm.org/D129080
2022-07-05 09:12:30 +00:00
Nico Weber b6ad8cbb35 [gn build] (manually) port dfb77f2e99 2022-07-05 10:59:41 +02:00
LLVM GN Syncbot 3912928aa8 [gn build] Port 25607d143d 2022-07-04 12:44:50 +00:00
LLVM GN Syncbot e1f61d8642 [gn build] Port 2aea8af251 2022-07-03 16:05:49 +00:00
David Green d100a30a54 [AArch64] Regenerate more tests. NFC
Also includes some adjustments for asm.py to handle updating more cases
successfully.
2022-07-03 15:49:16 +01:00
LLVM GN Syncbot 0dbf0ba033 [gn build] Port d2d8b0aa4f 2022-07-02 01:13:41 +00:00
LLVM GN Syncbot 9c4d301ddd [gn build] Port 228c8f9cc0 2022-07-02 01:13:40 +00:00
LLVM GN Syncbot 17c8119564 [gn build] Port 94c7b89fe5 2022-07-01 23:35:58 +00:00
Arthur Eubanks 3d7aeb3c73 [gn build] Manually port 43dc3190 2022-07-01 11:39:04 -07:00
LLVM GN Syncbot 372a26acfd [gn build] Port 554aea52d7 2022-07-01 17:14:07 +00:00
Nico Weber 12109a3b40 [gn build] (manually) port fe66aebd75 (PseudoCLI) 2022-07-01 10:45:35 +02:00
Nico Weber bacb56cdc5 [gn build] (manually) port cd2292ef82 (PseudoCXX)
This target will be used in the next commit.
2022-07-01 10:45:35 +02:00
LLVM GN Syncbot acab4b69a4 [gn build] Port 0f94d2b385 2022-06-30 21:13:26 +00:00
Fangrui Song 45f3a5aae7 [AArch64] Add target feature "all"
This is used by disassemblers: `llvm-mc -disassemble -mattr=` and `llvm-objdump --mattr=`.
The main use case is for llvm-objdump to disassemble all known instructions
(D128030).

In user-facing tools, "all" is intentionally not supported in producers:
integrated assembler (`.arch_extension all`), clang -march (`-march=armv9.3a+all`).
Due to the code structure, `llvm-mc -mattr=+all` `llc -mattr=+all` are not
rejected (they are internal tool). Add `llvm/test/CodeGen/AArch64/mattr-all.ll`
to catch behavior changes.

AArch64SysReg::SysReg::haveFeatures: check `FeatureAll` to print
`AArch64SysReg::SysReg::AltName` for some system registers (e.g. `ERRIDR_EL1, RNDR`).

AArch64.td: add `AssemblerPredicateWithAll` to additionally test `FeatureAll`.
Change all `AssemblerPredicate` (except `UseNegativeImmediates`) to `AssemblerPredicateWithAll`.

utils/TableGen/{DecoderEmitter,SubtargetFeatureInfo}.cpp: support arbitrarily
nested all_of, any_of, and not.

Note: A predicate supports all_of, any_of, and not. For a target (though
currently not for AArch64) an encoding may be disassembled differently with
different target features.
Note: AArch64MCCodeEmitter::computeAvailableFeatures is not available to
the disassembler.

Reviewed By: peter.smith, lenary

Differential Revision: https://reviews.llvm.org/D128029
2022-06-30 10:37:58 -07:00
LLVM GN Syncbot 7903b35a71 [gn build] Port a591c7ca0d 2022-06-30 13:27:00 +00:00
LLVM GN Syncbot 364673dbe7 [gn build] Port cfb7ffdec0 2022-06-30 10:11:58 +00:00
LLVM GN Syncbot a5a3b5178d [gn build] Port 72cd6b6c83 2022-06-30 10:11:58 +00:00
Sam Estep 6a97be27a1 [clang][dataflow] Delete SourceLocationsLattice
This patch deletes the now-unused `SourceLocationsLattice` class, along with its containing files and surrounding helper functions and tests.

Reviewed By: xazax.hun, ymandel, sgatev, gribozavr2

Differential Revision: https://reviews.llvm.org/D128448
2022-06-29 20:14:07 +00:00
Zequan Wu bed15f16d6 [gn] Manual port a7d6c3effe 2022-06-29 13:11:45 -07:00
Amir Ayupov a97a79da02 [TableGen] Add a knob for MCOperandInfo expansion in gen-instr-info
Control the MCOperandInfo expansion with `-instr-info-expand-mi-operand-info`.
For X86, this would make it possible to see memory operand type e.g.:
```
    /* MOV8rm */
    GR8, i8mem,
    /* MOV8rm_NOREX */
    GR8_NOREX, i8mem_NOREX,
```

The intended use is a follow-up diff D126116 (`getMemOperandSize`).

Reviewed By: skan

Differential Revision: https://reviews.llvm.org/D127932
2022-06-29 00:59:16 -07:00
Johannes Doerfert b0ce93226c [UpdateTestChecks] Handle prefix reuse for appended check lines
When we appended check lines at the end we could not share prefixes
before. This patch should make it possible and allow us to reduce
some check line counts (especially for Clang/OpenMP tests).

See also: https://reviews.llvm.org/D128686

Differential Revision: https://reviews.llvm.org/D128684
2022-06-28 17:18:12 -05:00
LLVM GN Syncbot 906f52f2c4 [gn build] Port 77df3be0de 2022-06-28 21:25:13 +00:00
Yuanfang Chen 9d37895a71 [lit][test] relaxed GTEST_TOTAL_SHARDS checking for some googletests (2)
Missed this in 14d3021c10
2022-06-28 10:32:22 -07:00
LLVM GN Syncbot 403466860b [gn build] Port 03975b7f0e 2022-06-28 09:52:16 +00:00
Yuanfang Chen 14d3021c10 [lit][test] relaxed GTEST_TOTAL_SHARDS checking for some googletests
For machines with a small number of cores, GTEST_TOTAL_SHARDS may be
lower than 6.
2022-06-27 16:17:08 -07:00
LLVM GN Syncbot 03859994b3 [gn build] Port eb5af0acf0 2022-06-27 17:44:48 +00:00
Aaron Ballman 92d31a7cdf Silence some format specifier warnings
This solves a format specifier warning for char32_t being converted to
an unsigned integer type, and multiple format specifier warnings for
size_t being converted to long.
2022-06-27 11:54:12 -04:00
LLVM GN Syncbot e84674f7ac [gn build] Port 633d1d0df7 2022-06-27 12:35:34 +00:00
Kazu Hirata d08f34b592 [llvm] Don't use Optional::hasValue (NFC)
This patch replaces Optional::hasValue with the implicit cast to bool
in conditionals only.
2022-06-26 18:31:51 -07:00
Kazu Hirata a7938c74f1 [llvm] Don't use Optional::hasValue (NFC)
This patch replaces Optional::hasValue with the implicit cast to bool
in conditionals only.
2022-06-25 21:42:52 -07:00
LLVM GN Syncbot 475d722ace [gn build] Port 9ed2e68c9a 2022-06-26 02:21:47 +00:00
Kazu Hirata 3b7c3a654c Revert "Don't use Optional::hasValue (NFC)"
This reverts commit aa8feeefd3.
2022-06-25 11:56:50 -07:00
Kazu Hirata aa8feeefd3 Don't use Optional::hasValue (NFC) 2022-06-25 11:55:57 -07:00
LLVM GN Syncbot 303b214699 [gn build] Port c92056d038 2022-06-25 17:03:46 +00:00
Corentin Jabot c92056d038 [Clang][C++23] P2071 Named universal character escapes
Implements [[ https://wg21.link/p2071r1  | P2071 Named Universal Character Escapes ]] - as an extension in all language mode, the patch  not warn in c++23 mode will be done later once this paper is plenary approved (in July).

We add

 * A code generator that transforms `UnicodeData.txt` and `NameAliases.txt` to a space efficient data structure that can be queried in `O(NameLength)`
 * A set of functions in `Unicode.h` to query that data, including

   * A function to find an exact match of a given Unicode character name
   * A function to perform a loose (ignoring case, space, underscore, medial hyphen) matching
   * A function returning the best matching codepoint for a given string per edit distance

 * Support of `\N{}` escape sequences in String and character Literals, with loose and typos diagnostics/fixits
 * Support of `\N{}` as UCN with loose matching diagnostics/fixits.

Loose matching is considered an error to match closely the semantics of P2071.

The generated data contributes to 280kB of data to the binaries.

`UnicodeData.txt` and `NameAliases.txt`  are not committed to the repository in this patch, and regenerating the data is a manual process.

Reviewed By: tahonermann

Differential Revision: https://reviews.llvm.org/D123064
2022-06-25 19:03:33 +02:00
LLVM GN Syncbot 73709fe09c [gn build] Port b847692ed8 2022-06-25 01:03:12 +00:00
Nico Weber 012412d192 [gn build] (manually) port 97579dcc6d (LLVMMCATests)
The CMake code makes a number of imho strange choices. I pointed those
out on https://reviews.llvm.org/D127083.

The GN build mirrors the CMake build's choices for now.
2022-06-24 21:02:35 -04:00
LLVM GN Syncbot 05558c0692 [gn build] Port 7a3918b540 2022-06-24 11:33:41 +00:00
LLVM GN Syncbot f09dad0c85 [gn build] Port 6546fdbe36 2022-06-24 11:18:35 +00:00
Fangrui Song 0ecea5b2d3 [gdb-scripts] Fix PointerIntPairPrinter.to_string after D127969 2022-06-24 00:36:26 -07:00
LLVM GN Syncbot 57b0d940d5 [gn build] Port 4045b62d4c 2022-06-23 15:49:40 +00:00
LLVM GN Syncbot af41955a49 [gn build] Port 2c3bbac0c7 2022-06-23 11:53:18 +00:00
Charlie Barto aa5492e7b2 [GlobalISel][TableGen] Qualify calls to llvm::format that have ::std:: types as parameters
... to avoid ambiguity in overload resolution when ADL finds `std::format`.

Differential Revision: https://reviews.llvm.org/D119213
2022-06-22 21:37:40 -07:00
LLVM GN Syncbot 1cb8c87c13 [gn build] Port 2962f9df7c 2022-06-23 02:41:57 +00:00
Guillaume Gomez d0a4450ecd Rename GCCBuiltin into ClangBuiltin
This patch is needed because developers expect "GCCBuiltin" items to be the GCC intrinsics equivalent and not the Clang internals.

Reviewed By: #libc_abi, RKSimon, xbolva00

Differential Revision: https://reviews.llvm.org/D127460
2022-06-22 19:49:20 +01:00
Nico Weber 1af1e91bba [gn build] Port c3574ef739 slightly better
The name of the host binary changed from make_confusable_table to
make-confusable-table, so match that.
2022-06-22 10:44:09 -04:00
Nico Weber 721875db2b Reland "[gn build] (manually) port b94db7ed7e (Confusables.inc)"
b94db7ed7e relanded in c3574ef739.

This relands commit 180bae08a0, rebased across the new version of
commit c3574ef739, and rebased across 10f7255d32.
2022-06-22 10:38:14 -04:00
LLVM GN Syncbot bc74bca536 [gn build] Port 77ad77c071 2022-06-22 05:44:50 +00:00
LLVM GN Syncbot 8b8d126598 [gn build] Port 79fbee3cc5 2022-06-21 21:53:32 +00:00
Krzysztof Drewniak 7c5c4e781b [gdb-scripts] Add to_string methods to printer implementations
Some GDB versions require all prettyprinter classes to define to_string.
This commit adds these definitions.

Reviewed By: csigg

Differential Revision: https://reviews.llvm.org/D127969
2022-06-21 16:09:30 +00:00
LLVM GN Syncbot beb8580544 [gn build] Port 6a4056ab2a 2022-06-21 14:01:32 +00:00
LLVM GN Syncbot 6904309c3a [gn build] Port 6ede652050 2022-06-21 11:45:40 +00:00
LLVM GN Syncbot b89f483064 [gn build] Port a71fe49bb5 2022-06-21 02:57:40 +00:00
Amir Ayupov 31e2bba155 [TableGen] Emit instruction name in INSTRINFO_OPERAND_TYPE
Make Offsets and OpcodeOperandTypes tables human-readable by printing the
instruction name before the operand list.

In effect, this makes debugging generated `getOperandType` possible.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D127931
2022-06-20 13:15:52 -07:00
Amir Ayupov 0198448a4b Revert "[TableGen] Emit instruction name in INSTRINFO_OPERAND_TYPE"
This reverts commit 4cd416193c.
2022-06-20 12:42:08 -07:00
Amir Ayupov 4cd416193c [TableGen] Emit instruction name in INSTRINFO_OPERAND_TYPE
Make Offsets and OpcodeOperandTypes tables human-readable by printing the
instruction name before the operand list.

In effect, this makes debugging generated `getOperandType` possible.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D127931
2022-06-20 12:24:01 -07:00
Kazu Hirata 5413bf1bac Don't use Optional::hasValue (NFC) 2022-06-20 11:33:56 -07:00
Kazu Hirata e0e687a615 [llvm] Don't use Optional::hasValue (NFC) 2022-06-20 10:38:12 -07:00
LLVM GN Syncbot 809999aabb [gn build] Port 60f3b07118 2022-06-20 08:23:18 +00:00
Amir Ayupov c0128549b0 [TableGen][X86] Add Size field to X86MemOperand class
Set Size appropriately in operand definitions and query it for dumping memory
operand size table `getMemOperandSize` (follow-up use D126116) and
`X86Disassembler::getMemOperandSize`.

Excerpt from a produced `getMemOperandSize` table for X86:

```
static int getMemOperandSize(int OpType) {
  switch (OpType) {
  default: return 0;
  case OpTypes::i8mem:
  case OpTypes::i8mem_NOREX:
    return 8;

  case OpTypes::f16mem:
  case OpTypes::i16mem:
    return 16;

  case OpTypes::f32mem:
  case OpTypes::i32mem:
    return 32;
...
```

Reviewed By: skan, pengfei

Differential Revision: https://reviews.llvm.org/D127787
2022-06-19 11:46:56 -07:00
Kazu Hirata 129b531c9c [llvm] Use value_or instead of getValueOr (NFC) 2022-06-18 23:07:11 -07:00
Kazu Hirata 437f960062 [llvm] Call *set::insert without checking membership first (NFC) 2022-06-18 10:22:05 -07:00
Kazu Hirata b254d67160 [llvm] Call *set::insert without checking membership first (NFC) 2022-06-18 08:32:54 -07:00
LLVM GN Syncbot 7022e6d0f2 [gn build] Port 3adc908b26 2022-06-18 02:23:50 +00:00
Nico Weber 527395bd10 [gn build] (manually) port 2040b6df0a (DebugInfoSymbolizerTests) 2022-06-17 13:37:11 -04:00
LLVM GN Syncbot fd5a26e610 [gn build] Port 971e9c80e9 2022-06-17 17:10:15 +00:00
Nico Weber c2bb2e5973 [gn build] (manually) port 7cca33b40f
Not really needed for anything as far as I can tell (?),
more for completeness.
2022-06-17 11:51:10 -04:00
Nico Weber 0d16d9bff8 [gn build] (semi-manually) port 232bd331cb 2022-06-17 08:35:51 -04:00
Xiang Li 0d2dde20be [TableGen][DirectX] generate DXIL operation table with TableGen.
Add more feature to tableGen backend gen-dxil-operation.

It will generate getOpCodeProperty, getOpCodeClassName and getOpCodeName when build DirectX target.
Each of these functions has a table which generate based on DXIL operations.

These generated functions will replace the manually written functions which used for query DXIL operation information.

Reviewed By: bogner

Differential Revision: https://reviews.llvm.org/D125520
2022-06-16 23:25:57 -07:00
LLVM GN Syncbot 6f1a7eb9e7 [gn build] Port eea11e7369 2022-06-17 00:40:13 +00:00
LLVM GN Syncbot 21f557e13a [gn build] Port ff3989e6ae 2022-06-16 22:31:40 +00:00
LLVM GN Syncbot 8eefbd2a57 [gn build] Port 61fac2c370 2022-06-16 22:31:39 +00:00
Mitch Phillips 911841f717 Revert "[TableGen][DirectX] generate DXIL operation table with TableGen."
This reverts commit 46fcdf2364.

Reason: Broke the buildbots:
https://lab.llvm.org/buildbot/#/builders/77/builds/18671
2022-06-16 14:07:54 -07:00
Xiang Li 46fcdf2364 [TableGen][DirectX] generate DXIL operation table with TableGen.
Add more feature to tableGen backend gen-dxil-operation.

It will generate getOpCodeProperty, getOpCodeClassName and getOpCodeName when build DirectX target.
Each of these functions has a table which generate based on DXIL operations.

These generated functions will replace the manually written functions which used for query DXIL operation information.

Reviewed By: bogner

Differential Revision: https://reviews.llvm.org/D125520
2022-06-16 13:39:10 -07:00
LLVM GN Syncbot decb600b02 [gn build] Port 6ff49af33d 2022-06-16 20:34:45 +00:00
Craig Topper 3aa6ec619f [ValueTypes] Add types for nxv16bf16 and nxv32bf16.
This is needed by our downstream and makes bf16 and f16 have the
same set of scalable vector types.

Reviewed By: rui.zhang

Differential Revision: https://reviews.llvm.org/D127877
2022-06-15 23:00:53 -07:00
Xiang Li 264c09b732 [TableGen][DirectX] Add tableGen backend to generate map from llvm intrinsic to DXIL operation.
A new tableGen backend gen-dxil-intrinsic-map is added to generate map from llvm intrinsic to DXIL operation.

A new file "DXILIntrinsicMap.inc" will be generated when build DirectX target which include the map.

The generated map will replace the manually created map when find DXIL operation from llvm intrinsic.

Reviewed By: bogner

Differential Revision: https://reviews.llvm.org/D125519
2022-06-15 19:41:09 -07:00
Nico Weber 52554f7315 [gn build] Allow use_ubsan=true on mac and unbreak use_asan, use_tsan, use_ubsan
`use_ubsan=true` seems to Just Work on macOS, so allow it.

https://reviews.llvm.org/D122862 broke use_asan=true, use_tsan=true, and
use_ubsan=true builds on Linux too. This makes this go again by explicitly
disabling asan, tsan, and ubsan for the baremetal part of the build. See
discussion on https://reviews.llvm.org/D122862 for other possible approaches.

Differential Revision: https://reviews.llvm.org/D127906
2022-06-15 19:34:35 -04:00
Nico Weber 0083a02839 [gn build] Slighly nicer `gn args --list` output for is_debug and symbol_level 2022-06-15 19:24:32 -04:00
LLVM GN Syncbot ef44588202 [gn build] Port afd5a4f2dc 2022-06-15 21:57:03 +00:00
Arthur Eubanks bab0910f77 [gn build] Add missing BLAKE3 dependency 2022-06-15 13:16:40 -07:00
Nico Weber 794d080e2e [gn build] (semi-automatically) port fb34d531af 2022-06-15 07:42:40 -04:00
Nico Weber 650c0b6e39 [gn build] (semi-automatically) port 8bc0bb9564 2022-06-15 07:42:19 -04:00
LLVM GN Syncbot b5e9241eba [gn build] Port 48ebc1af29 2022-06-15 05:24:12 +00:00
LLVM GN Syncbot 1ca2730ca1 [gn build] Port 435897b41d 2022-06-15 00:32:13 +00:00
python3kgae 435897b41d [TableGen][DirectX] Add tableGen backend to generate DXIL operation for DirectX backend.
A new tableGen backend gen-dxil-enum is added to generate enum for DXIL operation and operation class.

A new file "DXILConstants.inc" will be generated when build DirectX target which include the enums.

More tableGen backends will be added to replace manually written table in DirectX backend.
The unused fields in dxil_inst will be used in future PR.

Reviewed By: bogner

Differential Revision: https://reviews.llvm.org/D125435
2022-06-14 17:31:58 -07:00
Peter Collingbourne 0e3c8bdd4b Revert "gn build: Add support for building the standalone ubsan runtime."
As well as followup commits.
Build is still failing on mac. I'll debug it locally.
http://45.33.8.238/macm1/37269/step_4.txt

This reverts commit ee21411107.
This reverts commit 6ef9af6386.
This reverts commit b49bd8e07f.
2022-06-13 14:06:14 -07:00
Peter Collingbourne ee21411107 gn build: Don't define an action for gen_version_script on mac/win.
Nothing should depend on the action on those platforms,
as they don't use version scripts.

Should fix mac build:
http://45.33.8.238/macm1/37264/step_4.txt
2022-06-13 13:54:57 -07:00
Peter Collingbourne 6ef9af6386 gn build: Disable ubsan build on mac/win.
Build failures:
http://45.33.8.238/macm1/37263/step_4.txt
http://45.33.8.238/win/60034/step_4.txt
2022-06-13 13:45:14 -07:00
Peter Collingbourne 7316b0d54c gn build: Add support for building the AArch64 LSE builtins.
Differential Revision: https://reviews.llvm.org/D127560
2022-06-13 13:15:29 -07:00
Peter Collingbourne b49bd8e07f gn build: Add support for building the standalone ubsan runtime.
Differential Revision: https://reviews.llvm.org/D127556
2022-06-13 13:15:28 -07:00
LLVM GN Syncbot be232979bc [gn build] Port ea9ff9fac3 2022-06-13 20:04:00 +00:00
LLVM GN Syncbot c39b76ae2e [gn build] Port 3abaefe64c 2022-06-13 19:41:30 +00:00
LLVM GN Syncbot 5a0ec6ff68 [gn build] Port e183bf8e15 2022-06-13 12:03:48 +00:00
LLVM GN Syncbot d59809de16 [gn build] Port 988682a389 2022-06-13 10:23:45 +00:00
Alex Brachet 98052b6463 Revert "[lit] Passthrough CLANG_MODULE_CACHE_PATH env var"
This reverts commit 6466c9abf3.
2022-06-12 03:01:08 +00:00
Alex Brachet 6466c9abf3 [lit] Passthrough CLANG_MODULE_CACHE_PATH env var
This environment variable can be set to control module
caching. It disables caching by setting the variable
empty. As such, it needs to be handled differently
from other environment variables here which are
assumed to not be empty.
2022-06-11 21:04:02 +00:00
Fangrui Song 62b3d8d10a [TableGen] const char *const x => const char x[] 2022-06-10 19:13:59 -07:00
Ivan Kosarev eccbe6d122 [TableGen][CodeEmitterGen] Do not crash on insufficient positional instruction operands.
Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D126288
2022-06-10 14:38:54 +01:00
LLVM GN Syncbot f90cbfe4fd [gn build] Port ff6d5dee71 2022-06-10 10:37:02 +00:00
LLVM GN Syncbot 9e931b3c57 [gn build] Port 1972d1e86a 2022-06-10 10:37:01 +00:00
Nico Weber ceef00d33d [gn build] (manually) port 6bc8163c79 2022-06-10 06:26:31 -04:00
Nico Weber f8144700eb [gn build] (manually) port 25c8a061c5 2022-06-09 18:07:14 -04:00
LLVM GN Syncbot 51d84737b5 [gn build] Port 976f37050d 2022-06-09 19:04:54 +00:00
Nico Weber 1efe354088 [gn build] (manually) port 4ff5e8184c
Fixes link of many binaries if RISCV is enabled but most other targets aren't.
2022-06-09 12:29:56 -04:00
Nico Weber f4da30ba68 [gn build] (manually) port 0e9a01dcac (libcxx module.modulemap gen) 2022-06-08 19:51:07 -04:00
LLVM GN Syncbot e21c1b4706 [gn build] Port 916e9052ba 2022-06-08 10:19:18 +00:00
LLVM GN Syncbot c6d6535a26 [gn build] Port 638b0fb4d6 2022-06-08 07:20:40 +00:00
Nico Weber 28c078e2c7 [gn build] (manually) port f3966eaf86 (_LIBCPP_ENABLE_DEBUG_MODE) 2022-06-07 18:13:13 -04:00
Reid Kleckner 570e76bb6c [config] Remove vestigial LLVM_VERSION_INFO
This has been superseded by the llvm/Support/VCSRevision.h header. So
far as I can tell, nothing in the CMake build sets LLVM_VERSION_INFO. It
was always undefined, and the ifdefs using it were dead. However, CMake
is very flexible, so it's possible that I missed some ways to set this
variable. One could, for example, probably pass -DLLVM_VERSION_INFO=x on
the command line and get that through to configure_file, or set the
variable in an obscure way (`set(${proj}_VERSION_INFO "x")`). I'm
reasonably confident that isn't happening, but I'd like a second
opinion.

Update the Bazel and gn builds accordingly.

Differential Revision: https://reviews.llvm.org/D126977
2022-06-07 11:36:26 -07:00
Reid Kleckner b1c7889f32 [config] Remove RETSIGTYPE from config.h.cmake, NFC
This doesn't need to be configurable. It was hardcoded to void in all
LLVM build systems.
2022-06-07 11:35:25 -07:00
Jay Foad 4561352f7b [CodeEmitter] Fix encoding wide instructions on big-endian hosts
For instructions wider than 64 bits the InstBits table is initialized in
64-bit chunks from APInt::getRawData, but it was being read with
LoadIntFromMemory which is byte-based.

Fix this by reading the table with the APInt constructor that takes an
ArrayRef to the raw data instead.

This is currently NFC for in-tree targets but fixes AMDGPU failures on
big-endian hosts that were caused by D126483 until it was reverted.

Differential Revision: https://reviews.llvm.org/D127195
2022-06-07 19:06:28 +01:00
LLVM GN Syncbot c39fdc84aa [gn build] Port 47c8ec811f 2022-06-07 14:38:58 +00:00
LLVM GN Syncbot 0b7291796d [gn build] Port b79b2b6772 2022-06-06 20:32:38 +00:00
LLVM GN Syncbot 51914d5a52 [gn build] Port 352c395fb6 2022-06-06 18:25:14 +00:00
LLVM GN Syncbot 0f5fc4c9a6 [gn build] Port 8171586176 2022-06-06 11:33:45 +00:00
Nico Weber 7ed089153c [gn build] port f06abbb393 a bit (create main() functions for GENERATE_DRIVER targets) 2022-06-06 06:28:52 -04:00
Nico Weber 460151e61d [gn build] set LLVM_TOOL_LLVM_DRIVER_BUILD to 0 for now 2022-06-06 05:52:37 -04:00
Peter Collingbourne a739f4d083 gn build: Fix build when not building the native target.
Differential Revision: https://reviews.llvm.org/D127068
2022-06-05 14:12:51 -07:00
Fangrui Song 557efc9a8b [llvm] Remove unneeded cl::ZeroOrMore for cl::opt options. NFC
Some cl::ZeroOrMore were added to avoid the `may only occur zero or one times!`
error. More were added due to cargo cult. Since the error has been removed,
cl::ZeroOrMore is unneeded.

Also remove cl::init(false) while touching the lines.
2022-06-03 21:59:05 -07:00
Sam McCall a43fef05d4 [pseudo] rename pseudo-gen -> clang-pseudo-gen. NFC
This name is not namespaced. Requested in D126717

Differential Revision: https://reviews.llvm.org/D126725
2022-06-03 20:45:48 +02:00