- Feb 11, 2020
-
-
Raphael Isemann authored
Let's just pass in a StringRef and save the strlen call when rebuilding the StringRef parameter.
-
Feng Liu authored
Differential Revision: https://reviews.llvm.org/D71851
-
Raphael Isemann authored
-
Raphael Isemann authored
-
Pavel Labath authored
Summary: The only use of this class was to implement the SharedCluster of ValueObjects. However, the same functionality can be implemented using a regular std::shared_ptr, and its little-known "sub-object pointer" feature, where the pointer can point to one thing, but actually delete something else when it goes out of scope. This patch reimplements SharedCluster using this feature -- SharedClusterPointer::GetObject now returns a std::shared_pointer which points to the ValueObject, but actually owns the whole cluster. The only change I needed to make here is that now the SharedCluster object needs to be created before the root ValueObject. This means that all private ValueObject constructors get a ClusterManager argument, and their static Create functions do the create-a-manager-and-pass-it-to-value-object dance. Reviewers: teemperor, JDevlieghere, jingham Subscribers: mgorny, jfb, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D74153
-
Simon Pilgrim authored
Without PSHUFB we are better using ROTL (expanding to OR(SHL,SRL)) than using the generic v16i8 shuffle lowering - but if we can widen to v8i16 or more then the existing shuffles are still the better option.
-
Momchil Velikov authored
-march=armv8.1-m.main+mve.fp+nomve -mfpu=none should disable FP registers and instructions moving to/from FP registers. This patch fixes the case when "+mve" (added to the feature list by "+mve.fp"), is followed by "-mve" (added by "+nomve"). Differential Revision: https://reviews.llvm.org/D72633
-
Jonathan Coe authored
Summary: C# attributes can appear on classes and methods, in which case they should go on their own line, or on method parameters in which case they should be left inline. Reviewers: krasimir, MyDeveloperDay Reviewed By: MyDeveloperDay Subscribers: klimek Tags: #clang-format Differential Revision: https://reviews.llvm.org/D74265
-
Alexey Lapshin authored
Summary: That patch is extracted from https://reviews.llvm.org/D74308. Currently there are two patterns to name error handling functions: using "Callback" and "Handler". This patch uses "Handler" for all usage places. Reviewers: jhenderson, dblaikie, probinson, aprantl Reviewed By: jhenderson, dblaikie Subscribers: hiraditya, llvm-commits Tags: #llvm, #debug-info Differential Revision: https://reviews.llvm.org/D74354
-
Kamil Rytarowski authored
FreeBSD is currently the only user in this file. Accessing this symbol on Linux does not work as is.
-
Louis Dionne authored
The extent of the returned span was always std::dynamic_extent, which is incorrect. Thanks to Michael Schellenberger Costa for the patch. Differential Revision: https://reviews.llvm.org/D71997
-
Mirko Brkusanin authored
New intrinisics are implemented for when we need to port SIMD code from other arhitectures and only load or store portions of MSA registers. Following intriniscs are added which only load/store element 0 of a vector: v4i32 __builtin_msa_ldrq_w (const void *, imm_n2048_2044); v2i64 __builtin_msa_ldr_d (const void *, imm_n4096_4088); void __builtin_msa_strq_w (v4i32, void *, imm_n2048_2044); void __builtin_msa_str_d (v2i64, void *, imm_n4096_4088); Differential Revision: https://reviews.llvm.org/D73644
-
Med Ismail Bennani authored
This reimplements commit 6b2979c1 and updates the tests to reflect the addition of the alternate symbol attribute. Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Louis Dionne authored
size_t is always greater than 0, so remove the artifact from the old index_type. Patch by Michael Schellenberger Costa. Differential Revision: https://reviews.llvm.org/D71996
-
Raphael Isemann authored
-
Kerry McLaughlin authored
Summary: Implements the following intrinsics: - @llvm.aarch64.sve.cdot - @llvm.aarch64.sve.cdot.lane Reviewers: sdesmalen, efriedma, dancgr, c-rhodes, rengolin Reviewed By: efriedma Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73687
-
OCHyams authored
Fixup the UserValue methods to use FragmentInfo instead of DIExpression because the DIExpression is only ever used to get the to get the FragmentInfo. The DIExpression is meaningless in the UserValue class because each definition point added to a UserValue may have a unique DIExpression. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D74057
-
OCHyams authored
Rename the class DbgValueLocation to DbgVariableValue and instances from Loc to DbgValue. These names better express the new semantics introduced in D74053. The class previously represented a { Location } only. It now represents a { Location, DIExpression } pair which together describe a value. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D74055 -
OCHyams authored
LiveDebugVariables uses interval maps to explicitly represent DBG_VALUE intervals. DBG_VALUEs are filtered into an interval map based on their { Variable, DIExpression }. The interval map will coalesce adjacent entries that use the same { Location }. Under this model, DBG_VALUEs which refer to the same bits of the same variable will be filtered into different interval maps if they have different DIExpressions which means the original intervals will not be properly preserved. This patch fixes the problem by using { Variable, Fragment } to filter the DBG_VALUEs into maps, and coalesces adjacent entries iff they have the same { Location, DIExpression } pair. The solution is not perfect because we see the similar issues appear when partially overlapping fragments are encountered, but is far simpler than a complete solution (i.e. D70121). Fixes: pr41992, pr43957 Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D74053 -
Louis Dionne authored
Thanks to Michael Schellenberger Costa for the patch. Differential Revision: https://reviews.llvm.org/D72036
-
Raphael Isemann authored
-
Georgii Rymar authored
This adds a test to document --elf-cg-profile option we have. I am going to refactor this area, and this patch is mostly to create a base for a follow-up change. Differential revision: https://reviews.llvm.org/D74115
-
Louis Dionne authored
Unqualified calls to make_move_iterator in the vector::insert overload for input iterators lead to ADL issues: https://gcc.godbolt.org/z/bmcNbh Patch by Logan Smith. Differential Revision: https://reviews.llvm.org/D74290
-
Raphael Isemann authored
-
Jay Foad authored
Summary: As far as I know this did not affect code generation, but it did affect the order of -debug-only=si-wqm output and the naming of autonamed values in -print-after=si-wqm output. Reviewers: arsenm, rampitec, nhaehnle Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, mgrang, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74317
-
Haojian Wu authored
We cannot run two different tests in a single lit test, split into two.
-
Haojian Wu authored
Summary: When renaming a class with template constructors, we are missing the occurrences of the template constructors, because getUSRsForDeclaration doesn't give USRs of the templated constructors (they are not in the normal `ctors()` method). Reviewers: kbobyrev Subscribers: jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D74216
-
Haojian Wu authored
-
Raphael Isemann authored
StringRef will call strlen on the C string which is inefficient (as ConstString already knows the string lenght and so does StringRef). This patch replaces all those calls with GetStringRef() which doesn't recompute the length.
-
Raphael Isemann authored
-
John Regehr authored
-
Craig Topper authored
[X86] Custom lower ISD::FP16_TO_FP and ISD::FP_TO_FP16 on f16c targets instead of using isel patterns. We need to use vector instructions for these operations. Previously we handled this with isel patterns that used extra instructions and copies to handle the the conversions. Now we use custom lowering to emit the conversions. This allows them to be pattern matched and optimized on their own. For example we can now emit vpextrw to store the result if its going directly to memory. I've forced the upper elements to VCVTPHS2PS to zero to keep some code similar. Zeroes will be needed for strictfp. I've added a DAG combine for (fp16_to_fp (fp_to_fp16 X)) to avoid extra instructions in between to be closer to the previous codegen. This is a step towards strictfp support for f16 conversions.
-
Kai Luo authored
-
Fangrui Song authored
https://github.com/riscv/riscv-elf-psabi-doc/pull/131 assigned 58 to R_RISCV_IRELATIVE. Differential Revision: https://reviews.llvm.org/D74022
-
Johannes Doerfert authored
The existing wording leaves it unclear if C++ standard library data structures should be preferred over custom LLVM ones, e.g., SmallVector, even though common practice seems clear on the issue. This change makes the wording more explicit and aligns it better with the code base. Some motivating statistics: ``` ag SmallVector llvm/lib/ | wc 8846 40306 901421 ag 'std::vector' llvm/lib/ | wc 2123 8990 214482 ag SmallVector clang/lib/ | wc 3023 13824 281691 ag 'std::vector' clang/lib/ | wc 719 2914 72817 ``` Differential Revision: https://reviews.llvm.org/D74340
-
Evgenii Stepanov authored
The interceptor uses thread-local variables, which (until very recently) are emu-tls. An access to such variable may call malloc which can deadlock the runtime library.
-
Yuanfang Chen authored
With fix (somehow one hunk is missed).
-
Jason Molenda authored
-
Michael Kruse authored
Thanks Justin Paston-Cooper for the report.
-
Yuanfang Chen authored
This reverts commit 8a29cb44. fuzzer-linux bot has failure because of this.
-