Commit Graph

357 Commits

Author SHA1 Message Date
Fangrui Song ca68038d12 Reland "[Driver] Default CLANG_DEFAULT_PIE_ON_LINUX to ON""
(With C++ exceptions, `clang++ --target=mips64{,el}-linux-gnu -fpie -pie
-fuse-ld=lld` has link errors (lld does not implement some strange R_MIPS_64
.eh_frame handling in GNU ld). However, sanitizer-x86_64-linux-qemu used this to
build ScudoUnitTests. Pined ScudoUnitTests to -no-pie.)

Default the option introduced in D113372 to ON to match all(?) major Linux
distros. This matches GCC and improves consistency with Android and linux-musl
which always default to PIE.
Note: CLANG_DEFAULT_PIE_ON_LINUX may be removed in the future.

Differential Revision: https://reviews.llvm.org/D120305
2022-04-08 23:40:18 -07:00
Jorge Gorbe Moya ac1235dda6 Fix bazel rule for __support_fputil_fma when using header modules.
Putting __support/FPUtil/x86_64/FMA.h in `hdrs` will trigger a
compilation action for that header, and it will always `#error` out for
non-FMA targets. Move these platform-specific headers that are
conditionally included to `textual_hdrs` instead.
2022-04-08 16:28:31 -07:00
Tue Ly c5f8a0a1e9 [libc] Add support for x86-64 targets that do not have FMA instructions.
Make FMA flag checks more accurate for x86-64 targets, and refactor
polyeval to use multiply and add instead when FMA instructions are not
available.

Reviewed By: michaelrj, sivachandra

