Commit Graph

2355 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 abc49cc194 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 b852fb1ec5
b852fb1ec5 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 d80b9cf713 (#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 7be4ab0a86 2024-10-18 12:28:15 +02:00
Benjamin Kramer
9ad4f05ef7 [bazel][lldb] Port 5f2cf99e14 2024-10-16 14:41:20 +02:00
Benjamin Kramer
8bb100b940 [bazel] Add missing dependencies for d4efc3e097 2024-10-14 20:54:31 +02:00
Benjamin Kramer
b2cac3babd [bazel] Add missing dependency for 58d97034c9 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 58d97034c9 (#112064) 2024-10-11 18:10:38 -07:00
Keith Smiley
0add1741d5 [bazel] Port e9c8f75d45 (#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 dc85d5263e 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 8e2ccdc4de 2024-10-09 15:51:52 +02:00
Mikhail Goncharov
1a1de2465d [bazel] update abi-breaking.h.cmake for 3be691651a 2024-10-09 11:09:13 +02:00
Mikhail Goncharov
f016e105b3 [bazel] update config.h.cmake
for 84088d3a28
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 9144fed31b 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 c63112a911 (#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 4f0ad8d80a (#111034) 2024-10-03 11:00:15 -07:00
Danial Klimkin
82f5acfbec [bazel] Fix build past 2026501cf1 (#110991) 2024-10-03 14:57:45 +02:00
Danial Klimkin
3736ef0da8 [bazel] Fix build past aec87a2143 (#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 87121403e2 (#110833) 2024-10-02 14:17:18 +02:00
Danial Klimkin
eb6222b9ea [bazel] Fix build past 66f84c8b8a (#110830) 2024-10-02 14:01:19 +02:00
Danial Klimkin
7537142e88 [bazel] Fix build past 4e2efea5e8 (#110799) 2024-10-02 10:19:53 +02:00
Keith Smiley
e7edd53e2d [bazel] Port c63112a911 (#110706) 2024-10-01 10:34:43 -07:00
Danial Klimkin
9ad5573825 [bazel] Fix build past 00128a20ee (#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 6292f117c3 (#110459) 2024-09-30 09:46:41 +02:00
Keith Smiley
d30d25196c [bazel] Port f597ce03a6 (#110396) 2024-09-28 18:52:53 -07:00
Keith Smiley
8cd2f75173 [bazel] Port df4d7d3b29 (#110395) 2024-09-28 18:45:15 -07:00
hanhanW
3d715e1fe1 Revert "[Bazel] Port 5e9813667958688f5ab0e0b776b509b2b909d1e4"
This reverts commit bf25ecb6ca.
2024-09-27 15:21:52 -07:00
Keith Smiley
9c7c63cdf0 [bazel] Fix mlir build (#110293) 2024-09-27 09:23:03 -07:00