- May 21, 2020
-
-
Stanislav Mekhanoshin authored
Even though series of cmd/cndmask can produce quite a lot of code that is still better than a loop. In case of doubles we would even produce two loops. Differential Revision: https://reviews.llvm.org/D80032
-
Craig Topper authored
Previously this code just used a default constructed MachinePointerInfo. But we know the accesses are to a fixed stack object or at least somewhere on the stack. While there fix the alignment passed to the full vector load/stores. I don't think this function is currently exercised in tree so I don't know how to test it. I just noticed it when I removed non-constant index support in this function. Differential Revision: https://reviews.llvm.org/D80058
-
Nicolas Vasilache authored
-
Wen-Heng (Jack) Chung authored
Summary: Consolidate interfaces adding workgroup and private buffer attributions in GPU dialect. Note all private buffer attributions must follow workgroup buffer attributions. Reviewers: herhut Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, csigg, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, llvm-commits Tags: #llvm, #mlir Differential Revision: https://reviews.llvm.org/D79508
-
Wen-Heng (Jack) Chung authored
Due to similar APIs between CUDA and ROCm (HIP), ConvertGpuLaunchFuncToCudaCalls pass could be used on both platforms with some refactoring. In this commit: - Migrate ConvertLaunchFuncToCudaCalls from GPUToCUDA to GPUCommon, and rename. - Rename runtime wrapper APIs be platform-neutral. - Let GPU binary annotation attribute be specifiable as a PassOption. - Naming changes within the implementation and tests. Subsequent patches would introduce ROCm-specific tests and runtime wrapper APIs. Differential Revision: https://reviews.llvm.org/D80167
-
Jonas Devlieghere authored
On Windows the line must match: Use 'lldb.exe --help' for a complete list of options.
-
Nicolas Vasilache authored
-
Stephen Neuendorffer authored
lit runs a gtest executable multiple times. First it runs it to discover tests, then later it runs the executable again for each test. However, if the discovery fails (perhaps because of a broken executable), then no tests were previously run and no failures were reported. This patch creates a dummy test if discovery fails, which will later fail when test are run and be reported as a failure. Differential Revision: https://reviews.llvm.org/D80096
-
mydeveloperday authored
Reviewers: MyDeveloperDay, krasimir, klimek, mitchell-stellar, Abpostelnicu Patch By: MarcusJohnson91 Reviewed By: MyDeveloperDay, Abpostelnicu Subscribers: sylvestre.ledru, Abpostelnicu, cfe-commits Tags: #clang, #clang-format, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D75791
-
Nico Weber authored
Demangling Itanium symbols either consumes the whole input or fails, but Microsoft symbols can be successfully demangled with just some of the input. Add an outparam that enables clients to know how much of the input was consumed, and use this flag to give llvm-undname an opt-in warning on partially consumed symbols. Differential Revision: https://reviews.llvm.org/D80173
-
mydeveloperday authored
Summary: This revision is to complement {D75791} so we can be sure that we don't change any default behavior. For now just add rules to cover AfterExternBlock, but in the future we should add cases to cover the other BraceWrapping rules for each style. This will help guard us when we change code inside of the various getXXXStyle() functions to ensure we are not breaking everyone. Reviewed By: MarcusJohnson91 Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https: -
Jonas Devlieghere authored
This class should've been instrumented when it landed. Whether the class is "highly mutable" or not doesn't affect that. With this patch TestSBEnvironment.py now passes when replayed.
-
Matt Morehouse authored
-
Jonas Devlieghere authored
Print a little snippet before exiting when passed unrecognized arguments. The goal is twofold: - Point users to lldb --help. - Make it clear that we exited the debugger.
-
Haibo Huang authored
Summary: Long long ago system_libs was appended to LLDB_SYSTEM_LIBS in cmake/LLDBDependencies.cmake. After that file was removed, system_libs is orphaned. Currently the only user is source/Utility. Move the logic there and remove system_libs. Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80253
-
Haibo Huang authored
Summary: This changes allows to disable or use customized libxml2 for lldb. 1. Removes redundant include_directories. The one in LLDBConfig.cmake should be enough. 2. Link to ${LIBXML2_LIBRARIES} if xml2 is enabled. Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80257 -
Alexey Bataev authored
Summary: No need to generate inlined OpenMP region for variables captured in lambdas or block decls, only for implicitly captured variables in the OpenMP region. Reviewers: jdoerfert Subscribers: yaxunl, guansong, cfe-commits, caomhin Tags: #clang Differential Revision: https://reviews.llvm.org/D79966
-
MaheshRavishankar authored
The subview semantics changes recently to allow for more natural representation of constant offsets and strides. The legalization of subview op for lowering to SPIR-V needs to account for this. Also change the linearization to use the strides from the affine map of a memref. Differential Revision: https://reviews.llvm.org/D80270
-
Roman Lebedev authored
---------------------------------------- define <2 x i4> @negate_insertelement(<2 x i4> %src, i4 %a, i32 %x, <2 x i4> %b) { %0: %t0 = sub <2 x i4> { 0, 0 }, %src %t1 = sub i4 0, %a %t2 = insertelement <2 x i4> %t0, i4 %t1, i32 %x %t3 = sub <2 x i4> %b, %t2 ret <2 x i4> %t3 } => define <2 x i4> @negate_insertelement(<2 x i4> %src, i4 %a, i32 %x, <2 x i4> %b) { %0: %t2.neg = insertelement <2 x i4> %src, i4 %a, i32 %x %t3 = add <2 x i4> %t2.neg, %b ret <2 x i4> %t3 } Transformation seems to be correct! -
Roman Lebedev authored
-
Roman Lebedev authored
---------------------------------------- define i4 @negate_extractelement(<2 x i4> %x, i32 %y, i4 %z) { %0: %t0 = sub <2 x i4> { 0, 0 }, %x call void @use_v2i4(<2 x i4> %t0) %t1 = extractelement <2 x i4> %t0, i32 %y %t2 = sub i4 %z, %t1 ret i4 %t2 } => define i4 @negate_extractelement(<2 x i4> %x, i32 %y, i4 %z) { %0: %t0 = sub <2 x i4> { 0, 0 }, %x call void @use_v2i4(<2 x i4> %t0) %t1.neg = extractelement <2 x i4> %x, i32 %y %t2 = add i4 %t1.neg, %z ret i4 %t2 } Transformation seems to be correct! -
Roman Lebedev authored
-
Louis Dionne authored
Tests for `std::system_error` constructor marked as slightly non-portable. One (but not the only one) reason for such non-portability is that these tests assume the default locale to be set to "C" (or "POSIX"). However, the default locale for the process depends on OS and environment. This patch adds explicit setting of the correct locale expected by the tests. Thanks to Andrey Maksimov for the patch. Differential Revision: https://reviews.llvm.org/D72456
-
aartbik authored
Summary: Fixes issue https://bugs.llvm.org/show_bug.cgi?id=45995 Reviewers: mehdi_amini, nicolasvasilache, reidtatge, craig.topper, ftynse, bkramer Reviewed By: craig.topper Subscribers: RKSimon, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80231
-
Jan Wilken Dörrie authored
This change removes both the member function swap and the free function overload of swap for std::span. While swap is a member and overloaded for every other container in the standard library [1], it is neither a member function nor a free function overload for std::span [2]. Thus the corresponding implementation should be removed. [1] https://eel.is/c++draft/libraryindex#:swap [2] https://eel.is/c++draft/span.overview Differential Revision: https://reviews.llvm.org/D69827
-
Arthur Eubanks authored
See https://reviews.llvm.org/D74651 for the preallocated IR constructs and LangRef changes. In X86TargetLowering::LowerCall(), if a call is preallocated, record each argument's offset from the stack pointer and the total stack adjustment. Associate the call Value with an integer index. Store the info in X86MachineFunctionInfo with the integer index as the key. This adds two new target independent ISDOpcodes and two new target dependent Opcodes corresponding to @llvm.call.preallocated.{setup,arg}. The setup ISelDAG node takes in a chain and outputs a chain and a SrcValue of the preallocated call Value. It is lowered to a target dependent node with the SrcValue replaced with the integer index key by looking in X86MachineFunctionInfo. In X86TargetLowering::EmitInstrWithCustomInserter() this is lowered to an %esp adjustment, the exact amount determined by looking in X86MachineFunctionInfo with the integer index key. The arg ISelDAG node takes in a chain, a SrcValue of the preallocated call Value, and the arg index int constant. It produces a chain and the pointer fo the arg. It is lowered to a target dependent node with the SrcValue replaced with the integer index key by looking in X86MachineFunctionInfo. In X86TargetLowering::EmitInstrWithCustomInserter() this is lowered to a lea of the stack pointer plus an offset determined by looking in X86MachineFunctionInfo with the integer index key. Force any function containing a preallocated call to use the frame pointer. Does not yet handle a setup without a call, or a conditional call. Does not yet handle musttail. That requires a LangRef change first. Tried to look at all references to inalloca and see if they apply to preallocated. I've made preallocated versions of tests testing inalloca whenever possible and when they make sense (e.g. not alloca related, inalloca edge cases). Aside from the tests added here, I checked that this codegen produces correct code for something like ``` struct A { A(); A(A&&); ~A(); }; void bar() { foo(foo(foo(foo(foo(A(), 4), 5), 6), 7), 8); } ``` by replacing the inalloca version of the .ll file with the appropriate preallocated code. Running the executable produces the same results as using the current inalloca implementation. Reverted due to unexpectedly passing tests, added REQUIRES: asserts for reland. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77689
-
Jonas Devlieghere authored
This makes it possible to instrument the call for the reproducers. This fixes TestStructuredDataAPI.py with reproducer replay. Differential revision: https://reviews.llvm.org/D80312
-
Arthur Eubanks authored
This reverts commit 810567dc. Some tests are unexpectedly passing
-
Amy Huang authored
-
Jonas Devlieghere authored
-
Zola Bridges authored
Summary: Asm goto is not supported by SLH. Warn if an instance of asm goto is detected while SLH is enabled. Test included. Reviewed By: jyu2 Differential Revision: https://reviews.llvm.org/D79743
-
Sanjay Patel authored
-
Hiroshi Yamauchi authored
Summary: Rename 'i' to 'I'. Factor out the optional field handling to getOptionalVal(). Split out of D79951. Reviewers: davidxl Subscribers: eraman, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80230
-
Jonas Devlieghere authored
There appears to be consensus in D80165 that this is the desired behavior and I personally agree. Differential revision: https://reviews.llvm.org/D80226
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Arthur Eubanks authored
See https://reviews.llvm.org/D74651 for the preallocated IR constructs and LangRef changes. In X86TargetLowering::LowerCall(), if a call is preallocated, record each argument's offset from the stack pointer and the total stack adjustment. Associate the call Value with an integer index. Store the info in X86MachineFunctionInfo with the integer index as the key. This adds two new target independent ISDOpcodes and two new target dependent Opcodes corresponding to @llvm.call.preallocated.{setup,arg}. The setup ISelDAG node takes in a chain and outputs a chain and a SrcValue of the preallocated call Value. It is lowered to a target dependent node with the SrcValue replaced with the integer index key by looking in X86MachineFunctionInfo. In X86TargetLowering::EmitInstrWithCustomInserter() this is lowered to an %esp adjustment, the exact amount determined by looking in X86MachineFunctionInfo with the integer index key. The arg ISelDAG node takes in a chain, a SrcValue of the preallocated call Value, and the arg index int constant. It produces a chain and the pointer fo the arg. It is lowered to a target dependent node with the SrcValue replaced with the integer index key by looking in X86MachineFunctionInfo. In X86TargetLowering::EmitInstrWithCustomInserter() this is lowered to a lea of the stack pointer plus an offset determined by looking in X86MachineFunctionInfo with the integer index key. Force any function containing a preallocated call to use the frame pointer. Does not yet handle a setup without a call, or a conditional call. Does not yet handle musttail. That requires a LangRef change first. Tried to look at all references to inalloca and see if they apply to preallocated. I've made preallocated versions of tests testing inalloca whenever possible and when they make sense (e.g. not alloca related, inalloca edge cases). Aside from the tests added here, I checked that this codegen produces correct code for something like ``` struct A { A(); A(A&&); ~A(); }; void bar() { foo(foo(foo(foo(foo(A(), 4), 5), 6), 7), 8); } ``` by replacing the inalloca version of the .ll file with the appropriate preallocated code. Running the executable produces the same results as using the current inalloca implementation. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77689
-
Jonas Devlieghere authored
Add reproducer support to PlatformRemoteGDBServer. The logic is essentially the same as for ProcessGDBRemote. During capture we record the GDB packets and during replay we connect to a replay server. This fixes TestPlatformClient.py when run form a reproducer. Differential Revision: https://reviews.llvm.org/D80224
-
MaheshRavishankar authored
and Consumer is a GenericOp. Differential Revision: https://reviews.llvm.org/D79838
-
Jonas Devlieghere authored
Skip tests or part thereof that are not supposed to work with replay.
-