- Aug 21, 2020
-
-
Simon Pilgrim authored
This is a first step patch to enable constexpr support and testing to a large number of x86 intrinsics. All I've done here is provide a DEFAULT_FN_ATTRS_CONSTEXPR variant to our existing DEFAULT_FN_ATTRS tag approach that adds constexpr on c++ builds. The clang cuda headers do something similar. I've started with POPCNT mainly as its tiny and are wrappers to generic __builtin_* intrinsics which already act as constexpr. Differential Revision: https://reviews.llvm.org/D86229
-
Matt Arsenault authored
Assuming this is used to split a memory access into smaller pieces, the new access should still have the same aliasing properties as the original memory access. As far as I can tell, this wasn't intentionally dropped. It may be necessary to drop this if you are moving the operand outside of the bounds of the original object in such a way that it may alias another IR object, but I don't think any of the existing users are doing this. Some of the uses widen into unused alignment padding, which I think is OK.
-
Matt Arsenault authored
Custom lower and widen odd sized loads up to the alignment. The default set of legalization actions doesn't have a way to represent this. This fixes naturally aligned <3 x s8> and <3 x s16> loads. This also starts moving towards eliminating the buggy and overcomplicated legalization rules for narrowing. All the memory size changes should be done in the lower or custom action, not NarrowScalar / FewerElements. These currently have redundant and ambiguous code with the lower action.
-
vnalamot authored
The SGPR spills happen in SILowerSGPRSpills() and allSGPRSpillsAreDead() make sure there are no SGPR spills pending during PEI. But the FP/BP spills happen during PEI and are exceptions. Use actual frame indices of FP/BP in allSGPRSpillsAreDead() to accommodate the exceptions. Differential Revision: https://reviews.llvm.org/D86291
-
Kamau Bridgeman authored
This patch is the initial support for the General Dynamic Thread Local Local Storage model to produce code sequence and relocations correct to the ABI for the model when using PC relative memory operations. Patch by: NeHuang Reviewed By: stefanp Differential Revision: https://reviews.llvm.org/D82315
-
Julian Lettner authored
We don't test on very old versions of Apple platforms anymore. The following lit substitution concerning the minimum deployment target for ARC support can be removed. ``` %darwin_min_target_with_full_runtime_arc_support -> 10.11 ``` Differential Revision: https://reviews.llvm.org/D85803
-
Cameron McInally authored
Move fixed length SDIV tests from sve-fixed-length-int-arith.ll to sve-fixed-length-int-div.ll. The former uses CHECK lines that verify legalization decisions. That's overkill for the i8/i16 SDIV tests, since they have a tricky legalization.
-
Julian Lettner authored
After removing the unnecessary `-mmacosx-version-min=10.12` compiler flag this test can run on all platforms. I confirmed that this test is green for iOS, iOS simulator, and watchOS simulator. Differential Revision: https://reviews.llvm.org/D85952
-
Fangrui Song authored
Then it is trivial to make the output indented (the second parameter of json::OStream::OStream specifies the indentation). Reviewed By: jhenderson, echristo Differential Revision: https://reviews.llvm.org/D86045
-
Raul Tambre authored
-
Gongyu Deng authored
1. created a common completion for breakpoint names; 2. bound the breakpoint name common completion with eArgTypeBreakpointName; 3. implemented the dedicated completion for breakpoint read -N. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D80693
-
Cameron McInally authored
There are no nxv16i8/nxv8i16 SDIV instructions, so these fixed width operations must be promoted to nxv4i32. Differential Revision: https://reviews.llvm.org/D86114
-
LLVM GN Syncbot authored
-
Jessica Clarke authored
This ensures that we never encode an instruction which is unavailable, such as if we explicitly insert a forbidden instruction when lowering. This is particularly important on RISC-V given its high degree of modularity, and will become increasingly important as new standard extensions appear. Reviewed By: asb, lenary Differential Revision: https://reviews.llvm.org/D85015
-
Roman Lebedev authored
Currently we don't do anything about these, neither in InstCombine, nor in SimplifyCFG's sinking. These happen exceedingly rarely, but i've seen them in the cases where PHI-aware aggregate reconstruction would have fired if not for them.
-
Jay Foad authored
... in favour of the isPhysical/isVirtual methods.
-
Mircea Trofin authored
This exposes the module optimization pipeline as a pass that can be applied stand-alone when using 'opt'. This helps ml inliner training scenarios, where we start with IR captured right before inlining, perform the inlining (-scc-oz-module-inliner) and then want to continue and observe the final IR (where this patch comes into play). We can then apply llc on the resulting IR to continue compilation down to native. Differential Revision: https://reviews.llvm.org/D86224
-
Jordan Rupprecht authored
`lldb_private::ScriptInterpreterPython::CommandDataPython` inherits from `lldb_private::BreakpointOptions::CommandData`, but the latter does not have a virtual destructor. This leads to a new-delete-type-mismatch error when running certain tests (such as `functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py`) under asan.
-
Siva Chandra Reddy authored
This class helps in dealing with normal and subnormal numbers uniformly. Moreover, since this class has been designed to handle all floating formats across platforms, it helps implement floating point functions in a uniform manner. The implementations of frexp and logb have been switched to use this new class as it allows us to use just one implementation across all different floating point formats. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D86241
-
- Aug 20, 2020
-
-
Jay Foad authored
At this point we have already ruled out all def operands, so we can't possibly see a dead implicit def operand.
-
Siva Chandra Reddy authored
Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D86267
-
Eduardo Caldas authored
Differential Revision: https://reviews.llvm.org/D86139
-
Eduardo Caldas authored
-
Eduardo Caldas authored
Differential Revision: https://reviews.llvm.org/D86227
-
Hans Wennborg authored
Otherwise the docs-lld-html target fails to build using recent Sphinx with the following not very helpful error message: An error happened in rendering the page index. Reason: TemplateNotFound() It turns out the values in the html_sidebars dictionary always need to be lists now. See https://github.com/sphinx-doc/sphinx/issues/6186
-
Pavel Labath authored
Similarly to D85836, collapse all Scalar float types to a single enum value, and use APFloat semantics to differentiate between. This simplifies the code, and opens to door to supporting other floating point semantics (which would be needed for fully supporting architectures with more interesting float types such as PPC). Differential Revision: https://reviews.llvm.org/D86220
-
Alex Bradbury authored
The dependencies in clang/lib/IndexSerialization/CMakeLists.txt were incomplete, leading to link errors for a -DBUILD_SHARED_LIBS=True build.
-
Bevin Hansson authored
This caused failures on clang-x390x-linux.
-
David Green authored
The normal scheme for tail folding reductions is to use: loop: p = phi(0, a) mask = ... x = masked_load(..., mask) a = add(x, p) s = select(mask, a, p) This means we need to keep the register p and a alive out of the loop, plus the mask. On a target with predicated operations we can instead generate the phi as p = phi(0, s). This ensures the select in the loop and we can fold select(m, add(a, b), c) to something like a vaddt c, a, b using the m predicate. This in turn allows us to tail predicate the entire loop. Differential Revision: https://reviews.llvm.org/D84741
-
Raphael Isemann authored
This reverts commit d58fd4e5. This broke compiler-rt compilation on macOS: codesign --sign - /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/lib/clang/12.0.99/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib ld: warning: ignoring file projects/compiler-rt/lib/tsan/CMakeFiles/clang_rt.tsan_ios_dynamic.dir/rtl/tsan_rtl_amd64.S.o, building for iOS-arm64 but attempting to link with file built for iOS Simulator-x86_64 ld: warning: ignoring file projects/compiler-rt/lib/tsan/CMakeFiles/clang_rt.tsan_ios_dynamic.dir/rtl/tsan_rtl_aarch64.S.o, building for iOS-arm64 but attempting to link with file built for iOS Simulator-x86_64 Undefined symbols for architecture arm64: "_wrap__setjmp", referenced from: substitution__setjmp in tsan_interceptors_posix.cpp.o "_wrap_setjmp", referenced from: substitution_setjmp in tsan_interceptors_posix.cpp.o "_wrap_sigsetjmp", referenced from: substitution_sigsetjmp in tsan_interceptors_posix.cpp.o ld: symbol(s) not found for architecture arm64
-
Pavel Labath authored
This is very similar to D85968, only more elusive to since we were not adding the typedef type to the relevant DeclContext until D86140, which meant that the DeclContext was populated (and the relevant assertion hit) only after importing the type into the expression ast in a particular way. I haven't checked whether this situation can be hit in the gmodules case, but my money is on "yes". Differential Revision: https://reviews.llvm.org/D86216
-
Joachim Priesner authored
The action='store_true' option of argparse.add_argument implicitly generates a default value of False if the argument is not specified. Thus, the allow_enabling_alpha_checkers argument of get_tidy_invocation is never None.
-
Aleksandr Platonov authored
Currently, clangd crashes when opening a file with `#pragma clang __debug parser_crash` (e.g. clang/test/Modules/Inputs/crash.h). This patch disables these crashes. Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D86279
-
Adam Czachorowski authored
This was accidentally added in 53b9199a Differential Revision: https://reviews.llvm.org/D86284
-
Bjorn Pettersson authored
The getSrcFromCopy helper nowadays return a MachineOperand pointer, so talking about zero_reg was incorrect as it nowadays return a nullptr when not finding a copy like instruction.
-
Adam Czachorowski authored
This addresses a FIXME in ASTReader. Modules were already re-exported for Preprocessor, but not for Sema. The result was that, with -fmodules-local-submodule-visibility, all AST nodes belonging to a module that was loaded in a premable where not accesible from the main part of the file and a diagnostic recommending importing those modules would be generated. Differential Revision: https://reviews.llvm.org/D86069
-
Adam Czachorowski authored
When preamble contains #undef, indexing code finds the matching #define and uses that during indexing. However, it would only look for local definitions. If the macro was defined in a module, MacroInfo would be nullptr and clangd would crash. This change makes clangd ignore any #undef without a matching #define inside the same TU. The indexing of macros happens for preamble only, so then #undef must be in the preamble, which is why we need two .h files in a test. Note that clangd is currently not ready for module support, but this brings us one step closer. This was previously attempted in 4061d9e4, but had to be reverted due to broken test. This version fixes that test-only bug by setting a custom module cache path to avoid re-use of modules across test invocations. Differential Revision: https://reviews.llvm.org/D85923
-
Simon Pilgrim authored
-
David Green authored
-
Shinji Okumura authored
Currently, although we handle `CallBase` case in updateImpl, we give up in initialize in the case. That is problematic when we propagate a range from call site returned position to floating position. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D86196
-