- May 06, 2020
-
-
Louis Dionne authored
Since c0cd106f, we add __config_site macro defines to the compiler command line whether we are building with modules or not. This means that the modules tests are expected to fail on single-threaded systems whether we build with modules or not.
-
Sanjay Patel authored
-
Erich Keane authored
This is the result of an audit of all of the ABIs in clang to implement and enable the type for those targets. Additionally, this finds an issue with integer-promotion passing for a few platforms when using _ExtInt of < int, so this also corrects that resulting in signext/zeroext being on a params of those types in some platforms. Differential Revisions: https://reviews.llvm.org/D79118
-
David Green authored
If we get into the situation where we are extracting from a VDUP, the extracted value is just the origin, so long as the types match or we can bitcast between the two. Differential Revision: https://reviews.llvm.org/D78708
-
Adam Czachorowski authored
Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79488
-
Renato Golin authored
The types of forward references are checked that they match with other uses, but they do not check they match with the definition. func @forward_reference_type_check() -> (i8) { br ^bb2 ^bb1: return %1 : i8 ^bb2: %1 = "bar"() : () -> (f32) br ^bb1 } Would be parsed and the use site of '%1' would be silently changed to 'f32'. This commit adds a test for this case, and a check during parsing for the types to match. Patch by Matthew Parkinson <mattpark@microsoft.com> Closes D79317.
-
David Green authored
The idea, under MVE, is to introduce more bitcasts around VDUP's in an attempt to get the type correct across basic block boundaries. In order to do that without other regressions we need a few fixups, of which this is the first. If the code is a bitcast of a VDUP, we can convert that straight into a VDUP of the new type, so long as they have the same size. Differential Revision: https://reviews.llvm.org/D78706
-
Alexandre Ganea authored
Emit S_[L|G][THREAD32|DATA32] records with a fully qualified name (namespace + class scope). Differential Revision: https://reviews.llvm.org/D79447
-
Alexandre Ganea authored
[Support] Silence warning: comparison of integers of different signs: 'const int' and 'const unsigned long'
-
Alexandre Ganea authored
Differential Revision: https://reviews.llvm.org/D79337
-
Alexandre Ganea authored
Differential Revision: https://reviews.llvm.org/D79337
-
Nicolas Vasilache authored
Summary: This revision adds a conservative canonicalization pattern for MemRefCastOp that are typically inserted during ViewOp and SubViewOp canonicalization. Ideally such canonicalizations would propagate the type to consumers but this is not a local behavior. As a consequence MemRefCastOp are introduced to keep type compatibility but need to be cleaned up later, in the case where more dynamic behavior than necessary is introduced. Differential Revision: https://reviews.llvm.org/D79438
-
Simon Pilgrim authored
This patch replaces the VZEXT_MOVL removal from combineShuffle with a more general version based in SimplifyDemandedVectorEltsForTargetNode. By using computeKnownBits we can always remove the VZEXT_MOVL if the upper elements of the source operand are known to be zero. This requires us to add the conversion ops to computeKnownBitsForTargetNode as well. Reviewed By: @craig.topper Differential Revision: https://reviews.llvm.org/D79335
-
Simon Pilgrim authored
Use SelectionDAG::MaxRecursionDepth instead of (equal) hard coded constant. clang-format
-
David Spickett authored
This relands commit d782d1f8. With a typo fixed, which was causing the x86 test failure.
-
Raphael Isemann authored
-
Richard Sandiford authored
The built-in SVE types are supposed to be treated as opaque types. This means that for initialisation purposes they should be treated as a single unit, much like a scalar type. However, as Eli pointed out, actually using "scalar" in the diagnostics is likely to cause confusion, given the types are logically vectors. The patch therefore uses custom diagnostics or generalises existing ones. Some of the messages use the word "indivisible" to try to make it clear(er) that these types can't be initialised elementwise. I don't think it's possible to trigger warn_braces_around_(scalar_)init for sizeless types as things stand, since the types can't be used as members or elements of more complex types. But it seemed better to be consistent with ext_many_braces_around_(scalar_)init, so the patch changes it anyway. Differential Revision: https://reviews.llvm.org/D76689
-
Kadir Cetinkaya authored
This reverts commit 4f7917c2 as it is breaking windows build bots.
-
Denys Petrov authored
Summary: Some function path may lead to crash. Fixed using local variable outside the scope through a pointer. Fixed minor misspellings. Added regression test. This patch covers a bug https://bugs.llvm.org/show_bug.cgi?id=41485 Reviewed By: baloghadamsoftware Differential Revision: https://reviews.llvm.org/D78289
-
Dmitry Preobrazhensky authored
Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D79288
-
Kadir Cetinkaya authored
Summary: This will enable extraction of correct line locations in preamble patch for includes. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78740
-
Stefan Pintilie authored
The function MCSymbolRefExpr::getVariantKindForName was missing the entry for VK_PPC_GOT_PCREL. This patch adds the missing entry. Differential Revision: https://reviews.llvm.org/D79015
-
Raphael Isemann authored
Summary: Sometimes users think that setting a function regex for all function that contain the word 'needle' in their name looks like this: `*needle*`. However, LLDB only searches the function name and doesn't fully match it against the regex, so the leading and trailing '*' operators don't do anything and actually just cause the regex engine to reject the regular expression with "repetition-operator operand invalid". This patch makes this a bit more obvious to the user by printing a warning that a leading '*' before this regular expression here doesn't have any purpose (and will cause an error). This doesn't attempt to detect a case where there is only a trailing '*' as that would involve parsing the regex and it seems the most common way to end up in this situation is by doing `rbreak *needle*`. Reviewers: JDevlieghere Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D78809
-
Tamás Zolnai authored
Summary: Added `DiagnoseSignedUnsignedCharComparisons` option to filter out unrelated use cases. The SEI cert catches explicit integer casts (two use cases), while in the case of `signed char` \ `unsigned char` comparison, we have implicit conversions. Reviewers: aaron.ballman Reviewed By: aaron.ballman Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79334
-
Richard Sandiford authored
I have a follow-on patch that uses an alternative wording for ext_excess_initializers in some cases. This patch puts it and a couple of related warnings under their own -W option in order to avoid a regression in Misc/warning-flags.c. Differential Revision: https://reviews.llvm.org/D79244
-
Jay Foad authored
-
Haojian Wu authored
Summary: The crash is triggered on accessing a null InitExpr. For group declaration, e.g. `auto c = a, &d = {a};`, what's happening: 1. each VarDecl is built separately during the parsing stage. 2. perform the semantic analysis (Sema::BuildDeclaratorGroup) to check whether the type of the two VarDecl is the same, if not mark it as invalid. in step 1, VarDecl c and d are built, both of them are valid (after D77395), but d is without the InitExpr attached (under -fno-recovery-ast), crash happens in step 2 when accessing the source range of d's InitExpr. Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79473
-
Richard Sandiford authored
It looks like it has been a while since the checked-in version of DiagnosticsReference.rst was regenerated. I realise there probably isn't any expectation that the checked-in version is kept up-to-date, but now that the project is on github and the rst can be viewed directly from the repo's web interface, it seemed worth having something a bit more recent. Differential Revision: https://reviews.llvm.org/D79236
-
Benjamin Kramer authored
-
David Spickett authored
This reverts commit d782d1f8 which caused test CodeGen/X86/sibcall.ll to fail.
-
Jaroslav Sevcik authored
Summary: This fixes a bug where frame var a[0]+5 returns the value a[0] without any warning because the current logic simply ignores everything after ']' as long as there is no '.', '-' or '[' in the rest of the string. The fix simplifies the termination condition of the expression path parsing loop to check if have a non-empty remaining string to parse. Previously, the condition checked if a separator was found. That condition coincided with the remaining string-to-parse condition except for the buggy indexed case where non-empty string was left ("+5" in the example above), but the separator index was 'npos'. Reviewed By: teemperor, labath Differential Revision: https://reviews.llvm.org/D79404
-
Xing GUO authored
This change adds tests for llvm-nm, llvm-objdump and llvm-size when dumping symbol tables with invalid sh_size (sh_size % sizeof(Elf_Sym) != 0). Reviewed By: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D77864
-
David Spickett authored
-
Paula Toth authored
Reviewers: sivachandra Reviewed By: sivachandra Subscribers: gchatelet, mgorny, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D79466
-
Konstantin Schwarz authored
Reviewers: arsenm, dsanders, aemerson, volkan, t.p.northover, paquette Reviewed By: arsenm Subscribers: gargaroff, wdng, rovka, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78318
-
Dmitri Gribenko authored
Summary: The AST is different in C++17 in that there is no MaterializeTemporaryExpr for in the AST for a loop variable that is initialized from an iterator that returns its elements by value. Account for this by checking that the variable is not initialized by an operator* call that returns a value type. Reviewers: gribozavr2 Reviewed By: gribozavr2 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79440
-
Uday Bondhugula authored
Drop trailing period in debug messages. Add an extra line for fusion debug info. Differential Revision: https://reviews.llvm.org/D79471
-
Vitaly Buka authored
Summary: -fsanitize=local-bounds is very similar to ``object-size`` and should also ignore volatile pointers. https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#volatile Reviewers: chandlerc, rsmith Reviewed By: rsmith Subscribers: cfe-commits, hiraditya, llvm-commits Tags: #llvm, #clang Differential Revision: https://reviews.llvm.org/D78607
-
Vitaly Buka authored
-
Vitaly Buka authored
Summary: Currently, realloc is marked as "discard" in done_abilist.txt. As discussed in PR#45583, this is probably not the expected behavior; a custom wrapper seems to be required. Since this wrapper has not been implemented yet, realloc should not be in the done_abilist.txt file so that a warning is displayed when it is called. Reviewers: kcc, pcc, vitalybuka Reviewed By: vitalybuka Subscribers: #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D78379
-