- Jun 09, 2020
-
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Jonathan Coe authored
Summary: There should be no line break before the opening brace for Microsoft style property accessors when the accessor is a simple `{ get; set }`. https://docs.microsoft.com/en-us/dotnet/csharp/properties Reviewers: krasimir, MyDeveloperDay Reviewed By: krasimir Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D81467 -
Raphael Isemann authored
-
Adam Balogh authored
-
Sam McCall authored
This reverts commit 658af943. Breaks tests on windows: http://45.33.8.238/win/17229/step_9.txt I think this is uncovering a latent bug when a late-parsed preamble is used with an eagerly-parsed file.
-
Adam Balogh authored
-
James Henderson authored
The verbose printing of unrecognised standard opcodes was broken in multiple ways (additional blank lines, a closing parenthesis without opening parenthesis and so on). This patch fixes it, and makes the output more consistent with other opcodes.
-
James Henderson authored
The new line printing for debug line verbose output was inconsistent. For new rows in the matrix, a blank line followed, whilst the DW_LNS_copy opcode actually resulted in two blank lines. There was also potential inconsistency in the blank lines at the end of the table. This patch mostly resolves these issues - no blank lines appear in the output except for a single line after the prologue and at table end to separate it from any subsquent table, plus some instances after error messages. Also add a unit test for verbose output to test the fine details of new line placement and other aspects of verbose output. Reviewed by: dblaikie Differential Revision: https://reviews.llvm.org/D81102
-
James Henderson authored
Verbose and non-verbose parsing of .debug_line produced their output at different points in the program. The most obvious impact of this was that error messages were produced at different times, but it also potentially reduced what clients could do by customising the stream or warning/error handlers. This change makes the two variants consistent by printing non-verbose output inline, the same as verbose output. Testing of the error messages has been modified to check the messages always appear in the same location to illustrate the behaviour. Reviewed by: JDevlieghere, dblaikie, MaskRay, labath Differential Revision: https://reviews.llvm.org/D80989
-
Simon Pilgrim authored
The raw unsigned Opc value has been replaced with the ShuffleVectorPseudo MatchInfo wrapper struct.
-
James Henderson authored
The flushes previously existed to help ensure consistent error message output when stdout and stderr were passed to the same location. This is no longer necessary as errs() is now tied to outs(). Reviewed by: dblaikie, MaskRay, JDevlieghere, labath Differential Revision: https://reviews.llvm.org/D80803
-
Alexey Bataev authored
Reuse existing function instead of code duplication and use better type.
-
Adam Balogh authored
-
Kristof Beyls authored
... that were introduced in https://reviews.llvm.org/rG0e1accd0f726eef2c47be9f37dd0a06cb50d207e
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81229
-
serge-sans-paille authored
Take fork/exec instrumentation into account. Differential Revision: https://reviews.llvm.org/D81227
-
Kazushi (Jam) Marukawa authored
Summary: Add DLD/DLDU/DLDL/PFCH/TS1AM/TS2AM/TS3AM/ATMAM/CAS instructions newly. Add regression tests for them to asmparser, mccodeemitter, and disassembler. In order to add those instructions, change asmparser to support UImm0to2 and UImm1 operands, add new decode functions to disassembler, and add new print functions to instprinter. Differential Revision: https://reviews.llvm.org/D81454
-
Kirill Bobyrev authored
Summary: Prevent a second pair of parenthesis from being added when there already is one right after cursor. Related issue and more context: https://github.com/clangd/clangd/issues/387 Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81380
-
James Henderson authored
errs() is now tied to outs() so that if something prints to errs(), outs() will be flushed before the printing occurs. This avoids interleaving output between the two and is consistent with standard cout and cerr behaviour. Reviewed by: labath, JDevlieghere, MaskRay Differential Revision: https://reviews.llvm.org/D81156
-
Jan Kratochvil authored
D80519 <https://reviews.llvm.org/D80519> added support for `DW_TAG_GNU_call_site` but Bug 45886 <https://bugs.llvm.org/show_bug.cgi?id=45886> found one case did not work. There is: 0x000000b1: DW_TAG_GNU_call_site DW_AT_low_pc (0x000000000040111e) DW_AT_abstract_origin (0x000000cc "a") ... 0x000000cc: DW_TAG_subprogram DW_AT_name ("a") DW_AT_prototyped (true) DW_AT_low_pc (0x0000000000401109) ^^^^^^^^^^^^ - here it did overwrite the 'low_pc' variable containing value 0x40111e we wanted DW_AT_high_pc (0x0000000000401114) DW_AT_frame_base (DW_OP_call_frame_cfa) DW_AT_GNU_all_call_sites (true) DW_TAG_GNU_call_site attributes order as produced by GCC: 0x000000b1: DW_TAG_GNU_call_site DW_AT_low_pc (0x000000000040111e) DW_AT_abstract_origin (0x000000cc "a") clang produces the attributes in opposite order: 0x00000064: DW_TAG_GNU_call_site DW_AT_abstract_origin (0x0000002a "a") DW_AT_low_pc (0x0000000000401146) Differential Revision: https://reviews.llvm.org/D81334
-
Jan Kratochvil authored
Clean the code up a bit for D81334. Differential Revision: https://reviews.llvm.org/D81423
-
Kadir Cetinkaya authored
-
David Green authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Xing GUO authored
This patch helps make yaml2obj emit an error message when we try to assign an invalid offset to the entry of the 'debug_ranges' section. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D81357
-
Sam McCall authored
Summary: Parsing std::make_unique is an exception to the usual non-parsing of function bodies in the preamble. (A hook is added to PreambleCallbacks to allow this). This allows us to diagnose make_unique<Foo>(wrong arg list), and opens the door to providing signature help (by detecting where the arg list is forwarded to). This function is trivial (checked libc++ and libstdc++) and doesn't result in any extra templates being instantiated, so this should be cheap. This uncovered a second issue (already visible with class templates)... Errors produced by template instantiation have primary locations within the template, with instantiation stack reported as notes. For templates defined in headers, these end up reported at the #include directive, which isn't terribly helpful as the header itself is probably fine. This patch reports them at the instantiation site (the first location in the instantiation stack that's in the main file). This in turn required a bit of refactoring in Diagnostics so we can delay relocating the diagnostic until all notes are available. https://github.com/clangd/clangd/issues/412 Reviewers: hokein, aaron.ballman Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81351
-
Guillaume Chatelet authored
This reverts commit f21c5266.
-
Simon Wallis authored
Summary: The naked function attribute is meant to suppress all function prologue/epilogue instructions. On ARM, some are still emitted if an argument greater than 64 bytes in size (the threshold for using the byval attribute in IR) is passed partially in registers. Perform the check for Attribute::Naked and early exit in SelectionDAGISel::LowerArguments(). Checking in ARMFrameLowering::determineCalleeSaves() is too late. A test case is included. Reviewers: llvm-commits, olista01, danielkiss Reviewed By: danielkiss Subscribers: kristof.beyls, hiraditya, danielkiss Tags: #llvm Differential Revision: https://reviews.llvm.org/D80715 Change-Id: Icedecf2a4ad31bc3c35ab0df7489a9d346e1f7cc
-
Guillaume Chatelet authored
Summary: Note to downstream target maintainers: this might silently change the semantics of your code if you override `TargetLowering::allowsMisalignedMemoryAccesses` without marking it override. This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81374
-
Guillaume Chatelet authored
Summary: Note to downstream target maintainers: this might silently change the semantics of your code if you override `TargetLowering::allowsMemoryAccess` without marking it override. This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81379
-
Adam Balogh authored
Retrieving the parameter location of functions was disabled because it may causes crashes due to the fact that functions may have multiple declarations and without definition it is difficult to ensure that always the same declration is used. Now parameters are stored in `ParamRegions` which are independent of the declaration of the function, therefore the same parameters always have the same regions, independently of the function declaration used actually. This allows us to remove the limitation described above. Differential Revision: https://reviews.llvm.org/D80286
-
Adam Balogh authored
Currently, parameters of functions without their definition present cannot be represented as regions because it would be difficult to ensure that the same declaration is used in every case. To overcome this, we split `VarRegion` to two subclasses: `NonParamVarRegion` and `ParamVarRegion`. The latter does not store the `Decl` of the parameter variable. Instead it stores the index of the parameter which enables retrieving the actual `Decl` every time using the function declaration of the stack frame. To achieve this we also removed storing of `Decl` from `DeclRegion` and made `getDecl()` pure virtual. The individual `Decl`s are stored in the appropriate subclasses, such as `FieldRegion`, `ObjCIvarRegion` and the newly introduced `NonParamVarRegion`. Differential Revision: https://reviews.llvm.org/D80522
-
Adam Balogh authored
Checkers should be able to get the return value under construction for a `CallEvenet`. This patch adds a function to achieve this which retrieves the return value from the construction context of the call. Differential Revision: https://reviews.llvm.org/D80366
-
Pavel Labath authored
The code is correct without these default values, but it is freaking the compiler out.
-
Abbas Sabra authored
Summary: LoopWidening is invalidating references coming from type aliases which lead to a crash. Patch by Abbas Sabra! Differential Revision: https://reviews.llvm.org/D80669
-
Jonathan Coe authored
Reviewers: krasimir, MyDeveloperDay Reviewed By: krasimir Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D81394
-
Florian Hahn authored
This patch add __builtin_matrix_transpose to Clang, as described in clang/docs/MatrixTypes.rst. Reviewers: rjmccall, jfb, rsmith, Bigcheese Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D72778
-