- Jul 14, 2020
-
-
Walter Erquinigo authored
This test was added in https://reviews.llvm.org/D82477 and needs to wait a little bit before fetching some information.
-
Valentin Clement authored
Summary: This patch introduce the parser for OpenACC 3.0 in Flang. It uses the same TableGen mechanism than OpenMP. Reviewers: nvdatian, sscalpone, tskeith, klausler, ichoyjx, jdoerfert, DavidTruby Reviewed By: klausler Subscribers: SouraVX, mgorny, hiraditya, jfb, sstefan1, llvm-commits Tags: #llvm, #flang Differential Revision: https://reviews.llvm.org/D83649
-
Gui Andrade authored
Implement llvm.experimental.vector.{add,mul,or,and,...}. An IR test is included but no C test for lack of good way to get the compiler to emit these. Differential Revision: https://reviews.llvm.org/D82920 -
Mircea Trofin authored
The CHECKs are now in Inputs/test-module.ll
-
Richard Smith authored
We don't allow runtime-sized flexible array members, nor initialization of flexible array members, but it seems reasonable to support the most basic case where the flexible array member is empty.
-
Fangrui Song authored
Commit 1fed1316 assumed that NewShuffle (shuffle vector canonicalization result) will always be ShuffleVectorSDNode, which may be false (it may be a BITCAST node): ``` ... t12: v4i32 = scalar_to_vector t2 t15: v16i8 = bitcast t12 # LHS t17: v16i8 = vector_shuffle<u,u,u,u,u,u,u,u,0,1,2,3,u,u,u,u> t15, undef:v16i8 # SVN ``` Reviewed By: #powerpc, nemanjai Differential Revision: https://reviews.llvm.org/D83617
-
Ryan Prichard authored
The %arm_call_apsr expansion doesn't work when config.clang is a clang driver defaulting to a non-ARM arch. Rather than fix it, replace call_apsr.S with inline asm in call_apsr.h, which also resolves the FIXME added in D31259. Maybe the `__attribute__((noinline,pcs("aapcs")))` attributes are unnecessary on the static functions, but I was unsure what liberty the compiler had to insert instructions that modified the condition codes, so it seemed helpful. Differential Revision: https://reviews.llvm.org/D82147 -
Ryan Prichard authored
For Android only, compiler-rt used detect_target_arch to select the architecture to target. detect_target_arch was added in Sept 2014 (SVN r218605). At that time, compiler-rt selected the default arch using ${LLVM_NATIVE_ARCH}, which seems to have been the host architecture and therefore not suitable for cross-compilation. The compiler-rt build system was refactored in Sept 2015 (SVN r247094 and SVN r247099) to use COMPILER_RT_DEFAULT_TARGET_TRIPLE to control the target arch rather than LLVM_NATIVE_ARCH. This approach is simpler and also works for Android cross-compilation, so remove the detect_target_arch function. Android targets i686, but compiler-rt seems to identify 32-bit x86 as "i386". For Android, we were previously calling add_default_target_arch with i386, and calling add_default_target_arch with i686 does not build anything. i686 is not listed in builtin-config-ix.cmake, ALL_BUILTIN_SUPPORTED_ARCH. Differential Revision: https://reviews.llvm.org/D82148 -
Ryan Prichard authored
Split filter_builtin_sources into two functions: - filter_builtin_sources that removes generic files when an arch-specific file is selected. - darwin_filter_builtin_sources that implements the EXCLUDE/INCLUDE lists (using the files in lib/builtins/Darwin-excludes). darwin_filter_builtin_sources delegates to filter_builtin_sources. Previously, lib/builtins/CMakeLists.txt had a number of calls to filter_builtin_sources (with a confusing/broken use of the `excluded_list` parameter), as well as a redundant arch-vs-generic filtering for the non-Apple code path at the end of the file. Replace all of this with a single call to filter_builtin_sources. Remove i686_SOURCES. Previously, this list contained only the arch-specific files common to 32-bit and 64-bit x86, which is a strange set. Normally the ${ARCH}_SOURCES list contains everything needed for the arch. "i686" isn't in ALL_BUILTIN_SUPPORTED_ARCH. NFCI, but i686_SOURCES won't be defined, and the order of files in ${arch}_SOURCES lists will change. Differential Revision: https://reviews.llvm.org/D82151 -
Ryan Prichard authored
Android 32-bit x86 uses a 64-bit long double. Android 64-bit x86 uses a 128-bit quad-precision long double. Differential Revision: https://reviews.llvm.org/D82152
-
LLVM GN Syncbot authored
-
Stephen Hines authored
https://reviews.llvm.org/D75383 switched the C default to gnu17, but missed this instance. Differential Revision: https://reviews.llvm.org/D83726
-
Gui Andrade authored
Adds LLVM option to control eager checking under -msan-eager-checks. This change depends on the noundef keyword to determining cases where it it sound to check these shadows, and falls back to passing shadows values by TLS. Checking at call boundaries enforces undefined behavior rules with passing uninitialized arguments by value. Differential Revision: https://reviews.llvm.org/D81699
-
Mircea Trofin authored
The CHECKs are going to be shared with the development mode test
-
Mircea Trofin authored
This reverts commit 9908a3b9. The fix was to exclude the content of TFUtils.h (automatically included in the LLVM_Analysis module, when LLVM_ENABLE_MODULES is enabled). Differential Revision: https://reviews.llvm.org/D82817
-
Lang Hames authored
-
Gui Andrade authored
-
Tyker authored
Summary: NOTE: There is a mailing list discussion on this: http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html Complemantary to the assumption outliner prototype in D71692, this patch shows how we could simplify the code emitted for an alignemnt assumption. The generated code is smaller, less fragile, and it makes it easier to recognize the additional use as a "assumption use". As mentioned in D71692 and on the mailing list, we could adopt this scheme, and similar schemes for other patterns, without adopting the assumption outlining. Reviewers: hfinkel, xbolva00, lebedev.ri, nikic, rjmccall, spatel, jdoerfert, sstefan1 Reviewed By: jdoerfert Subscribers: thopre, yamauchi, kuter, fhahn, merge_guards_bot, hiraditya, bollu, rkruppe, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D71739
-
Eric Christopher authored
-
Kiran Chandramohan authored
This patch introduces lowering of the OpenMP parallel operation to LLVM IR using the OpenMPIRBuilder. Functions topologicalSort and connectPhiNodes are generalised so that they work with operations also. connectPhiNodes is also made static. Lowering works for a parallel region with multiple blocks. Clauses and arguments of the OpenMP operation are not handled. Reviewed By: rriddle, anchu-rajendran Differential Revision: https://reviews.llvm.org/D81660
-
Vedant Kumar authored
This should address the bot failure here: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/66309/
-
Dokyung Song authored
Summary: Fixed an implicit definition warning by including <string.h>. Also fixed run-time assertions that the return value of strxfrm_l calls is less than the buffer size by increasing the size of the referenced buffer. Reviewers: morehouse Reviewed By: morehouse Subscribers: dberris, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D83593
-
Gui Andrade authored
Currently, a transformation like pow(2.0, x) -> exp2(x) copies the pow attribute list verbatim and applies it to exp2. This works out fine when the attribute list is empty, but when it isn't clang may error due due to the mismatch. The source function and destination don't necessarily have anything to do with one another, attribute-wise. So it makes sense to remove the attribute lists (this is similar to what IPO does in this situation). This was discovered after implementing the `noundef` param attribute. Differential Revision: https://reviews.llvm.org/D82820
-
Vedant Kumar authored
This reverts commit 9649c209. See discussion on the llvm-commits thread: if it's OK to preserve the location when sinking a call, it's probably OK to always preserve the location.
-
Vedant Kumar authored
-
Jinsong Ji authored
This is exposed by https://reviews.llvm.org/D83486. When the host is UTF8, we may get n >10, causing assert failure. Increase the buffersize to support UTF-8 to C conversion. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D83719
-
Gui Andrade authored
Differential Revision: https://reviews.llvm.org/D83000
-
Vedant Kumar authored
Check that the implicit cast from `id` used to construct the element variable in an ObjC for-in statement is valid. This check is included as part of a new `objc-cast` sanitizer, outside of the main 'undefined' group, as (IIUC) the behavior it's checking for is not technically UB. The check can be extended to cover other kinds of invalid casts in ObjC. Partially addresses: rdar://12903059, rdar://9542496 Differential Revision: https://reviews.llvm.org/D71491
-
Benjamin Kramer authored
That's just asking for ODR violations. Also drop a call to lower() that's not needed.
-
Vedant Kumar authored
https://reviews.llvm.org/D78411 introduced test changes which relied on the ability to strip debugify metadata even if module-level metadata is missing. This introduces a more targeted test for that ability.
-
Quentin Colombet authored
Fix the requirements for that test. NFC
-
Nicolas Vasilache authored
Summary: The native alignment may generally not be used when lowering a vector.transfer to the underlying load/store operation. This revision fixes the unmasked load/store alignment to match that of the masked path. Differential Revision: https://reviews.llvm.org/D83684
-
Nikita Popov authored
This is intended to address a compile-time regression from 1eddce41. A SmallPtrSet was replaced with a SetVector there, which had an unexpected large compile-time impact. It turns out that this structure is getting swapped a lot, and previously this used an optimized std::swap() specialization for SmallPtrSet. Now it ends up using the default, triple-move based implementation, which is much more expensive. This patch (partly) addresses the issue by specializing std::swap() for SetVector. Differential Revision: https://reviews.llvm.org/D82230
-
Walter Erquinigo authored
Original commit c60216db. The test can only run on Darwin because of how it was setup, so I'm enforcing that. Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
-
Jonas Devlieghere authored
Nobody is writing to the stream so there's no point in passing it around.
-
Rahul Joshi authored
[MLIR] Change ODS collective params build method to provide an empty default value for named attributes - Provide default value for `ArrayRef<NamedAttribute> attributes` parameter of the collective params build method. - Change the `genSeparateArgParamBuilder` function to not generate build methods that may be ambiguous with the new collective params build method. - This change should help eliminate passing empty NamedAttribue ArrayRef when the collective params build method is used - Extend op-decl.td unit test to make sure the ambiguous build methods are not generated. Differential Revision: https://reviews.llvm.org/D83517
-
AlexisPerry authored
[flang] Extended the flang driver options to include gfortran equivalents to pgf90 specific options. Summary: Added gfortran equivalents of pgf90's -Mfixed, -Mfree, -Mextend, -Mstandard, -Munlimited and also added -fdefault-double-8 Reviewers: sscalpone, richard.barton.arm, DavidTruby, clementval, jdoerfert Reviewed By: sscalpone, richard.barton.arm Subscribers: sstefan1, llvm-commits, flang-commits Tags: #llvm, #flang Differential Revision: https://reviews.llvm.org/D83687
-
Thomas Raoux authored
Right now slicing would assert if an operation with multiple results is in the slice. Differential Revision: https://reviews.llvm.org/D83627
-
LLVM GN Syncbot authored
-
Lei Zhang authored
Per the Vulkan's SPIR-V environment spec, "for the OpSRem and OpSMod instructions, if either operand is negative the result is undefined." So we cannot directly use spv.SRem/spv.SMod if either operand can be negative. Emulate it via spv.UMod. Because the emulation uses spv.SNegate, this commit also defines spv.SNegate. Differential Revision: https://reviews.llvm.org/D83679
-