- Jul 10, 2020
-
-
Jonas Devlieghere authored
This is a preparatory rename of the developer facing reproducer flags. reproducer-skip-version-check -> reproducer-no-version-check reproducer-auto-generate -> reproducer-generate-on-quit
-
Puyan Lotfi authored
The following: https://reviews.llvm.org/D82552 fixed an assert in the SelectionDag ISel legalizer for some CCs on armv7. I noticed that this fix also fixes the assert when using fastcc, so I am adding a fastcc regression test here. Differential Revision: https://reviews.llvm.org/D82443
-
cchen authored
Reviewers: ABataev, jdoerfert Reviewed By: ABataev Subscribers: yaxunl, guansong, arphaman, sstefan1, cfe-commits, sandoval, dreachem Tags: #clang Differential Revision: https://reviews.llvm.org/D82800
-
Louis Dionne authored
This preserves existing behavior before f5f58f1f.
-
Eric Christopher authored
-
Craig Topper authored
[InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison We can't fold to the non-undef value unless we know it isn't poison. So check each element with isGuaranteedNotToBeUndefOrPoison. This currently rules out all constant expressions. Differential Revision: https://reviews.llvm.org/D83442
-
Louis Dionne authored
-
Craig Topper authored
If we don't immediately lower the vector shift, the splat constant vector we created may get turned into a constant pool load before we get around to lowering the shift. This makes it a lot more difficult to create a shift by constant. Sometimes we fail to see through the constant pool at all and end up trying to lower as if it was a variable shift. This requires custom handling and may create an unsupported vselect on pre-sse-4.1 targets. Since we're after LegalizeVectorOps we are unable to legalize the unsupported vselect as that code is in LegalizeVectorOps rather than LegalizeDAG. So calling LowerShift immediately ensures that we get see the splat constant. Fixes PR46527. Differential Revision: https://reviews.llvm.org/D83455
-
David Blaikie authored
These were initially added to cleanup some transient/leftover files in r372054. Now that's all cleaned up, these are no longer needed.
-
Hiroshi Yamauchi authored
-
Craig Topper authored
[X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitting sign bit tests. Technically a VSELECT expects a vector of all 1s or 0s elements for its condition. But we aren't guaranteeing that the sign bit and the non sign bits match in these locations. So we should use BLENDV which is more relaxed. Differential Revision: https://reviews.llvm.org/D83447
-
Stefan Pintilie authored
Forgot to add the REQUIRES ppc line to the test.
-
Louis Dionne authored
The documentation is still awfully outdated, but it's a bit better at least.
-
Vedant Kumar authored
As suggested in the review for https://reviews.llvm.org/D83359.
-
Vedant Kumar authored
Summary: DWARF-parsing methods in SymbolFileDWARF which update module state typically take the module lock. ParseCallEdgesInFunction doesn't do this, but higher-level locking within lldb::Function (which owns the storage for parsed call edges) is necessary. The lack of locking could explain some as-of-yet unreproducible crashes which occur in Function::GetTailCallingEdges(). In these crashes, the `m_call_edges` vector is non-empty but contains a nullptr, which shouldn't be possible. (If this vector is non-empty, it _must_ contain a non-null unique_ptr.) This may address rdar://55622443 and rdar://65119458. Reviewers: jasonmolenda, friss, jingham Subscribers: aprantl, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D83359
-
Florian Hahn authored
using all_of and checking for valid users in the lambda seems more straight forward. Also adds a comment explaining what we are checking.
-
Daniel Grumberg authored
Summary: Putting all the options in the same file is needed so they can be ordered based on the dependencies between them. Reviewers: Bigcheese, jdoerfert Subscribers: dexonsmith, sstefan1, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82574
-
Louis Dionne authored
-
Louis Dionne authored
-
Louis Dionne authored
-
Hiroshi Yamauchi authored
-
Sergej Jaskiewicz authored
Summary: This allows using lit substitutions in the `COMPILER_RT_EMULATOR` variable. (For reference, the ability to expand substitutions recursively has been introduced in https://reviews.llvm.org/D76178.) Reviewers: phosek, compnerd Reviewed By: compnerd Subscribers: dberris, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D83489
-
Louis Dionne authored
This allows passing parameters to the test suites without using LLVM_LIT_ARGS. The problem is that we sometimes want to set some Lit arguments on the CMake command line, but the Lit parameters in a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS, the command-line entry overrides the cache one, and the parameters set by the cache are ignored. This fixes a current issue with the build bots that they completely ignore the 'std' param set by Lit, because other Lit arguments are provided via LLVM_LIT_ARGS on the CMake command-line.
-
Sergej Jaskiewicz authored
Summary: Right now the lit config builds up an environment that the tests will be run in. However, it does it from scratch instead of adding new variables to the parent process environment. This may (and does) result in strange behavior when running tests with an executor (i. e. with the `COMPILER_RT_EMULATOR` CMake variable set to something), since the executor may need some of the parent process's environment variables. Here this is fixed. Reviewers: compnerd, phosek Reviewed By: compnerd Subscribers: dberris, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D83486
-
Fred Riss authored
-
Sergej Jaskiewicz authored
Summary: These changes are necessary to support remote running compiler-rt tests that were compiled on Windows. Most of the code here has been copy-pasted from other lit configs. Why do we remove the conversions to ASCII in the crt config? We set the `universal_newlines` argument to `True` in `Popen` instead. This is supported in both Python 2.7 and 3, is easier (no need to do the `str(dir.decode('ascii'))` dance) and less error prone. Also, this is necessary because if the config is executed on Windows, and `execute_external` is `True`, we take the branch `if sys.platform in ['win32'] and execute_external`, and if we use Python 3, then the `dir` variable is a byte-like object, not str, but the ``replace method on byte-like objects requires its arguments to also be byte-like objects, which is incompatible with Python 2 etc etc. It is a lot simpler to just work with strings in the first place, which is achieved by setting `universal_newlines` to `True`. As far as I understand, this way wasn't taken because of the need to support Python <2.7, but this is not the case now. Reviewers: compnerd, phosek, weimingz Reviewed By: compnerd Subscribers: dberris, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D83485 -
Nikita Popov authored
The code currently checks whether the intersection has one of TBAA, Scope or NoAlias unset -- however, those might have already been unset in the first place, in which case we will unnecessarily report a change. Instead, compare the intersection result to the original AAInfo. This makes for a 0.5% geomean compile-time saving on CTMark. Differential Revision: https://reviews.llvm.org/D83430
-
Stefan Pintilie authored
Currently the instruction paddi always takes s34imm as the type for the 34 bit immediate. However, the PC Relative form of the instruction should not produce the same fixup as the non PC Relative form. This patch splits the s34imm type into s34imm and s34imm_pcrel so that two different fixups can be emitted. Reviewed By: kamaub, nemanjai Differential Revision: https://reviews.llvm.org/D83255
-
Florian Hahn authored
Some of the tests in the llvm/test/Transforms/IPConstantProp directory actually only use -ipsccp. Those tests belong to the other (IP)SCCP tests in llvm/test/Transforms/SCCP/ and this commits moves them there to avoid confusion with IPConstantProp.
-
- Jul 09, 2020
-
-
Hans Wennborg authored
Revert 51b0da73 "Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."" It gets miscompiled with GCC 5.3, causing Clang to crash with "error: unknown target CPU 'x86-64'" See the llvm-commits thread for reproduction steps. This reverts commit 51b0da73.
-
Dmitri Gribenko authored
Summary: We would like to use NumericLiteralParser in the implementation of the syntax tree builder, and plumbing a preprocessor there seems inconvenient and superfluous. Reviewers: eduucaldas Reviewed By: eduucaldas Subscribers: gribozavr2, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83480
-
Anatoly Trosinenko authored
Assembler output is checked against msp430-gcc 9.2.0.50 from TI. Reviewed By: asl Differential Revision: https://reviews.llvm.org/D82646
-
George Mitenkov authored
This patch adds type conversion for 4 SPIR-V types: array, runtime array, pointer and struct. This conversion is integrated using a separate function `populateSPIRVToLLVMTypeConversion()` that adds new type conversions. At the moment, this is a basic skeleton that allows to perfom conversion from SPIR-V array, runtime array and pointer types to LLVM typesystem. There is no support of array strides or storage classes. These will be supported on the case by case basis. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D83399
-
Zhi Zhuang authored
in places such as constant folding Previously some places that should have handled __builtin_expect_with_probability is missing, so in some case it acts differently than __builtin_expect. For example it was not handled in constant folding, thus in the following program, the "if" condition should be constantly true and folded, but previously it was not handled and cause warning "control may reach end of non-void function" (while __builtin_expect does not): __attribute__((noreturn)) extern void bar(); int foo(int x, int y) { if (y) { if (__builtin_expect_with_probability(1, 1, 1)) bar(); } else return 0; } Now it's fixed. Differential Revisions: https://reviews.llvm.org/D83362 -
Stefan Pintilie authored
The R_PPC64_REL24 is used in function calls when the caller requires a valid TOC pointer. If the callee shares the same TOC or does not clobber the TOC pointer then a direct call can be made. If the callee does not share the TOC a thunk must be added to save the TOC pointer for the caller. Up until PC Relative was introduced all local calls on medium and large code models were assumed to share a TOC. This is no longer the case because if the caller requires a TOC and the callee is PC Relative then the callee can clobber the TOC even if it is in the same DSO. This patch is to add support for a TOC caller calling a PC Relative callee that clobbers the TOC. Reviewed By: sfertile, MaskRay Differential Revision: https://reviews.llvm.org/D82950
-
George Mitenkov authored
Added `getSizeInBytes()` function as a class member to several SPIR-V types: `ScalarType`, `ArrayType` and `VectorType`. This function aims at exposing the functionality of `getTypeNumBytes()` from `SPIRVLowering.cpp`. Support of more types will be added on demand. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D83285
-
Eric Schweitz authored
[flang] partially revert upstreamed code to support complex values in runtime support to avoid warnings.
-
Diogo Sampaio authored
-
Matt Arsenault authored
The unfortunate split between finalizeLowering and the selector pass means there's a point where the verifier fails. The DAG selector pass skips the verifier, but this seems to not work when using the GlobalISel fallback.
-
Simon Pilgrim authored
-