- Apr 02, 2020
-
-
Matt Arsenault authored
-
Nico Weber authored
The problem on Windows was that the \b in "..\bin" was interpreted as an escape sequence. Use r"" strings to prevent that. This reverts commit ab11b9ee, with raw strings in the lit.site.cfg.py.in files. Differential Revision: https://reviews.llvm.org/D77184
-
Nico Weber authored
This reverts commit fb80b6b2 and follow-up 631ee8b2. Seems to not work on Windows: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/31684 http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/6512 Let's revert while I investigate.
-
Nico Weber authored
Currently, all generated lit.site.cfg files contain absolute paths. This makes it impossible to build on one machine, and then transfer the build output to another machine for test execution. Being able to do this is useful for several use cases: 1. When running tests on an ARM machine, it would be possible to build on a fast x86 machine and then copy build artifacts over after building. 2. It allows running several test suites (clang, llvm, lld) on 3 different machines, reducing test time from sum(each test suite time) to max(each test suite time). This patch makes it possible to pass a list of variables that should be relative in the generated lit.site.cfg.py file to configure_lit_site_cfg(). The lit.site.cfg.py.in file needs to call `path()` on these variables, so that the paths are converted to absolute form at lit start time. The testers would have to have an LLVM checkout at the same revision, and the build dir would have to be at the same relative path as on the builder. This does not yet cover how to figure out which files to copy from the builder machine to the tester machines. (One idea is to look at the `--graphviz=test.dot` output and copy all inputs of the `check-llvm` target.) Differential Revision: https://reviews.llvm.org/D77184
-
Gabor Marton authored
Summary: Previously we induced a state split if there were multiple argument constraints given for a function. This was because we called `addTransition` inside the for loop. The fix is to is to store the state and apply the next argument constraint on that. And once the loop is finished we call `addTransition`. Reviewers: NoQ, Szelethus, baloghadamsoftware Subscribers: whisperity, xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, C Tags: #clang Differential Revision: https://reviews.llvm.org/D76790
-
Alexey Bataev authored
Added basic parsing/semantic analysis/(de)serialization support for iterator expression introduced in OpenMP 5.0.
-
Sven van Haastregt authored
Add the sub-group builtin functions from the OpenCL Extension specification. This patch excludes the sub_group_barrier builtins that take argument types not yet handled by the `-fdeclare-opencl-builtins` machinery. Co-authored-by:
Pierre Gondois <pierre.gondois@arm.com>
-
Lucas Prates authored
[Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields Summary: The construction of constants for structs/unions was conflicting the expected memory layout for over-sized bit-fields. When building the necessary bits for those fields, clang was ignoring the size information computed for the struct/union memory layout and using the original data from the AST's FieldDecl information. This caused an issue in big-endian targets, where the field's contant was incorrectly misplaced due to endian calculations. This patch aims to separate the constant value from the necessary padding bits, using the proper size information for each one of them. With this, the layout of constants for over-sized bit-fields matches the ABI requirements. Reviewers: rsmith, eli.friedman, efriedma Reviewed By: efriedma Subscribers: efriedma, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77048
-
Daniel Kiss authored
Summary: As defined by Arm C Language Extensions (ACLE) these macro defines should be set to specific values depending on -mbranch-protection. Reviewers: chill Reviewed By: chill Subscribers: danielkiss, cfe-commits, kristof.beyls Tags: #clang Differential Revision: https://reviews.llvm.org/D77134
-
WangTianQing authored
Summary: For more details about this instruction, please refer to the latest ISE document: https://software.intel.com/en-us/download/intel-architecture-instruction-set-extensions-programming-reference Reviewers: craig.topper, RKSimon, LuoYuanke Reviewed By: craig.topper Subscribers: mgorny, hiraditya, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77193
-
Yaxun (Sam) Liu authored
Currently deferred diagnostic emitter checks variable decl in DeclRefExpr, which causes infinite recursion for cases like long a = (long)&a;. Deferred diagnostic emitter does not need check variable decls in DeclRefExpr since reference of a variable does not cause emission of functions directly or indirectly. Therefore there is no need to check variable decls in DeclRefExpr. Differential Revision: https://reviews.llvm.org/D76937
-
- Apr 01, 2020
-
-
David Blaikie authored
Caused an assertion due to mismatched bit widths - this seems like the right API to use for a possibly width-varying equality test. Though certainly open to some post-commit review feedback if there's a more suitable way to do this comparison/test.
-
Alexey Bataev authored
This reverts commit f08df464 to fix the bug with serialization support for iterator expression.
-
Alexey Bataev authored
Added basic parsing/semantic analysis/(de)serialization support for iterator expression introduced in OpenMP 5.0.
-
Matt Arsenault authored
This wasn't respecting the flush mode based on the default, and also wasn't correctly handling the explicit -fno-cuda-flush-denormals-to-zero overriding the mode.
-
Artem Dergachev authored
OSSymbol objects are particular XNU OSObjects that aren't really reference-counted. Therefore you cannot do any harm by over- or under-releasing them.
-
Puyan Lotfi authored
Prior to this change the clang interface stubs format resembled something ending with a symbol list like this: Symbols: a: { Type: Func } This was problematic because we didn't actually want a map format and also because we didn't like that an empty symbol list required "Symbols: {}". That is to say without the empty {} llvm-ifs would crash on an empty list. With this new format it is much more clear which field is the symbol name, and instead the [] that is used to express an empty symbol vector is optional, ie: Symbols: - { Name: a, Type: Func } or Symbols: [] or Symbols: This further diverges the format from existing llvm-elftapi. This is a good thing because although the format originally came from the same place, they are not the same in any way. Differential Revision: https://reviews.llvm.org/D76979
-
Fangrui Song authored
Most OS✕target enable -fverbose-asm, so it makes sense to flip the CC1 option to reduce common command lines.
-
Fangrui Song authored
The driver enables -fdiagnostics-show-option by default, so flip the CC1 default to reduce the lengths of common CC1 command lines. This change also makes ParseDiagnosticArgs() consistently enable -fdiagnostics-show-option by default.
-
Ian Levesque authored
Summary: This allows instrumenting things like global initializers Reviewers: dberris, MaskRay, smeenai Subscribers: cfe-commits, johnislarry Tags: #clang Differential Revision: https://reviews.llvm.org/D77191
-
Fangrui Song authored
-
Weverything authored
adb290d9 added a new case to err_atomic_specifier_bad_type. The diagnostic has two %select's controlled by the same argument, but only the first was updated to have the new case. Add the extra case for the second %select and add a test case that exercises the last case.
-
Fangrui Song authored
-fmessage-length=0 is common (unless the environment variable COLUMNS is set and exported. This simplifies a common CC1 command line.
-
Alexey Bataev authored
Added codegen support for array shaping operations in map/to/from clauses.
-
Alexey Bataev authored
codegen. Need to include the size of the pointee type when trying to calculate the total size of the array shaping expression.
-
Matt Arsenault authored
Apparently HIPToolChain does not subclass from AMDGPUToolChain, so this was not applying the new denormal attributes. I'm not sure why this doesn't subclass. Just copy the implementation for now.
-
- Mar 31, 2020
-
-
Alexey Bataev authored
Need to allow arrayshaping expression in a list of expressions, so use ParseAssignmentExpression() when try to parse the base of the shaping operation.
-
Ben Langmuir authored
Previously we would emit a PCH with errors, but fail the overall compilation. If run using the driver, that would result in removing the just-produced PCH. Instead, we should have the compilation result match whether we were able to emit the PCH. Differential Revision: https://reviews.llvm.org/D77159 rdar://61110294
-
Anna Thomas authored
This reverts commit 28518d9a. There is a failure in MsgPackReader.cpp when built with clang. It complains about "signext and zeroext" are incompatible. Investigating offline if it is infact a UB in the MsgPackReader code.
-
Amara Emerson authored
Since GlobalISel is maturing and is already on at -O0 for AArch64, it's not completely "experimental". Create a more appropriate driver flag and make the older option an alias for it. Differential Revision: https://reviews.llvm.org/D77103
-
Anna Thomas authored
Consider a callee function that has a call (C) within it which feeds into the return. When we inline that callee into a callsite that has return attributes, we can backward propagate those attributes to the call (C) within that inlined callee body. This is safe to do so only if we can guarantee transfer of execution to successor in the window of instructions between return value (i.e. the call C) and the return instruction. See added test cases. Reviewed-By: reames, jdoerfert Differential Revision: https://reviews.llvm.org/D76140
-
Sam McCall authored
Summary: The basic idea is to walk through the concept definition, looking for t.foo() where t has the constrained type. In this patch: - nested types are recognized and offered after :: - variable/function members are recognized and offered after the correct dot/arrow/colon trigger - member functions are recognized (anything directly called). parameter types are presumed to be the argument types. parameters are unnamed. - result types are available when a requirement has a type constraint. These are printed as constraints, except same_as<T> which prints as T. Not in this patch: - support for merging/overloading when two locations describe the same member. The last one wins, for any given name. This is probably important... - support for nested template members (T::x<int>) - support for completing members of (instantiations of) template template parameters Reviewers: nridge, saar.raz Subscribers: mgrang, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73649
-
Richard Smith authored
Also change type annotation representation from ParsedType to TypeResult to make it clearer to consumers that they can represent invalid types.
-
- Mar 30, 2020
-
-
Alexey Bataev authored
expression. We should not assume that the base expression in the array shaping operation is an lvalue of some form, it may be an rvalue.
-
Vince Bridgers authored
Summary: This check was causing a crash in a test case where the 0th argument was uninitialized ('Assertion `T::isKind(*this)' at line SVals.h:104). This was happening since the argument was actually undefined, but the castAs assumes the value is DefinedOrUnknownSVal. The fix appears to be simply to check for an undefined value and skip the check allowing the uninitalized value checker to detect the error. I included a test case that I verified to produce the negative case prior to the fix, and passes with the fix. Reviewers: martong, NoQ Subscribers: xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, Charusso, ASDenysPetrov, baloghadamsoftware, dkrupp, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77012
-
Eli Friedman authored
-Wthread-safety was failing to detect certain AST patterns it should detect. Make the pattern detection a bit more comprehensive. Due to an unrelated bug involving template instantiation, this showed up as a regression in 10.0 vs. 9.0 in the original bug report. The included testcase fails on older versions of clang, though. Fixes https://bugs.llvm.org/show_bug.cgi?id=45323 . Differential Revision: https://reviews.llvm.org/D76943
-
Alexey Bataev authored
clauses. Implemented codegen for array shaping operation in depend clauses. The begin of the expression is the pointer itself, while the size of the dependence data is the mukltiplacation of all dimensions in the array shaping expression.
-
Sid Manning authored
Noticed when building llvm's c++ library. Differential Revision: https://reviews.llvm.org/D76546
-
Gabor Marton authored
Reviewers: Szelethus, NoQ Subscribers: whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, Charusso, steakhal, ASDenysPetrov, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77061
-
Florian Hahn authored
As per post-commit comment at https://reviews.llvm.org/D76916, this should better be done at the TU level. This reverts commit 9ce198d6.
-