- Sep 25, 2020
-
-
Ian Levesque authored
Add the ability to selectively instrument a subset of functions by dividing the functions into N logical groups and then selecting a group to cover. By selecting different groups over time you could cover the entire application incrementally with lower overhead than instrumenting the entire application at once. Differential Revision: https://reviews.llvm.org/D87953
-
Richard Smith authored
has default arguments and an exception specification.
-
Mehdi Amini authored
Most users of LLVM tools hit the raw traces and don't know how to get LLVM to symbolize automatically for them. When we print the non-symbolized stack trace, we will add information about how to get it symbolized. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D88269
-
Krzysztof Parzyszek authored
Legal vector element types may not be legal as scalar types. When CONCAT_VECTORS is converted to BUILD_VECTOR, the individual vector elements become standalone operands to the build operation. If they have illegal (scalar) types, they need to be made legal. In doing so, the case of TRUNCATE was not handled, causing an assertion to fail.
-
Fangrui Song authored
Library users should not need to call errorHandler().reset() explicitly. google/iree calls lld::elf::link and without the patch some global variables are not cleaned up in the next invocation.
-
Juneyoung Lee authored
It is set to conservatively return false, otherwise noundef attributes are added to function calls with metadata arguments.
-
Juneyoung Lee authored
This is a patch that allows isGuaranteedNotToBeUndefOrPoison to return more precise result when an argument is given, by looking through its uses at the entry block (and following blocks as well, if it is checking poison only). This is useful when there is a function call with noundef arguments at the entry block. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D88207
-
Reid Kleckner authored
Revert "[NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing" This reverts commit 9bcf7b1c. Breaks build with MSVC.
-
Reid Kleckner authored
This reverts commit a32feed0. This assert doesn't hold in 32-bit builds, I didn't do the math right.
-
Reid Kleckner authored
-
Walter Erquinigo authored
Recently https://reviews.llvm.org/D88103 introduced a nice API for converting a JSON object into C++ types, which include nice error messaging. I'm using that new functioniality to perform the parsing in a much more elegant way. As a result, the code looks simpler and more maintainable, as we aren't parsing anymore individual fields manually. I updated the test cases accordingly. Differential Revision: https://reviews.llvm.org/D88264
-
Reid Kleckner authored
Passing them directly is likely to be non-conforming, since it usually involves copying the bytes of the record. For unknown architectures, we don't know what MSVC does or will do, but we should at least try to conform as well as we can.
-
Reid Kleckner authored
Regardless of the target architecture, we should always use the C rules (RAA_Default) for records that "canBePassedInRegisters". Those are trivially copyable things, and things marked with [[trivial_abi]]. This should be NFC, although it changes where the final decision about x86_32 overaligned records is made. The current x86_32 C rules say that overaligned things are passed indirectly, so there is no functional difference.
-
Stanislav Mekhanoshin authored
denormal-fp-math-fp32 -> denormal-fp-math-f32
-
Evandro Menezes authored
Merge the 32 and 64 bit pipeline models for Rocket into a single file. Differential Revision: https://reviews.llvm.org/D87873
-
Snehasish Kumar authored
This change adds an option to basic block sections to allow cold clusters to be assigned a custom text prefix. With a custom prefix such as ".text.split." (D87840), lld can place them in a separate output section. The benefits are - * Empirically shown to improve icache and itlb metrics by 3-5% (absolute) compared to placing split parts in .text.unlikely. * Mitigates against poor profiles, eg samplePGO profiles used with the machine function splitter. Optimizations such as hugepage remapping can make different decisions at the section granularity. * Enables section granularity hotness monitoring (checking on the decisions made during compilation vs sample data from production). Differential Revision: https://reviews.llvm.org/D87813
-
Joseph Huber authored
Summary: This patch add support for printing analysis messages relating to data globalization on the GPU. This occurs when data is shared between the threads in a GPU context and must be pushed to global or shared memory. Reviewers: jdoerfert Subscribers: guansong hiraditya llvm-commits ormris sstefan1 yaxunl Tags: #OpenMP #LLVM Differential Revision: https://reviews.llvm.org/D88243
-
Bill Wendling authored
-
Snehasish Kumar authored
".text.split." holds symbols which are split out from functions in other input sections. For example, with -fsplit-machine-functions, placing the cold parts in .text.split instead of .text.unlikely mitigates against poor profile inaccuracy. Techniques such as hugepage remapping can make conservative decisions at the section granularity. Differential Revision: https://reviews.llvm.org/D87840
-
Jez Ng authored
Fix earlier build break via a static_cast. This reverts commit 8112d494. Differential Revision: https://reviews.llvm.org/D86909
-
Vedant Kumar authored
Introduce a helper which can be used to update the debug location of an Instruction after the instruction is hoisted. This can be used to safely drop a source location as recommended by the docs. For more context, see the discussion in https://reviews.llvm.org/D60913. Differential Revision: https://reviews.llvm.org/D85670
-
Thomas Lively authored
Emscripten's longjump and exception mechanism depends on two global variables, `__THREW__` and `__threwValue`, which are changed to be defined as thread-local in https://github.com/emscripten-core/emscripten/pull/12056. This patch updates the corresponding code in the WebAssembly backend to properly declare these globals as thread-local as well. Differential Revision: https://reviews.llvm.org/D88262
-
shafik authored
I only have a crash log and was not able to come up with a test case for this. rdar://problem/69403150
-
Amy Huang authored
constructors. This changes the code to avoid using constructor homing for aggregate classes and classes with trivial default constructors, instead of trying to loop through the constructors. Differential Revision: https://reviews.llvm.org/D87808
-
Sriraman Tallam authored
Until then, this one line fix removes the assert fail with basic block sections with debug info. Bug tracking this: #47549 This fix does not generate loc list or DW_AT_const_value if the argument is mentioned in a different section than the start of the function. Temporarily fixes bugzilla : https://bugs.llvm.org/show_bug.cgi?id=47549 Differential Revision: https://reviews.llvm.org/D87787
-
Zequan Wu authored
This reverts commit 90242cac. Error fixed at f5435399 Differential Revision: https://reviews.llvm.org/D87811
-
Roman Lebedev authored
I have long complained that while we have exhaustive tests for ConstantRange, they are, uh, not good. The approach of groking our own constant range via exhaustive enumeration is, mysterious. It neither tells us without doubt that the result is conservatively correct, nor the precise match to the ConstantRange result tells us that the result is precise. But yeah, it's fast, i give it that. In short, there are three things that we need to check: 1. That ConstantRange result is conservatively correct 2. That ConstantRange range is reasonable 3. That ConstantRange result is reasonably precise So let's not just check the middle one, but all three. This provides precision test coverage for D88178.
-
Roman Lebedev authored
We do the same dance to acquire the "exact" range of an op via an exhaustive approach in many places. Let's not invent the wheel each time.
-
Bill Wendling authored
Accidental commit. This reverts commit 7f4c940b.
-
Bill Wendling authored
-
Bill Wendling authored
When processing PHI nodes after a callbr, we need to make sure that the PHI nodes on the default branch are resolved after the callbr (inserted after INLINEASM_BR). The PHI node values on the indirect branches are processed before the INLINEASM_BR. Differential Revision: https://reviews.llvm.org/D86260
-
Artem Belevich authored
This is needed to compile some headers in CUDA-11 that assume that threadIdx is implicitly convertible to dim3. With NVCC, threadIdx is uint3 and there's dim3(uint3) constructor. Clang uses a special type for the builtin variables, so that path does not work. Instead, this patch adds conversion function to the builtin variable classes. that will allow them to be converted to dim3 and uint3. Differential Revision: https://reviews.llvm.org/D88250
-
Daniel Kiss authored
This change adds the support for __builtin_return_address for ARMv8.3A Pointer Authentication. Location of the authentication code in the pointer depends on the system configuration, therefore a dedicated instruction is used for effectively removing the authentication code without authenticating the pointer. Reviewed By: chill Differential Revision: https://reviews.llvm.org/D75044
-
Diego Caballero authored
This patch moves the memory space field from MemRefType and UnrankedMemRefType to their base class BaseMemRefType so that it can be retrieved from it without downcasting it to the specific memref. Reviewed By: silvas Differential Revision: https://reviews.llvm.org/D87649
-
Bill Wendling authored
This is triggered during serialization. The test is for modules, but will occur for any serialization effort using asm goto. Reviewed By: nickdesaulniers, jyknight Differential Revision: https://reviews.llvm.org/D88195
-
Sam McCall authored
The following crashes on my system before this patch, but not after: void foo(int i) { switch (i) { case 1: case 2: ... 100000 cases ... ; } } clang-query -c="match stmt(hasAncestor(stmt()))" deep.c I'm not sure it's actually a sane testcase to run though, it's pretty slow :-) Differential Revision: https://reviews.llvm.org/D88222 -
David Tenty authored
AIX by default usually folds 32-bit & 64-bit arch libraries into a single archive, a behaviour we may want for the runtime libraries in the future, so we don't necessarily want to opt into the multlib layout introduce in D45604, which is currently the default for runtime builds. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D88169
-
Alexey Bataev authored
[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default Need to fix a check for the variable if it is declared in the inner OpenMP region to be able to firstprivatize it. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D88240
-
Andrzej Warzynski authored
`flang-new` depends on libclangFrontend (it uses DiagnosticConsumer classes from there). This patch adds the missing dependency in CMake. clang::TextDiagnosticBuffer is only reported as missing when compiling `flang-new` with BUILD_SHARED_LIBS=ON. This symbol is linked in statically with libflangFrontend when BUILD_SHARED_LIBS=OFF.
-