Differential Revision: https://reviews.llvm.org/D123335
2022-04-08 14:12:24 -04:00
Nico Weber e22a60b1c8 Revert "Reland "[Driver] Default CLANG_DEFAULT_PIE_ON_LINUX to ON"""
This reverts commit 2aca33baf1.
Broke tests on several bots, see comments on https://reviews.llvm.org/D120305
2022-04-07 10:07:07 -04:00
Benjamin Kramer 6b15157610 [bazel] Port 3031fa88f0 2022-04-07 12:14:14 +02:00
Benjamin Kramer b8acaaa0c7 [bazel] Port 5390606aa9 2022-04-07 10:40:55 +02:00
Fangrui Song 2aca33baf1 Reland "[Driver] Default CLANG_DEFAULT_PIE_ON_LINUX to ON""
(The upgrade of the ppc64le bot and D121257 have fixed compiler-rt failures. Tested by nemanjai.)

Default the option introduced in D113372 to ON to match all(?) major Linux
distros. This matches GCC and improves consistency with Android and linux-musl
which always default to PIE.
Note: CLANG_DEFAULT_PIE_ON_LINUX may be removed in the future.

Differential Revision: https://reviews.llvm.org/D120305
2022-04-06 20:19:07 -07:00
Nikita Popov ed4e6e0398 [cmake] Remove LLVM_ENABLE_NEW_PASS_MANAGER cmake option
Or rather, error out if it is set to something other than ON. This
removes the ability to enable the legacy pass manager by default,
but does not remove the ability to explicitly enable it through
various flags like -flegacy-pass-manager or -enable-new-pm=0.

I checked, and our test suite definitely doesn't pass with
LLVM_ENABLE_NEW_PASS_MANAGER=OFF anymore.

Differential Revision: https://reviews.llvm.org/D123126
2022-04-06 09:52:21 +02:00
Jorge Gorbe Moya 54cc7de4bc Fix bazel build.
- https://reviews.llvm.org/D122619 bumped zlib version but didn't change
  the hash

- Added new header from https://reviews.llvm.org/D108438
2022-04-05 15:45:53 -07:00
Benjamin Kramer fe11344257 [bazel] Try to fix the build after 4661a65f4b 2022-04-05 14:40:52 +02:00
Alexander Belyaev 004d4f8980 [mlir] Update BUILD.bazel. 2022-04-05 11:25:40 +02:00
Alexander Belyaev cc6788aece [mlir] Update mlir/BUILD.bazel. 2022-04-05 10:14:41 +02:00
Rob Suderman 126e7eaf0d [tosa] Add option to disable tosa.apply_scale lowering in TosaToStandard
Apply scale should be optionally disabled when lowering via TosaToStandard.
In most cases it should persist until the lowering to specific backend.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D122948
2022-04-04 12:22:12 -07:00
Mikhail Goncharov 567a979ea8 fix bazel build after 369337e3c2 2022-04-01 15:27:32 +02:00
Geoffrey Martin-Noble 224e9be1f4 [Bazel] Update zlib to 1.2.12
There's a vulnerability in 1.2.11:
https://twitter.com/taviso/status/1508438583484452866

Differential Revision: https://reviews.llvm.org/D122619
2022-03-28 15:16:39 -07:00
gysit 58d0da885e [mlir][linalg] Use arrays to pass padding options.
Pass the padding options using arrays instead of lambdas. In particular pass the padding value as string and use the argument parser to create the padding value. Arrays are a more natural choice that matches the current use cases and avoids converting arrays to lambdas.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D122309
2022-03-28 13:49:05 +00:00
Emilio Cota 0e1e3ccc98 [bazel] add missing targets since 3be7c28917 2022-03-25 15:41:29 -04:00
Benjamin Kramer 8639bc1e5d [bazel] Add missing dependency after a75a46db89 2022-03-25 12:04:43 +01:00
Benjamin Kramer 12bd1ef37c [bazel] Add missing dependency after a75a46db89 2022-03-25 12:02:36 +01:00
Fangrui Song 8e9c7f716a [Bazel] Add BLAKE3 files to llvm:Support
Hope someone can figure out how to leverage SSE42/AVE2/Arm Neon.
2022-03-24 15:26:40 -07:00
Benjamin Kramer 9ed466e359 [bazel] glob LLVMCoroutines headers to make the build rule less fragile 2022-03-24 11:01:08 +01:00
Benjamin Kramer 38d248aadd [bazel] Set the default of LLVM_UNREACHABLE_OPTIMIZE to 1
This matches the CMake default. LLVM_UNREACHABLE_OPTIMIZE=0 doesn't
build with gcc
2022-03-24 10:56:43 +01:00
Benjamin Kramer fdaf9ed884 [bazel] Make extract_api compatible with bazel 2022-03-23 11:01:04 +01:00
Alexander Belyaev 5bcc90ee61 [clang] Update BUILD.bazel after 89f6b26f1b. 2022-03-23 09:46:40 +01:00
Alex Zinenko b9959590d4 [mlir][bazel] filegroups for Python CF, PDL, Tensor dialects
These dialects have Python bindings and are tested, but were not
previously exposed through Bazel filegroups.

Differential Revision: https://reviews.llvm.org/D122138
2022-03-21 15:46:36 +01:00
Adrian Kuegel 96353d6f6f [clang][Bazel] Add missing dependency from symbol_graph to llvm:support.
This did not show up as build error because the build also works if the
dependency is transitively available. But there should be a direct
dependency anyway.
2022-03-21 08:43:06 +01:00
Jacques Pienaar 374208ea15 [bazel][mlir] Add MLIR PDLL LSP server target
Add targets for PDLL LSP server.
2022-03-19 18:08:36 -07:00
Sterling Augustine 61d5d12ca9 Update llvm-config.h.cmake for 7b983917d4 2022-03-18 12:59:15 -07:00
Benjamin Kramer 9816fada16 [bazel] Port a954ade8ed 2022-03-18 10:50:55 +01:00
Benjamin Kramer d3f4562cbd [bazel] Sync llvm-config.h after 112aafcaf4 2022-03-18 10:45:54 +01:00
Sterling Augustine 07998f6d75 Correct and complete dependency sets after 74b411d38c
Prior to this change the __support_cpp_array_ref target's only dependency was libc_root.
but it #includes "TypeTraits.h" and Array.h for that matter.

These dependencies matter when building in distributed build systems and the relevant
files must be know for the distributed build to ship them to the executor.

Differential Revision: https://reviews.llvm.org/D121974
2022-03-17 19:52:49 -07:00
Sterling Augustine 9065dd1439 Fix invalid preprocessor directive. 2022-03-17 19:12:48 -07:00
Sterling Augustine 6f958b6ff5 Update llvm-config.h.cmake for LLVM_UNREACHABLE_OPTIMIZE 2022-03-17 19:04:42 -07:00
Alex Zinenko 6864d27088 [mlir][bazel] make .pyi files available to Bazel
These files are necessary for various type checking and autocompletion
tooling to work.

Differential Revision: https://reviews.llvm.org/D121810
2022-03-17 11:02:17 +01:00
Adrian Kuegel 0e694e1426 [Bazel] Update Bazel build to add symbol_graph.
Differential Revision: https://reviews.llvm.org/D121886
2022-03-17 10:53:04 +01:00
Adrian Kuegel d8740912dd [mlir][Bazel] Add missing dependency.
Differential Revision: https://reviews.llvm.org/D121893
2022-03-17 10:25:20 +01:00
Adrian Kuegel bd0bf9674b [mlir][Bazel] Adapt BUILD.bazel for move of lsp-server support files.
Differential Revision: https://reviews.llvm.org/D121891
2022-03-17 10:04:11 +01:00
Adrian Kuegel 7733a61fbc [mlir][Bazel] Also fix mlir/unittests/BUILD.bazel. 2022-03-17 09:42:06 +01:00
Adrian Kuegel 2f1d918c0b [mlir][Bazel] Adapt to move of FuncOp. 2022-03-17 09:25:30 +01:00
Benjamin Kramer 0c4e9fbf41 [bazel] Port 50f82e6847 2022-03-16 23:46:46 +01:00
Jakub Kuderski 7c285b78cf [bazel] Add build rule for llvm-remark-size-diff
This binary is used in LIT tests.

Test: `bazel run --config=generic_clang -c opt @llvm-project//llvm:llvm-remark-size-diff -- --help`

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D121742
2022-03-16 14:07:07 -04:00
Sterling Augustine 103f23d63d Updated mlir-tablegen dependencies for f96a8675cd
Differential Revision: https://reviews.llvm.org/D121764
2022-03-15 19:41:42 -07:00
Michael Jones 74b411d38c [libc][bazel] split support_standalone_cpp target
previously the support_standalone_cpp target contained all of the files
in the __support/cpp folder. This change splits these out so that only
what is needed is included. In addition, this change adds the new
support files that previously didn't have targets.

Reviewed By: lntue, gchatelet

Differential Revision: https://reviews.llvm.org/D121314
2022-03-15 16:40:43 -07:00
Matthias Springer 39ec46bd83 [mlir][bufferize] Extract buffer hoisting into separate function
This improves the modularity of the bufferization.

From now on, all ops that do not implement BufferizableOpInterface are considered hoisting barriers. Previously, all ops that do not implement the interface were not considered barriers and such ops had to be marked as barriers explicitly. This was unsafe because we could've hoisted across unknown ops where it was not safe to hoist.

As a side effect, this allows for cleaning up AffineBufferizableOpInterfaceImpl. This build unit no longer needed and can be deleted.

Differential Revision: https://reviews.llvm.org/D121519
2022-03-15 21:25:03 +09:00
Adrian Kuegel fd8fe3bab6 [mlir][Bazel] Adjust build file to account for new td files. 2022-03-15 09:05:07 +01:00
Adrian Kuegel 49a29e5c9f [mlir][Bazel] Adjust regarding StandardToLLVM -> FuncToLLVM rename.
Differential Revision: https://reviews.llvm.org/D121185
2022-03-08 09:07:36 +01:00
Matthias Springer 93e663273b [mlir][shape] Migrate bufferization to BufferizableOpInterface
Differential Revision: https://reviews.llvm.org/D121043
2022-03-07 21:54:27 +09:00
Adrian Kuegel 08ba81f520 [mlir][Bazel] Remove unused dependencies (NFC)
Differential Revision: https://reviews.llvm.org/D121106
2022-03-07 13:26:20 +01:00
Christian Sigg 4c3c107b54 [MLIR] Fix bazel BUILD file after Parser.h moved.
See D121024, D121025, D121026.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D121094
2022-03-07 13:19:47 +01:00
Benjamin Kramer 317e6a8077 [bazel] Port 76ec69a911 2022-03-04 20:18:00 +01:00