- Jul 10, 2020
-
-
Christopher Tetreault authored
Reviewers: efriedma, fpetrogalli, sdesmalen, RKSimon, arsenm Reviewed By: RKSimon Subscribers: wdng, tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82210
-
Craig Topper authored
Follow up from the transform being removed in D83360. If X is probably not poison, then the transform is safe. Still plan to remove or adjust the code from ConstantFolding after this. Differential Revision: https://reviews.llvm.org/D83440
-
Louis Dionne authored
This reduces the set of substitutions required to run the test suite.
-
David Tenty authored
Summary: AIX uses an environment variable called OBJECT_MODE to indicate to utilities in the toolchain whether they should be operating in 32-bit or 64-bit mode. This patch makes the clang driver recognize the current OBJECT_MODE setting when we are operating with an AIX target and adds a custom diagnostic for invalid settings. For more details about OBJECT_MODE on AIX see: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/tusetenv1.html https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/opt_3264.html Reviewers: stevewan, hubert.reinterpretcast, ShuhongL, jasonliu Reviewed By: hubert.reinterpretcast, jasonliu Subscribers: jasonliu, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82476
-
Jeremy Bruestle authored
Reviewed By: bondhugula, flaub Differential Revision: https://reviews.llvm.org/D82600
-
Jan Korous authored
This assert was failing: assert(CAT && "unexpected type for array initializer"); until this patch landed: 9a7eda1b PR45350: Handle unsized array CXXConstructExprs in constant evaluation
-
Kyungwoo Lee authored
Differential Revision: https://reviews.llvm.org/D83456
-
Jonas Devlieghere authored
There are bugs where you don't want the signal handler to trigger, most notably when that will cause another crash. Examples of this are lldb running out of memory or a bug in the reproducer generation code. This adds an escape hatch trough a (developer oriented) flag to not install the signal handler. rdar://problem/65149595 Differential revision: https://reviews.llvm.org/D83496
-
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
-