- Sep 25, 2020
-
-
Amara Emerson authored
-
Andrzej Warzynski authored
`FlangFrontendTests` depends on libclangFrontend (it uses DiagnosticConsumer classes from there). This patch adds the missing dependency in CMake. The missing dependency manifests itself only with BUILD_SHARED_LIBS=ON. This symbol is linked in statically with libflangFrontend when BUILD_SHARED_LIBS=OFF.
-
Sam Parker authored
On failing to find a VCTP in the list of instructions that explicitly predicate the entry of a VPT block, inspect whether the block is controlled via VPT which is implicitly predicated due to it's predicated operand(s). Differential Revision: https://reviews.llvm.org/D87819
-
Artur Bialas authored
Allow propagating optional user defined attributes during SCF to GPU conversion. Gives opportunity to use user defined attributes in the further lowering. For example setting subgroup size, or other options for GPU dispatch. This does not break backward compatibility and does not require new attributes, just allow passing optional ones. Differential Revision: https://reviews.llvm.org/D88203
-
Anthony Steinhauser authored
Currently the mem* benchmarks use memcpy from Glibc and memset from LLVM libc. That's misleading and produces inconsistent results and behaviors. This change makes Memcpy.cpp consistent with Memset.cpp: https://github.com/llvm/llvm-project/blob/master/libc/benchmarks/Memset.cpp#L49 Reviewers: sivachandra Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D88271
-
Ian Levesque authored
-
Thomas Lively authored
https://github.com/WebAssembly/threads/issues/144 updated the WebAssembly threads proposal to make atomic operations on unshared memories valid. This change updates the feature checking in the linker accordingly. Production WebAssembly engines have recently been updated to allow this behvaior, but after this change users who accidentally use atomics with unshared memories on older versions of the engines will get validation errors at runtime rather than link errors. Differential Revision: https://reviews.llvm.org/D79530
-
Chris Bowler authored
Adding this test so that I can extend it in a follow on patch with expected IR for AIX when I implement complex handling in AIXABIInfo. Reviewed By: daltenty, ZarkoCA Differential Revision: https://reviews.llvm.org/D88105
-
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
-