- Jun 03, 2020
-
-
kamlesh kumar authored
Provides an assembly implementation of muldi3 for RISC-V, to solve bug 43388. Since the implementation is the same as for mulsi3, that code was moved to `riscv/int_mul_impl.inc` and is now reused by both `mulsi3.S` and `muldi3.S`. Differential Revision: https://reviews.llvm.org/D80465
-
Thomas Lively authored
Summary: The shuffle intrinsic macros did not parenthesize usages of their constant parameters, which could lead to incorrect results due to operator precedence issues. This patch fixes the problem by adding the missing paretheses. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, sunfish, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80968
-
Paula Toth authored
Summary: This patch aims to add integration tests to check the following: 1) Header files are generated as expected. 2) Libc functions have the correct public name. 3) Libc functions have the correct return type and parameter types. 4) Symbols are exposed in the public lib.a files. Reviewers: sivachandra, abrachet Reviewed By: sivachandra Subscribers: aheejin, ecnelises, dxf, mgorny, jfb, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D79192
-
dstuttar authored
Summary: Switch with just default causes an MSVC warning (warning C4065: switch statement contains 'default' but no 'case' labels). Change-Id: I9ddeccdef93666256b5454b164b567b73b488461 Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81021
-
Alexey Bataev authored
Fix compiler crash when an expression parsed in the tentative parsing and must be claimed in the another evaluation context. Summary: Clang crashes when trying to finish function body. MaybeODRUseExprs is not empty because of const static data member parsed in outer evaluation context, upon call for isTypeIdInParens() function. It builds annot_primary_expr, later parsed in ParseConstantExpression() in inner constant expression evaluation context. Reviewers: rjmccall, rsmith Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80925
-
Diego Caballero authored
'git push' command, without any other arguments, can do different things depending on the local configuration of Git. This patch updates the 'git push' command with extra arguments to be more resilient to any local configuration. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D79964
-
Fangrui Song authored
-
Jonas Devlieghere authored
Some of the --debug-* options can take an optional offset. Although the man page does a good job of making that clear, it's much harder to discover from the help output. Currently the only reference to this is the following sentence: > Where applicable these parameters take an optional =<offset> argument > to dump only the entry at the specified offset. This patch changes the help output from to print [=<offset>] after the options that take an offset. --debug-info[=<offset>] - Dump the .debug_info section rdar://problem/63150066 Differential revision: https://reviews.llvm.org/D80959
-
Matt Arsenault authored
The chained unconditional branches can be eliminated and it's not relevant to the test.
-
Matt Arsenault authored
Add mode defs rather than special casing this like some of the other instructions.
-
Matt Arsenault authored
These are scalar instructions that change vector instructions, so they should not be executed without any active lanes. The implementation of -amdgpu-skip-threshold also seem to be backwards from expected, since decreasing it prevents removal.
-
Jacques Pienaar authored
Differential Revision: https://reviews.llvm.org/D80818
-
Hiroshi Yamauchi authored
Summary: Following up D79751. Reviewers: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80578
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Konrad Kleine authored
Summary: This is how I applied my clang-tidy check (see https://reviews.llvm.org/D80531) in order to remove `DISALLOW_COPY_AND_ASSIGN` and have deleted copy ctors and deleted assignment operators instead. ``` lang=bash grep DISALLOW_COPY_AND_ASSIGN /opt/notnfs/kkleine/llvm/lldb -r -l | sort | uniq > files for i in $(cat files); do clang-tidy \ --checks="-*,modernize-replace-disallow-copy-and-assign-macro" \ --format-style=LLVM \ --header-filter=.* \ --fix \ -fix-errors \ $i; done ``` Reviewers: espindola, labath, aprantl, teemperor Reviewed By: labath, aprantl, teemperor Subscribers: teemperor, aprantl, labath, emaste, sbc100, aheejin, MaskRay, arphaman, usaxena95, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80543
-
Zequan Wu authored
[Clang] Add a new warning to warn when passing uninitialized variables as const reference parameters to a function Summary: Add a new warning -Wuninitialized-const-reference as a subgroup of -Wuninitialized to address a bug filed here: https://bugs.llvm.org/show_bug.cgi?id=45624 This warning is controlled by -Wuninitialized and can be disabled by -Wno-uninitialized-const-reference. The warning is diagnosed when passing uninitialized variables as const reference parameters to a function. Differential Revision: https://reviews.llvm.org/D79895
-
Min-Yih Hsu authored
Extension vectors now can be used in element-wise conditional selector. For example: ``` R[i] = C[i]? A[i] : B[i] ``` This feature was previously only enabled in OpenCL C. Now it's also available in C. Not that it has different behaviors than GNU vectors (i.e. __vector_size__). Extension vectors selects on signdness of the vector. GNU vectors on the other hand do normal bool conversions. Also, this feature is not available in C++. Differential Revision: https://reviews.llvm.org/D80574
-
Pavel Labath authored
It seems that this opcode needs explicit support in dsymutil. Disable these tests until that is implemented.
-
Louis Dionne authored
When building the system libc++abi for Apple, we use CrashReporterClient to provide better crash logs when calling abort(). This is exemplified by the fact that we test for the presence of <CrashReporterClient.h> in abort_message.cpp. However, we must link against CrashReporterClient.a in order to get that functionality, otherwise we get a linking error.
-
- Jun 02, 2020
-
-
Simon Pilgrim authored
-
David Truby authored
Summary: This patch removes the custom CMAKE_RELEASE_CXX_FLAGS variable. This variable being set was having the effect of removing other important Release flags, notably `-DNDEBUG`. This patch may need to be accompanied by fixes for the macOS issues that the removed comment mentions; I don't have a mac to test this on though so hopefully a reviewer can help with that. Reviewers: Andrzej, tskeith, sscalpone Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80794
-
Tom Weaver authored
* Adds DexLimitSteps Command. * Add ConditionalController, a new DebuggerController type. * 5 regression tests * documentation Reviewers: jmorse Differential Revision: https://reviews.llvm.org/D79786
-
Tom Weaver authored
When passing a test path, if the path points directly at a file, then normcase would not be called on path. This would change the expected lower case drive path, on windows, to be uppercase. This patch simply calls normcase on the test path at the earliest point possible to avoid this issue. Reviewers: djtodoro, jmorse Differential Revision: https://reviews.llvm.org/D78633
-
Dmitri Gribenko authored
Reviewers: eduucaldas Reviewed By: eduucaldas Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81009
-
Alexey Bataev authored
Summary: Added initial codegen for 'affinity' clauses on task directives. Emits next code: ``` kmp_task_affinity_info_t affs[<num_elems>]; void *td = __kmpc_task_alloc(..); affs[<i>].base = &data_i; affs[<i>].size = sizeof(data_i); __kmpc_omp_reg_task_with_affinity(&loc, <gtid>, td, <num_elems>, affs); ``` The result returned by the call of `__kmpc_omp_reg_task_with_affinity` function is ignored currently sincethe runtime currently ignores args and returns 0 uncoditionally. Reviewers: jdoerfert Subscribers: yaxunl, guansong, sstefan1, llvm-commits, cfe-commits, caomhin Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D80240
-
Dmitri Gribenko authored
Summary: I think we would be better off with tests explicitly specifying the language mode. Right now Lang_C means C99, but reads as "any C version", or as "unspecified C version". I also changed '-std=c++98' to '-std=c++03' because they are aliases (so there is no difference in practice), because Clang implements C++03 rules in practice, and because 03 makes a nice sortable progression between 03, 11, 14, 17, 20. Reviewers: shafik, hlopko Reviewed By: hlopko Subscribers: jfb, martong, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81000
-
Georgii Rymar authored
This teaches yaml2obj to allocate file space for a no-bits section when there is a non-nobits section in the same segment that follows it. It was discussed in D78005 thread and matches GNU linkers and LLD behavior. Differential revision: https://reviews.llvm.org/D80629
-
serge-sans-paille authored
Instead of using a fake call and metadata to temporarily represent a probed static alloca, use a pseudo instruction. This is inspired by the SystemZ approach proposed in https://reviews.llvm.org/D78717. Differential Revision: https://reviews.llvm.org/D80641
-
Haojian Wu authored
Summary: For a none-function-like unresolved expression, clang builds a TypoExpr for it, and tries to correct it afterwards. If the typo-correction fails, clang just drops the whole expr. This patch improves the recovery strategy -- if the typo-correction fails, we preserve the AST by degrading the typo exprs to recovery exprs. This would improve toolings for "undef_var" broken cases: ``` void foo(); void test() { fo^o(undef_var); // go-to-def, hover still works. } ``` TESTED=ran tests with this patch + turn-on-recovery-ast patch, it breaks one declare_variant_messages testcase (the diagnostics are slightly changed), I think it is acceptable. ``` Error: 'error' diagnostics seen but not expected: File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 16: expected 'match' clause on 'omp declare variant' directive File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 57: expected 'match' clause on 'omp declare variant' directive error: 'warning' diagnostics expected but not seen: File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 47: the context selector 'kind' in the context set 'device' cannot have a score ('<invalid>'); score ignored File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 87: the context selector 'kind' in the context set 'device' cannot have a score ('<invalid>'); score ignored error: 'warning' diagnostics seen but not expected: File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 47: the context selector 'kind' in the context set 'device' cannot have a score ('<recovery-expr>()'); score ignored File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 87: the context selector 'kind' in the context set 'device' cannot have a score ('<recovery-expr>()'); score ignored 6 errors generated. ``` Reviewers: sammccall, jdoerfert Subscribers: sstefan1, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80733 -
Matt Arsenault authored
The pass which infers when it's legal to load a global address space as SMRD was only considering amdgpu_kernel, and ignoring the shader entry type calling conventions.
-
Haojian Wu authored
-
Kadir Cetinkaya authored
-
Matt Arsenault authored
The change to fold_priv_arith looks strange to me, but this was already the untested behavior for local.
-
Kadir Cetinkaya authored
Summary: ReplayPreamble was just grabbing the reference of IncludeStructure passed to it and then replayed any includes seen so while exiting built-in file. This implies any include seen in built-in files being replayed as part of preamble, even though they are not. This wasn't an issue until we've started patching preambles, as includes from built-in files were not mapped back to main-file. This patch copies over existing includes at the time of ReplayPreamble::attach and only replies those to prevent any includes from the preamble patch getting mixed-in. Reviewers: sammccall, jkorous Subscribers: ilya-biryukov, MaskRay, dexonsmith, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80988
-
Kadir Cetinkaya authored
This reverts commit bff0c56f. I've pushed the earlier version of the patch by mistake.
-
Nico Weber authored
-
Igor Kudrin authored
-
Alex Zinenko authored
Dialect conversion infrastructure supports 1->N type conversions by requiring individual conversions to provide facilities to generate operations retrofitting N values into 1 of the original type when N > 1. This functionality can also be used to materialize explicit "cast"-like operations, but it did not support 1->1 type conversions until now. Modify TypeConverter to support materialization of cast operations for 1-1 conversions. This also makes materialization specification more extensible following the same pattern as type conversions. Instead of overloading a virtual function, users or subclasses of TypeConversion can now register type-specific materialization callbacks that will be called in order for the given type. Differential Revision: https://reviews.llvm.org/D79729
-
Kadir Cetinkaya authored
ReplayPreamble was just grabbing the reference of IncludeStructure passed to it and then replayed any includes seen so while exiting built-in file. This implies any include seen in built-in files being replayed as part of preamble, even though they are not. This wasn't an issue until we've started patching preambles, as includes from built-in files were not mapped back to main-file. This patch copies over existing includes at the time of ReplayPreamble::attach and only replies those to prevent any includes from the preamble patch getting mixed-in.
-