- Mar 09, 2020
-
-
Sjoerd Meijer authored
This includes fixes for: - test-suite: some benchmarks need to be compiled with -fcommon, see D75557. - compiler-rt: one test needed -fcommon, and another a change, see D75520.
-
Balázs Kéri authored
Summary: According to documentations, after an `fclose` call any other stream operations cause undefined behaviour, regardless if the close failed or not. This change adds the check for the opened state before all other (applicable) operations. Reviewers: Szelethus Reviewed By: Szelethus Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, gamesh411, Charusso, martong, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75614
-
Clement Courbet authored
Summary: This gets rid of duplicated code and diverging behaviour w.r.t. constants. Fixes PR45086. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75519
-
Nathan James authored
-
Clement Courbet authored
Summary: This gets rid of duplicated code and diverging behaviour w.r.t. constants. Fixes PR45086. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75519
-
Muhammad Omair Javaid authored
This patch removes skipIf decorator from instruction counting tests. We now use inline intruction in testing inferior to make sure that number of instructions stays fixed. This was tested on aarch64 linux.
-
Nathan James authored
Reviewers: aaron.ballman, alexfh, gribozavr2 Reviewed By: aaron.ballman Subscribers: wuzish, nemanjai, xazax.hun, kbarton, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D75803
-
Alex Brachet authored
-
Hideto Ueno authored
This patch introduces the propagation of known information based on path exploration. For example, ``` int u(int c, int *p){ if(c) { return *p; } else { return *p + 1; } } ``` An argument `p` is dereferenced whatever c's value is. For an instruction `CtxI`, we accumulate branch instructions in the must-be-executed-context of `CtxI` and then, we take the conjunction of the successors' known state. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D65593
-
Uday Bondhugula authored
- update test case for readability, avoid unnecessary matches Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D75823
-
Uday Bondhugula authored
add convenience method for affine data copy generation for a loop body Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D75822
-
Craig Topper authored
This was selecting VBROADCASTW which turned the 8-bit load into a 16-bit load if it happened to be 2 byte aligned. I have a plan to fix the regression with a follow up patch which I'll post shortly.
-
Nathan James authored
Reviewers: aaron.ballman, gribozavr2 Reviewed By: aaron.ballman Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75800
-
- Mar 08, 2020
-
-
Michael Liao authored
-
David Green authored
-
Sanjay Patel authored
opcode (extelt V0, Ext0), (ext V1, Ext1) --> extelt (opcode (splat V0, Ext0), V1), Ext1 The first part of this patch generalizes the cost calculation to accept different extraction indexes. The second part creates a shuffle+extract before feeding into the existing code to create a vector op+extract. The patch conservatively uses "TargetTransformInfo::SK_PermuteSingleSrc" rather than "TargetTransformInfo::SK_Broadcast" (splat specifically from element 0) because we do not have a more general "SK_Splat" currently. That does not affect any of the current regression tests, but we might be able to find some cost model target specialization where that comes into play. I suspect that we can expose some missing x86 horizontal op codegen with this transform, so I'm speculatively adding a debug flag to disable the binop variant of this transform to allow easier testing. The test changes show that we're sensitive to cost model diffs (as we should be), so that means that patches like D74976 should have better coverage. Differential Revision: https://reviews.llvm.org/D75689
-
Sanjay Patel authored
-
Kang Zhang authored
Summary: This NFC patch is only modify the position of MTSTR/MFSPR InstAlias definition. So it will be easy to read.
-
LLVM GN Syncbot authored
-
Tyker authored
Summary: Assume bundles need to be usable by Analysis and Transforms/Utils isn't. so this commit moves utilities to deal with asusme bundles to IR. Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: mgorny, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75618
-
Tyker authored
Summary: Finding what information is know about a value from a use is generally useful and can be done quickly. Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75616
-
Craig Topper authored
If we're zeroing the other elements then we don't need the broadcast.
-
Kang Zhang authored
This reverts commit 46126a30. Some test cases failed.
-
Kang Zhang authored
Summary: Below InstAlias have been redeclaration, this patch is to remove them. mtdec/mfdec mtsdr1/mfsdr1 mtsrr0/mfsrr0 mtsrr1/mfsrr1
-
Yaxun (Sam) Liu authored
-
Yaxun (Sam) Liu authored
Differential Revision: https://reviews.llvm.org/D75700
-
Alex Brachet authored
Summary: Use `EXPECT_THAT` where possible in tests NFC intended. Added a `void *` template instantiation of `StreamWrapper::operator<<` Reviewers: sivachandra, PaulkaToast Reviewed By: sivachandra Subscribers: MaskRay, tschuett, libc-commits Differential Revision: https://reviews.llvm.org/D75717
-
Nathan Chancellor authored
GCC does not warn on casts from pointers to enumerators, while clang currently does: https://godbolt.org/z/3DFDVG This causes a bunch of extra warnings in the Linux kernel, where certain structs contain a void pointer to avoid using a gigantic union for all of the various types of driver data, such as versions. Add a diagnostic that allows certain projects like the kernel to disable the warning just for enums, which allows those projects to keep full compatibility with GCC but keeps the intention of treating casts to integers and enumerators the same by default so that other projects have the opportunity to catch issues not noticed before (or follow suite and disable the warning). Link: https://github.com/ClangBuiltLinux/linux/issues/887 Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D75758
-
Craig Topper authored
[X86] Add DAG combine to replace vXi64 vzext_movl+scalar_to_vector with vYi32 vzext_movl+scalar_to_vector if the upper 32 bits of the scalar are zero. We can just use a 32-bit copy and zero in the SSE domain when we zero the upper bits. Remove an isel pattern that becomes dead with this.
-
Craig Topper authored
-
Craig Topper authored
Remove now unneeded isel patterns.
-
Argyrios Kyrtzidis authored
[Index/USRGeneration] Make sure that ObjC properties in categories also get namescoped properly for USR generation If the property is in a category that has module names from external_declaration property, make sure they are included in the USR. rdar://59897320
-
- Mar 07, 2020
-
-
kpdev authored
-
Rafael Ávila de Espíndola authored
This fixes https://bugs.llvm.org/show_bug.cgi?id=45096 Differential Revision: https://reviews.llvm.org/D75701
-
Ruyman authored
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std. The flag defines the LangOpts.SYCLVersion option to the version of SYCL. The default value is undefined. If driver is building SYCL code, flag is set to the default SYCL version (1.2.1) The preprocessor uses this variable to define CL_SYCL_LANGUAGE_VERSION macro, which should be defined according to SYCL 1.2.1 standard. Only valid value at this point for the flag is 1.2.1. Co-Authored-By:
David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Signed-off-by:
Ruyman Reyes <ruyman@codeplay.com> Subscribers: ebevhan, Anastasia, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72857
-
Craig Topper authored
-
Mehdi Amini authored
It is almost identical to the top-level .clang-tidy, except that {Member,Parameter,Variable}Case use camelBack.
-
Michał Górny authored
-
Nikita Popov authored
Fixes a regression from D75801. SimplifyDemandedUseBits() is also supposed to compute the known bits (of the demanded subset) of the instruction. For unknown instructions it does so by directly calling computeKnownBits(). For known instructions it will compute known bits itself. However, for instructions where only some cases are handled directly (e.g. a constant shift amount) the known bits invocation for the unhandled case is sometimes missing. This patch adds the missing calls and thus removes the main discrepancy with ExpensiveCombines mode. Differential Revision: https://reviews.llvm.org/D75804
-
Matt Arsenault authored
-