2366 Commits

Author SHA1 Message Date
Dmitry Chernenkov
872981bd23 [Bazel] Fix layering for libc 2024-10-29 14:34:51 +00:00
Dmitry Chernenkov
340cd4e631 [Bazel] fix for abc49cc19463970d5523d7d3332e4c1f83bc2ef7 2024-10-29 14:13:20 +00:00
Guillaume Chatelet
b1ede8fcb4
[reland][libc][bazel] Enable software prefetching for memcpy (#113886)
This will affect only Bazel configuration for now.
This is a reland of #108939 which has been reverted because of codegen
issues fixed by https://github.com/llvm/llvm-project/pull/113161.
2024-10-28 14:43:10 +01:00
Yijia Gu
d3c29e8d2f [mlir][test][bazel] add missing deps for TestPass 2024-10-25 10:24:31 -07:00
Benjamin Kramer
6854ad90e3 [bazel][lldb] "Fix" the build after b852fb1ec5fa15f0b913cc4988cbd09239b19904
b852fb1ec5fa15f0b913cc4988cbd09239b19904 split out ValueObject, but it's
still all a big pile of dependency spaghetti so just build it with Core.
2024-10-25 14:23:56 +02:00
NAKAMURA Takumi
20c59838d0 [Bazel][SystemZ] Update for #112975 2024-10-23 03:38:31 +00:00
Krasimir Georgiev
deecfa90c6
bazelbuild: adapt for commit b735c66da9 (#113302) 2024-10-22 13:59:59 +02:00
Michael Jones
6c4267fb17
[libcxx][libc] Hand in Hand PoC with from_chars (#91651)
Implements std::from_chars for float and double.

The implementation uses LLVM-libc to do the real parsing. Since this is
the first time libc++
uses LLVM-libc there is a bit of additional infrastructure code. The
patch is based on the
[RFC] Project Hand In Hand (LLVM-libc/libc++ code sharing)

https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701
2024-10-21 15:04:06 -07:00
Keith Smiley
28a2f57c98
[bazel] Pass --build_runfile_links=false (#113221)
This improves performance of doing a `bazel test @llvm-project//...` a
lot because previously every lit test would have some symlink tree
configured for it.
2024-10-21 14:01:29 -07:00
Keith Smiley
3903cb4695
[bazel] Use rules_python load statements (#113213)
With bazel 8.x these are strongly encouraged, and this disambiguates
which version of these rules we get for older versions. Specifically the
native.py_test was using the wrong version of py_test.
2024-10-21 13:19:21 -07:00
Yijia Gu
2c331b3571 [mlir][bazel] remove tab blank in OpenAccTransforms 2024-10-21 10:43:55 -07:00
Yijia Gu
ab07fc8320 [mlir][bazel] add missing dep in OpenAccTransforms 2024-10-21 10:41:12 -07:00
Krasimir Georgiev
df02bcc81d
bazelbuild: fix for commit d80b9cf713fd (#113153)
Fix for
d80b9cf713.

No functional changes intended.
2024-10-21 13:39:25 +02:00
Krasimir Georgiev
25b58c877c
bazelbuild: fix for commit 2ce10 (#113142)
bazelbuild: fix for
2ce10f0491.

No functional changes intended.
2024-10-21 13:08:49 +02:00
Benjamin Kramer
c7d1163554 [bazel] Port 7be4ab0a86f9a52f1b49dad5665617441ec24a2e 2024-10-18 12:28:15 +02:00
Benjamin Kramer
9ad4f05ef7 [bazel][lldb] Port 5f2cf99e146ce99d4e148038d9bdd012331b4821 2024-10-16 14:41:20 +02:00
Benjamin Kramer
8bb100b940 [bazel] Add missing dependencies for d4efc3e097f40afbe8ae275150f49bb08fc04572 2024-10-14 20:54:31 +02:00
Benjamin Kramer
b2cac3babd [bazel] Add missing dependency for 58d97034c9c149d175c66440d31f46e9dfd4b760 2024-10-13 12:58:36 +02:00
Jacques Pienaar
4c25a538d3
[mlir] Start rewrite tool (#77668)
Initial commit of a tool to help in textual rewrites of .mlir files.
This tool builds of of AsmParserState and is rather simple. Took some
inspiration from when I used clang's AST rewrites where I'd often treat
it as a "localizing" regex applicator in fallback cases, and started
with that as functionality. There though, one does have access to the
lower level info than here, but still a step up over sed over entire
file.

This aims to be helpful (e.g., rewrite syntax including best effort
inside comments) rather than bulletproof tool. It may even be better
suited under utils than tools. And most of the rewrites would be rather
short lived and might never make it upstream (while the helpers of those
rewrites may for future rewrites).

The layering at the moment is not ideal as it is reusing the
RewriteBuffer class from clang's rewrite engine. So only optionally
enabling where clang is also enable. There doesn't seem to be anything
clang specific there (the dep does pull in more dependencies than ideal,
but leaving both refactorings).

Additionally started it as a single file to prototype more easily,
planning to refactor later to include and libs for out of file usage.
2024-10-12 15:10:34 -07:00
Keith Smiley
24ac6cf4f7
[bazel] Port 58d97034c9c149d175c66440d31f46e9dfd4b760 (#112064) 2024-10-11 18:10:38 -07:00
Keith Smiley
0add1741d5
[bazel] Port e9c8f75d45ababe7f805078bbf7bda2e7425f1b7 (#111928) 2024-10-10 16:55:41 -07:00
Keith Smiley
6640dac22b
[bazel] Add include-cleaner tests (#111924) 2024-10-10 16:43:29 -07:00
Keith Smiley
ba530e6b64
[bazel] Add initial clang-doc config (#111779) 2024-10-10 11:42:23 -07:00
Mikhail Goncharov
c15611a697 [bazel] port dc85d5263ed5e416cb4ddf405611472f4ef12fd3 2024-10-10 08:32:15 +02:00
Jorge Gorbe Moya
756ec99c36
[SandboxVec] Re-land "Use sbvec-passes flag to create a pipeline of Region passes after BottomUpVec. (#111223)" (#111772)
https://github.com/llvm/llvm-project/pull/111223 was reverted because of
a build failure with `-DBUILD_SHARED_LIBS=on`.

The Passes component depends on Vectorizer (because PassBuilder needs to
be able to instantiate SandboxVectorizerPass). This resulted in CMake
doing this

1. when it builds lib/libLLVMVectorize.so.20.0git it adds
lib/libLLVMSandboxIR.so.20.0git to the command line, because it's listed
as a dependency (as expected)
2. when it's trying to build lib/libLLVMPasses.so.20.0git it adds
lib/libLLVMVectorize.so.20.0git to the command line, because it's listed
as a dependency (also as expected). But not libLLVMSandboxIR.so.

When SandboxVectorizerPass has its ctors/dtors defined inline, this
caused "undefined reference to vtable" linker errors. This change works
around that by moving ctors/dtors out of line.

Also fix a bazel build problem by adding the new
`llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def`
as a textual header in the Vectorizer target.
2024-10-09 18:00:17 -07:00
Mikhail Goncharov
f59b151f09 [bazel] port 8e2ccdc4deedd463a20237b4d842b4c51f9fe603 2024-10-09 15:51:52 +02:00
Mikhail Goncharov
1a1de2465d [bazel] update abi-breaking.h.cmake for 3be691651a2143f23bcf8f2704e55b01bbaa2550 2024-10-09 11:09:13 +02:00
Mikhail Goncharov
f016e105b3 [bazel] update config.h.cmake
for 84088d3a28fdc2d6314c59bfa11026a72b9b0bff
2024-10-09 11:02:30 +02:00
Guillaume Chatelet
dda107b8cb
Revert "[libc][bazel] Enable software prefetching for memcpy" (#111370)
Reverts llvm/llvm-project#108939

When `AVX` is available but `-mprefer-vector-width=128` some of the
`mov` instructions turn into the x86 `rep;movsb` instruction leading to
poor performance on "old" architectures (sandybridge, haswell). The
possible solutions are : get rid of the `-mprefer-vector-width` option
or use smaller static copy sizes in
`inline_memcpy_x86_sse2_ge64_sw_prefetching`. Right now a copy size of 3
cache lines (192B) relying exclusively on xmm registers gets turned into
`rep;movsb`.
2024-10-07 15:00:31 +02:00
Mikhail Goncharov
d926e340b7 [bazel] port 9144fed31b59089f4e3e5fedf7eb87d2695ef843 2024-10-07 11:02:47 +02:00
Benoit Jacob
dd04cf0c9d
MLIR BUILD.bazel: fold BasicPtxBuilderInterface into NVVMDialect (#111172)
While doing an integrate into downstream
https://github.com/iree-org/iree, I ran into a typical Bazel error with
`BasicPtxBuilderInterface.cpp` including `NVVMDialect.h` which was not
exposed as a header by a declared dependency. I tried fixing this the
straightforward way, by letting `:BasicPtxBuilderInterface` depend on
`:NVVMDialect` , but that caused another Bazel error: circular
dependency between these two targets, as `:NVVMDialect` was already
depending on `:BasicPtxBuilderInterface`. I tried breaking that circle
by dropping the latter dependency, but it was a real dependency in the
code, specifically in the TableGen-generated code. So in the end it
seems that these two targets just need to be fused, which this PR does.

Signed-off-by: Benoit Jacob <jacob.benoit.1@gmail.com>
2024-10-04 12:13:06 -04:00
Danial Klimkin
53b3c9e408
[bazel] Fix libc/hdr past c63112a9118277a20ae440f3f69189c0937e8f4d (#111135) 2024-10-04 13:21:25 +02:00
Alexey Samsonov
ec06471c83
Stop disabling link_llvmlibc feature in libc_test Bazel rule
This detail is not relevant for the upstream Bazel version. llvm-libc unit tests today directly invoke the function under test using the namespace, which reduces the potential problems of linking with some other (system-provided) version of llvm-libc further.
2024-10-03 22:40:30 -07:00
Keith Smiley
61f8a7f618
[bazel] Port 4f0ad8d80a04faabc715d355744ba887c74e37f1 (#111034) 2024-10-03 11:00:15 -07:00
Danial Klimkin
82f5acfbec
[bazel] Fix build past 2026501cf107fcb3cbd51026ba25fda3af823941 (#110991) 2024-10-03 14:57:45 +02:00
Danial Klimkin
3736ef0da8
[bazel] Fix build past aec87a2143c01039578ceaed752ca2cb1dc83ff7 (#110967) 2024-10-03 09:41:00 +02:00
Christopher Di Bella
41eb186fbb
adds missing header, removes Bazel unnecessary dependency (#110932)
The missing header is necessary to keep building with Bazel happy, and the dependency was erroneously added.
2024-10-02 15:12:42 -07:00
Benoit Jacob
d24fdcecbb
Bazel: Add vector dialect dependency. (#110927)
Following up on https://github.com/llvm/llvm-project/pull/110904.

Signed-off-by: Benoit Jacob <jacob.benoit.1@gmail.com>
2024-10-02 17:00:05 -04:00
Christopher Di Bella
405f8a11d4
adds missing bazel dependencies (#110904) 2024-10-02 14:24:22 -05:00
Danial Klimkin
391e64c518
[bazel] Fix lldb build past 87121403e251828ed0fee8a9c2a2993ce8f57861 (#110833) 2024-10-02 14:17:18 +02:00
Danial Klimkin
eb6222b9ea
[bazel] Fix build past 66f84c8b8a762832af39e91370018f8f8307a0fc (#110830) 2024-10-02 14:01:19 +02:00
Danial Klimkin
7537142e88
[bazel] Fix build past 4e2efea5e8e55b26dd7ac90c6cd1ab7bf6775650 (#110799) 2024-10-02 10:19:53 +02:00
Keith Smiley
e7edd53e2d
[bazel] Port c63112a9118277a20ae440f3f69189c0937e8f4d (#110706) 2024-10-01 10:34:43 -07:00
Danial Klimkin
9ad5573825
[bazel] Fix build past 00128a20eec27246719d73ba427bf821883b00b4 (#110629) 2024-10-01 08:01:57 +02:00
NAKAMURA Takumi
27a8f00b22 [Bazel] Fixup for #110538, Rename SandboxIRValues.def to Values.def 2024-10-01 07:29:33 +09:00
Danial Klimkin
dd2792ac7d
[bazel] Fix build past 6292f117c39b9fc72da4e40328eeeda2aa94a5f2 (#110459) 2024-09-30 09:46:41 +02:00
Keith Smiley
d30d25196c
[bazel] Port f597ce03a6b2b7268e6a5c11cf7478c87b65b2bc (#110396) 2024-09-28 18:52:53 -07:00
Keith Smiley
8cd2f75173
[bazel] Port df4d7d3b29b073e24a5ebb8302e7a1ac873a5cde (#110395) 2024-09-28 18:45:15 -07:00
hanhanW
3d715e1fe1 Revert "[Bazel] Port 5e9813667958688f5ab0e0b776b509b2b909d1e4"
This reverts commit bf25ecb6caff22ac7f3e44a396fb2e5aa830db49.
2024-09-27 15:21:52 -07:00
Keith Smiley
9c7c63cdf0
[bazel] Fix mlir build (#110293) 2024-09-27 09:23:03 -07:00