- Jan 23, 2018
-
-
Alexey Bataev authored
Summary: If the same value is going to be vectorized several times in the same tree entry, this entry is considered to be a gather entry and cost of this gather is counter as cost of InsertElementInstrs for each gathered value. But we can consider these elements as ShuffleInstr with SK_PermuteSingle shuffle kind. Reviewers: spatel, RKSimon, mkuper, hfinkel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38697 llvm-svn: 323246
-
George Karpenkov authored
Analyzing problems which appear in scan-build results can be very difficult, as after the launch no exact invocation is stored, and it's super-hard to launch the debugger. With this patch, the exact analyzer invocation appears in the footer, and can be copied to debug/check reproducibility/etc. rdar://35980230 llvm-svn: 323245
-
George Karpenkov authored
llvm-svn: 323244
-
Peter Smith authored
The reinterpret cast to uint32_t to read the little-endian instructions will only work on a little endian system. Use ulittle32_t to always read little-endian (AArch64 instructions are always little endian). Fixes PR36056 Differential Revision: https://reviews.llvm.org/D42421 llvm-svn: 323243
-
Zvi Rackover authored
Case points out that we don't consider shifts supported by AVX512BW in isVectorShiftByScalarCheap() llvm-svn: 323242
-
Saleem Abdulrasool authored
Rather than hardcode the pointerness of the `id` and `class` types, handle them generically. This allows for the template type specialization of `remove_pointer<id>` which would look through the `id` type and deal with the `objc_object` structure without the pointer. llvm-svn: 323241
-
Krzysztof Parzyszek authored
If the instruction is a bundle, check the instructions inside of it. Patch by Suyog Sarda. llvm-svn: 323240
-
Artem Belevich authored
We should (almost) never consider a device-side declaration to match a library builtin functio. Otherwise clang may ignore the implementation provided by the CUDA headers and emit clang's idea of the builtin. Differential Revision: https://reviews.llvm.org/D42319 llvm-svn: 323239
-
Nico Weber authored
errorToBool() converts an Error to a bool and puts the Error in a checked state. No behavior change. https://reviews.llvm.org/D42422 llvm-svn: 323238
-
Peter Collingbourne authored
The language standard does not define a function with this name, so it is part of the user's namespace. This change fixes a duplicate symbol error that occurs when a user attempts to define a function with this name. Differential Revision: https://reviews.llvm.org/D42405 llvm-svn: 323237
-
Alexey Bataev authored
Replace calls of EmitLoadOfLValue() by EmitLoadOfScalar() functions if it is known that the value is scalar. llvm-svn: 323236
-
Craig Topper authored
llvm-svn: 323235
-
Sam Clegg authored
LLD is unaffected, no changes needed there. LLD continues to write out a name section, using the symbol names. Fixes: https://github.com/WebAssembly/tool-conventions/issues/37 Patch by Nicholas Wilson! Differential Revision: https://reviews.llvm.org/D42425 llvm-svn: 323234
-
Krzysztof Parzyszek authored
llvm-svn: 323233
-
Alexey Bataev authored
Removed more empty SourceLocations() from the OpenMP code and replaced with the correct locations for better debug info emission. llvm-svn: 323232
-
Jonas Hahnfeld authored
This fixes the failing test when building with CLANG_DEFAULT_CXX_STDLIB. llvm-svn: 323231
-
Saleem Abdulrasool authored
Use CHECK-SAME directives to simplify the test conditions a bit. This makes it easier to see what is being checked. NFC. llvm-svn: 323230
-
Krzysztof Parzyszek authored
In addition to that, make sure that there are no boolean vector types that are associated with multiple register classes. Specifically, remove v32i1 and v64i1 from integer register classes. These types will correspond to results of vector comparisons, and as such should belong to the vector predicate class. Having them in scalar registers as well makes legalization ambiguous. llvm-svn: 323229
-
Nico Weber authored
llvm-svn: 323228
-
Malcolm Parsons authored
Summary: C++2a allows bitfields to have default member initializers. Add support for this to clang-tidy's cppcoreguidelines-pro-type-member-init check. Reviewers: aaron.ballman, alexfh Reviewed By: aaron.ballman Subscribers: klimek, nemanjai, xazax.hun, kbarton, cfe-commits Differential Revision: https://reviews.llvm.org/D42426 llvm-svn: 323227
-
Nico Weber authored
llvm-svn: 323226
-
Saleem Abdulrasool authored
The tests are targeting Windows but do not specify an environment. When executed on Linux, they would use an ELF output rather than the COFF output. Explicitly provide an environment. llvm-svn: 323225
-
Dan Gohman authored
This corresponds to r323222 in LLVM. The new names are not yet finalized, so use them at your own risk. llvm-svn: 323224
-
Simon Pilgrim authored
llvm-svn: 323223
-
Dan Gohman authored
The grow_memory and current_memory instructions are expected to be officially renamed to mem.grow and mem.size. Introduce new intrinsics with the new names. These new names aren't yet official, so for now, use them at your own risk. Also, take this opportunity to add arguments for the currently unused immediate field in those instructions. llvm-svn: 323222
-
Rafael Espindola authored
Fixes PR36029. llvm-svn: 323221
-
Dan Gohman authored
This makes wasm32-unknown-unknown-wasm the default, which supports the .o file writer and the new linking ABI. To enable s2wasm-compatible output, use the wasm32-unknown-unknown-elf triple. llvm-svn: 323220
-
Adrian Prantl authored
Thanks to Pavel Labath for pointing this out! llvm-svn: 323219
-
Nico Weber authored
llvm-svn: 323218
-
Bill Seurer authored
In more recent Linux kernels with 47 bit VMAs the layout of virtual memory for powerpc64 changed causing the address sanitizer to not work properly. This patch fixes up a test case that was found to fail on some newer Fedora releases that use different address ranges. ref: https://reviews.llvm.org/D40907 llvm-svn: 323217
-
Yaxun Liu authored
Normally when llvm-as sees only debug info errors in LLVM assembly, it simply drops the debug info and outputs a valid LLVM bitcode and returns 0. There is a bug in LLVM verifier which incorrectly treats a debug info error as non-debug info error, which causes llvm-as returns 1 even though llvm-as can drop the invalid debug info and outputs a valid LLVM bitcode. This patch fixes that. Differential Revision: https://reviews.llvm.org/D42391 llvm-svn: 323216
-
Alexander Ivchenko authored
llvm-svn: 323215
-
Yaxun Liu authored
Fix a bug in ScheduleDAGMILive::scheduleMI which causes BotRPTracker not tracking CurrentBottom in some rare cases involving llvm.dbg.value. This issues causes amdgcn target to assert when compiling some user codes with -g. Differential Revision: https://reviews.llvm.org/D42394 llvm-svn: 323214
-
Craig Topper authored
[X86] Rewrite vXi1 element insertion by using a vXi1 scalar_to_vector and inserting into a vXi1 vector. The existing code was already doing something very similar to subvector insertion so this allows us to remove the nearly duplicate code. This patch is a little larger than it should be due to differences between the DQI handling between the two today. llvm-svn: 323212
-
Simon Pilgrim authored
[X86][SSE] LowerBUILD_VECTORAsVariablePermute - ensure that the source vector is not larger than the destination We might be able to support this in the future with VPERMV3, OR(PSHUFB, PSHUFB) etc. llvm-svn: 323210
-
Alexander Ivchenko authored
Tests required minor manual tweaks: CodeGen/MIR/X86/generic-instr-type.mir CodeGen/X86/GlobalISel/select-copy.mir CodeGen/X86/GlobalISel/select-ext.mir CodeGen/X86/GlobalISel/select-intrinsic-x86-flags-read-u32.mir CodeGen/X86/GlobalISel/select-phi.mir CodeGen/X86/GlobalISel/select-trunc.mir CodeGen/X86/GlobalISel/select-frameIndex.mir And following tests are split into 32/64 versions: CodeGen/X86/GlobalISel/legalize-GV.mir CodeGen/X86/GlobalISel/select-frameIndex.mir llvm-svn: 323209
-
Malcolm Parsons authored
Summary: C++2a allows bitfields to have default member initializers. Add support for this to clang-tidy's modernize-use-default-member-init check. Reviewers: aaron.ballman, alexfh Reviewed By: aaron.ballman Subscribers: klimek, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D42413 llvm-svn: 323208
-
Simon Pilgrim authored
llvm-svn: 323207
-
Simon Pilgrim authored
[X86][SSE] LowerBUILD_VECTORAsVariablePermute - ensure that the index vector has the correct number of elements llvm-svn: 323206
-
Tim Northover authored
Some nodes produce multiple values so when obtaining the type of an ISD::OR we need to make sure we ask for the correct one. Hopefully that's all of them. llvm-svn: 323205
-