- Mar 01, 2020
-
-
Stephen Neuendorffer authored
This reverts commit 7a6c6897. This breaks the build with cmake 3.13.4, but succeeds with cmake 3.15.3
-
Stephen Neuendorffer authored
This reverts commit c4c8fbde.
-
Stephen Neuendorffer authored
This reverts commit 31e07d71.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
The MachineFunction MF value is not used any more and is always null.
-
Simon Pilgrim authored
-
Stephen Neuendorffer authored
This reverts commit e17d9c11. It breaks the build.
-
Stephen Neuendorffer authored
This reverts commit 777e97cc.
-
Petr Hosek authored
This is the imported target that find_package(ZLIB) defines. Differential Revision: https://reviews.llvm.org/D74176
-
Petr Hosek authored
Using INTERFACE prevents the use of imported libraries as we've done in 00b3d49d because these aren't linked against the target, they're only made part of the interface. This doesn't affect the output since static libraries aren't being linked into, but it enables the use of imported libraries. Differential Revision: https://reviews.llvm.org/D74106
-
Simon Pilgrim authored
This removes everything but int_x86_avx512_mask_vcvtph2ps_512 which provides the SAE variant, but even this can use the fpext generic if the rounding control is the default. Differential Revision: https://reviews.llvm.org/D75162
-
Stephen Neuendorffer authored
Differential Revision: https://reviews.llvm.org/D75308
-
Valentin Churavy authored
Putting this up mainly for discussion on how this should be done. I am interested in MLIR from the Julia side and we currently have a strong preference to dynamically linking against the LLVM shared library, and would like to have a MLIR shared library. This patch adds a new cmake function add_mlir_library() which accumulates a list of targets to be compiled into libMLIR.so. Note that not all libraries make sense to be compiled into libMLIR.so. In particular, we want to avoid libraries which primarily exist to support certain tools (such as mlir-opt and mlir-cpu-runner). Note that the resulting libMLIR.so depends on LLVM, but does not contain any LLVM components. As a result, it is necessary to link with libLLVM.so to avoid linkage errors. So, libMLIR.so requires LLVM_BUILD_LLVM_DYLIB=on FYI, Currently it appears that LLVM_LINK_LLVM_DYLIB is broken because mlir-tblgen is linked against libLLVM.so and and independent LLVM components. Previous version of this patch broke depencies on TableGen targets. This appears to be because it compiled all libraries to OBJECT libraries (probably because cmake is generating different target names). Avoiding object libraries results in correct dependencies. (updated by Stephen Neuendorffer) Differential Revision: https://reviews.llvm.org/D73130
-
Stephen Neuendorffer authored
add_llvm_library and add_llvm_executable may need to create new targets with appropriate dependencies. As a result, it is not sufficient in some configurations (namely LLVM_BUILD_LLVM_DYLIB=on) to only call add_dependencies(). Instead, the explicit TableGen dependencies must be passed to add_llvm_library() or add_llvm_executable() using the DEPENDS keyword. Differential Revision: https://reviews.llvm.org/D74930
-
Stephen Neuendorffer authored
In cmake, it is redundant to have a target list under target_link_libraries() and add_dependency(). This patch removes the redundant dependency from add_dependency(). Differential Revision: https://reviews.llvm.org/D74929
-
Stephen Neuendorffer authored
When compiling libLLVM.so, add_llvm_library() manipulates the link libraries being used. This means that when using add_llvm_library(), we need to pass the list of libraries to be linked (using the LINK_LIBS keyword) instead of using the standard target_link_libraries call. This is preparation for properly dealing with creating libMLIR.so as well. Differential Revision: https://reviews.llvm.org/D74864
-
Mehdi Amini authored
This is avoid the user to shoot themselves in the foot and encounter strange crashes that are confusing until one run with TSAN. Differential Revision: https://reviews.llvm.org/D75399
-
Fangrui Song authored
Similar to AsmPrinter::emitInt{8,16,32,64}.
-
- Feb 29, 2020
-
-
Aaron Puchert authored
Summary: Apparently all users of the function were fine with short-circuiting and none cared to override the default argument. Reviewers: aaron.ballman, rsmith Reviewed By: aaron.ballman Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75319
-
Sanjay Patel authored
-
Stefan Gränitz authored
Summary: A function that creates JITSymbolFlags from a GlobalValueSummary. Similar functions exist: fromGlobalValue(), fromObjectSymbol() Reviewers: lhames Reviewed By: lhames Subscribers: hiraditya, steven_wu, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75082
-
Stefanos Baziotis authored
-
Georgii Rymar authored
This is a follow-up for https://reviews.llvm.org/D74545. It adds test cases for each incorrect case returned in `getRelocationTarget`. Differential revision: https://reviews.llvm.org/D74595
-
Benjamin Kramer authored
restoreCalleeSavedRegisters can mutate the contents of the CalleeSavedInfos, so use a MutableArrayRef.
-
Siva Chandra Reddy authored
A target to generate the std C threads.h file has been added. This utilizes the new feature added in this change. Reviewers: phosek Differential Revision: https://reviews.llvm.org/D75379
-
Shengchen Kan authored
MCObjectStreamer is more suitable to create fragments than X86AsmBackend, for example, the function getOrCreateDataFragment is defined in MCObjectStreamer. Differential Revision: https://reviews.llvm.org/D75351
-
Shengchen Kan authored
When bundle is enabled, data fragment itself has a space to emit NOP to bundle-align instructions. The behaviour makes it impossible for us to determine whether the macro fusion really happen when emitting instructions. In addition, boundary-align fragment is also used to emit NOPs to align instructions, currently using them together sometimes makes code crazy. Differential Revision: https://reviews.llvm.org/D75346
-
Fangrui Song authored
Reviewed By: Bdragon28 Differential Revision: https://reviews.llvm.org/D75394
-
Fangrui Song authored
-
Greg Clayton authored
This reverts commit d334ce0b.
-
Michael Liao authored
Summary: - Add `-gsplit-dwarf` as an option instead of a definition. - Only add that option on compilers supporting dwarf splitting, such as clang and gcc. Reviewers: echristo, pcc Subscribers: mgorny, aprantl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75328
-
Vedant Kumar authored
An execution count goes missing for a constructor, this needs investigation: http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/45132/ ``` /home/buildbots/ppc64be-clang-test/clang-ppc64be/llvm/compiler-rt/test/profile/instrprof-merging.cpp:28:16: error: V1: expected string not found in input A() {} // V1: [[@LINE]]{{ *}}|{{ *}}1 <stdin>:28:32: note: possible intended match here 28| | A() {} // V1: [[@LINE]]{{ *}}|{{ *}}1 ```
-
Vedant Kumar authored
http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/27075 error: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] return {MappingBuf, getDataSize<FuncRecordTy, Endian>(Record)};
-
Vedant Kumar authored
Try again with an up-to-date version of D69471 (99317124 was a stale revision). --- Revise the coverage mapping format to reduce binary size by: 1. Naming function records and marking them `linkonce_odr`, and 2. Compressing filenames. This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB) and speeds up end-to-end single-threaded report generation by 10%. For reference the compressed name data in llc is 81MB (__llvm_prf_names). Rationale for changes to the format: - With the current format, most coverage function records are discarded. E.g., more than 97% of the records in llc are *duplicate* placeholders for functions visible-but-not-used in TUs. Placeholders *are* used to show under-covered functions, but duplicate placeholders waste space. - We reached general consensus about giving (1) a try at the 2017 code coverage BoF [1]. The thinking was that using `linkonce_odr` to merge duplicates is simpler than alternatives like teaching build systems about a coverage-aware database/module/etc on the side. - Revising the format is expensive due to the backwards compatibility requirement, so we might as well compress filenames while we're at it. This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB). See CoverageMappingFormat.rst for the details on what exactly has changed. Fixes PR34533 [2], hopefully. [1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html [2] https://bugs.llvm.org/show_bug.cgi?id=34533 Differential Revision: https://reviews.llvm.org/D69471
-
Vedant Kumar authored
This reverts commit 99317124. This is still busted on Windows: http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/40873 The llvm-cov tests report 'error: Could not load coverage information'.
-
Vedant Kumar authored
This test is failing with a core dump on /just/ this bot, and I'd like to find out why. http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/27979/
-
Vedant Kumar authored
Revise the coverage mapping format to reduce binary size by: 1. Naming function records and marking them `linkonce_odr`, and 2. Compressing filenames. This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB) and speeds up end-to-end single-threaded report generation by 10%. For reference the compressed name data in llc is 81MB (__llvm_prf_names). Rationale for changes to the format: - With the current format, most coverage function records are discarded. E.g., more than 97% of the records in llc are *duplicate* placeholders for functions visible-but-not-used in TUs. Placeholders *are* used to show under-covered functions, but duplicate placeholders waste space. - We reached general consensus about giving (1) a try at the 2017 code coverage BoF [1]. The thinking was that using `linkonce_odr` to merge duplicates is simpler than alternatives like teaching build systems about a coverage-aware database/module/etc on the side. - Revising the format is expensive due to the backwards compatibility requirement, so we might as well compress filenames while we're at it. This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB). See CoverageMappingFormat.rst for the details on what exactly has changed. Fixes PR34533 [2], hopefully. [1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html [2] https://bugs.llvm.org/show_bug.cgi?id=34533 Differential Revision: https://reviews.llvm.org/D69471
-
Reid Kleckner authored
CMake is complaining about the "^" regex if the prefixes are empty strings.
-
Greg Clayton authored
Summary: YAML files were not being run during lit testing as there was no lit.local.cfg file. Once this was fixed, some buildbots would fail due to a StringRef that pointed to a std::string inside of a temporary llvm::Triple object. These issues are fixed here by making a local triple object that stays around long enough so the StringRef points to valid data. Reviewers: aprantl, thakis, MaskRay, aadsm, wallace Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75390
-
Craig Topper authored
We already combine non extending loads with broadcasts in DAG combine. All these patterns are picking up is the aligned extload special case. But the only lit test we have that exercsises it is using v8i1 load that datalayout is reporting align 8 for. That seems generous. So without a realistic test case I don't think there is much value in these patterns.
-