- Oct 20, 2020
-
-
Lang Hames authored
Thanks for spotting this Mehdi!
-
Qiu Chaofan authored
From LangRef, FMF contract should not enable reassociating to form arbitrary contractions. So it should not help rearrange nodes like (fma (fmul x, c1), c2, y) into (fma x, c1*c2, y). Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D89527
-
Richard Smith authored
for which it matters. This is a step towards separating checking for a constant initializer (in which std::is_constant_evaluated returns true) and any other evaluation of a variable initializer (in which it returns false).
-
Volodymyr Sapsai authored
This reverts commit 4000c9ee. Test "LLVM :: Other/statistic.ll" is failing on Windows.
-
Wang, Pengfei authored
extract_vector_elt will turn type vxi1 into i8, which triggers the assertion fail. Since we don't really handle vxi1 cases in below code, we can just return from here. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D89096
-
Douglas Yung authored
Recently commit D78699 (commit 26cfb6e5), fixed clang's behavior with respect to passing a union type through a register to correctly follow the ABI. However, this is an ABI breaking change with earlier versions of the clang compiler, so we should add an -fclang-abi-compat option to address this. Additionally, the PS4 ABI requires the older behavior, so that is added as well. This change adds a Ver11 value to the ClangABI enum that when it is set (or the target is the PS4 triple), we skip the ABI fix introduced in D78699. Differential Revision: https://reviews.llvm.org/D89747
-
Kostya Kortchinsky authored
Cleaning up some of the GWP-ASan code base: - lots of headers didn't have the correct file name - adding `#ifdef` guard to `utilities.h` - correcting an `#ifdef` guard based on actual file name - removing an extra `;` - clang-format'ing the code (`-style=llvm`) Differential Revision: https://reviews.llvm.org/D89721
-
Duncan P. N. Exon Smith authored
Update clang/lib/Lex to stop relying on a `MemoryBuffer*`, using the `MemoryBufferRef` from `getBufferOrNone` since both locations had logic for checking validity of the buffer. There's potentially a functionality change, since the logic was wrong (it checked for `nullptr`, which was never returned by the old API), but if that was reachable the new behaviour should be better. Differential Revision: https://reviews.llvm.org/D89402
-
Casey Carter authored
Use `__FUNCSIG__` instead when compiling with MSVC. While we're touching `makeTypeIDImp`, remove the warning suppression for C4640 "construction of local static object is not thread safe" since C1XX now correctly constant-initializes `id`.
-
Casey Carter authored
The Standard doesn't include the ```c++ template<class T> T* atomic_fetch_meow(atomic<T*>, ...); ``` templates these tests are testing. (See https://bugs.llvm.org/show_bug.cgi?id=47908)
-
Casey Carter authored
-
Casey Carter authored
-
Casey Carter authored
... which forbids passing `memory_order_release` or `memory_order_acq_rel` to either overload of `atomic_flag_test_explicit`.
-
Casey Carter authored
The author of these tests apparently forgot that `atomic_{,un}signed_lock_free` are already specializations of `atomic`. -
Casey Carter authored
The predicate passed to `merge` must induce a strict weak ordering on its arguments.
-
Casey Carter authored
These three algorithm tests are incorrectly using `_LIBCPP_CONSTEXPR_AFTER_CXX17` instead of `TEST_CONSTEXPR_CXX17`.
-
Duncan P. N. Exon Smith authored
b3eff6b7 updated `Lexer::Lexer` to take `clang::MemoryBufferRef` instead of `clang::MemoryBuffer*`. Update LLDB to fix the bots.
-
Nico Weber authored
This reverts commit 4d2d287a. d09b0891 got reverted in 7ecd60bb.
-
Volodymyr Sapsai authored
-
Jon Chesterfield authored
[libomptarget][amdgcn] Implement missing symbols in deviceRTL Malloc, wtime are stubs. Malloc needs a hostrpc implementation which is a work in progress, wtime needs some experimentation to find out the multiplier to get a time in seconds as documentation is scarce. Reviewed By: ronlieb Differential Revision: https://reviews.llvm.org/D89725
-
Evgenii Stepanov authored
Revert "Fix compiler-rt build on Windows after D89640" This reverts commit a7acee89. This reverts commit d09b0891. Reason: breaks Linux / x86_64 build.
-
Duncan P. N. Exon Smith authored
Update `Lexer` / `Lexer::Lexer` to use `MemoryBufferRef` instead of `MemoryBuffer*`. Callers that were acquiring a `MemoryBuffer*` via `SourceManager::getBuffer` were updated, such that if they checked `Invalid` they use `getBufferOrNone` and otherwise `getBufferOrFake`. Differential Revision: https://reviews.llvm.org/D89398
-
Sean Silva authored
Now, convert-shape-to-std doesn't internally create memrefs, which was previously a bit of a layering violation. The conversion to memrefs should logically happen as part of bufferization. Differential Revision: https://reviews.llvm.org/D89669
-
Sean Silva authored
The framework was not tracking ops created in any regions of the cloned op. Differential Revision: https://reviews.llvm.org/D89668
-
Sean Silva authored
It's unfortunate that this requires adding a dependency on scf dialect to std bufferization (and hence all of std transforms). This is a bit perilous. We might want a lib/Transforms/Bufferize/ with a separate bufferization library per dialect? Differential Revision: https://reviews.llvm.org/D89667
-
Sean Silva authored
Add bufferizations for extract_element and tensor_from_elements. Differential Revision: https://reviews.llvm.org/D89594
-
Volodymyr Sapsai authored
Measure amount of high-level or fixed-cost operations performed during building/loading modules and during header search. High-level operations like building a module or processing a .pcm file are motivated by previous issues where clang was re-building modules or re-reading .pcm files unnecessarily. Fixed-cost operations like `stat` calls are tracked because clang cannot change how long each operation takes but it can perform fewer of such operations to improve the compile time. Also tracking such stats over time can help us detect compile-time regressions. Added stats are more stable than the actual measured compilation time, so expect the detected regressions to be less noisy. On relanding drop stats in MemoryBuffer.cpp as their value is pretty low but affects a lot of clients and many of those aren't interested in modules and header search. rdar://problem/55715134 Reviewed By: aprantl, bruno Differential Revision: https://reviews.llvm.org/D86895
-
Stanislav Mekhanoshin authored
GFX10 enables third addressing mode for flat scratch instructions, an ST mode. In that mode both register operands are omitted and only swizzled offset is used in addition to flat_scratch base. Differential Revision: https://reviews.llvm.org/D89501
-
Walter Erquinigo authored
Renamed ThreadIntelPT to TreaceThread, making it a top-level class. I noticed that this class can and shuld work for any trace plugin and there's nothing intel-pt specific in it. With that TraceThread change, I was able to move most of the json file parsing logic to the base class TraceSessionFileParser, which makes adding new plug-ins easier. This originally was part of https://reviews.llvm.org/D89283 Differential Revision: https://reviews.llvm.org/D89408
-
Jordan Rupprecht authored
-
Sergei Trofimovich authored
Before the change attempt to link libLTO.so against shared LLVM library failed as: ``` [ 76%] Linking CXX shared library ../../lib/libLTO.so ... /usr/bin/cmake -E cmake_link_script CMakeFiles/LTO.dir/link.txt --verbose=1 c++ -o ...libLTO.so.12git ...ibLLVM-12git.so ld: CMakeFiles/LTO.dir/lto.cpp.o: in function `llvm::InitializeAllTargetInfos()': include/llvm/Config/Targets.def:31: undefined reference to `LLVMInitializeVETargetInfo' ``` It happens because on linux llvm build system sets default symbol visibility to "hidden". The fix is to set visibility back to "default" for exported APIs with LLVM_EXTERNAL_VISIBILITY. Bug: https://bugs.llvm.org/show_bug.cgi?id=47847 Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89633
-
Yaxun (Sam) Liu authored
This recommits 7f1f89ec and 40df06cd with bug fixes for memory sanitizer failure and Tensile build failure.
-
Yaxun (Sam) Liu authored
PartialDiagnostic misses some functions compared to DiagnosticBuilder. This patch refactors DiagnosticBuilder and PartialDiagnostic, extracts the common functionality so that the streaming << operators are shared. Differential Revision: https://reviews.llvm.org/D84362
-
Amy Huang authored
Port pass to NPM and update tests in DebugInfo/Generic. Differential Revision: https://reviews.llvm.org/D89730
-
Roman Lebedev authored
The main tricky thing here is forward-declaring the enum: we have to specify it's underlying data type. In particular, this avoids the danger of switching over the SCEVTypes, but actually switching over an integer, and not being notified when some case is not handled. I have updated most of such switches to be exaustive and not have a default case, where it's pretty obvious to be the intent, however not all of them.
-
Roman Lebedev authored
Makes diff in next commit more readable
-
Roman Lebedev authored
If we switch over an enum, compiler can easily issue a diagnostic if some case is not handled. However with an if cascade that isn't so. Experimental evidence suggests new behavior to be superior.
-
Dávid Bolvanský authored
D18714 introduced writeonly attribute: "Also start using the attribute for memset, memcpy, and memmove intrinsics, and remove their special-casing in BasicAliasAnalysis." But actually, writeonly was not attached to memmove - oversight, it seems. So let's add it. As we can see, this helps DSE to eliminate redundant stores. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D89724
-
Martin Storsjö authored
Move the functions to the helper header and keep the arch specific logic there. Differential Revision: https://reviews.llvm.org/D89681
-
Martin Storsjö authored
Use fs::path as variable type instead of std::string, when the input potentially is a path, as they can't be implicitly converted back to string. Differential Revision: https://reviews.llvm.org/D89674
-