- May 05, 2021
-
-
Baptiste Saleil authored
-
Fangrui Song authored
llvm-mc will error "expected comma" instead of "unexpected token".
-
Dávid Bolvanský authored
This reverts commit 4e7a4c73. Not needed, pattern is handled by instcombine already.
-
Arthur O'Dwyer authored
Differential Revision: https://reviews.llvm.org/D101638
-
Baptiste Saleil authored
This patch disables some of the passes at -O1. These passes have a significant impact on compilation time, so we only want them to be enabled starting from -O2. Differential Revision: https://reviews.llvm.org/D101414
-
Louis Dionne authored
In std::tuple, we should try to avoid calling std::is_copy_constructible whenever we can to avoid surprising interactions with (I believe) compiler builtins. This bug was reported in https://reviews.llvm.org/D96523#2730953. The issue was that when tuple<_Up...> was the same as tuple<_Tp...>, we would short-circuit the _Or (because sizeof...(_Tp) != 1) and go evaluate the following `is_constructible<_Tp, const _Up&>...`. That shouldn't actually be a problem, but see the analysis in https://reviews.llvm.org/D101770#2736470 for why it is with Clang and GCC. Instead, after this patch, we check whether the constructed-from tuple is the same as the current tuple regardless of the number of elements, since we should always prefer the normal copy constructor in that case anyway. Differential Revision: https://reviews.llvm.org/D101770
-
Fangrui Song authored
-
Matt Arsenault authored
-
Matt Arsenault authored
The resulting output is semantically closer to what the DAG emits and is more compatible with the existing CCAssignFns. The returns of f32 in f80 are clearly broken, but they were broken before when using G_ANYEXT to go from f32 to f80.
-
Fangrui Song authored
The directive name is not useful because the next line replicates the error line which includes the directive.
-
Thomas Lively authored
We previously had an ISel pattern for i64x2.abs, but because the ISDNode was not marked legal for v2i64, the instruction was not being selected. Differential Revision: https://reviews.llvm.org/D101803
-
Alina Sbirlea authored
-
Xun Li authored
This patch is to address https://bugs.llvm.org/show_bug.cgi?id=49916. When the size of an alloca is 0, it will trigger an assertion in OptimizedStructLayout when being added to the frame. Fix it by not adding it at all. We return index 0 (beginning of the frame) for all 0-sized allocas. Differential Revision: https://reviews.llvm.org/D101841
-
Adrian Prantl authored
-
Martin Storsjö authored
Unwind info generated by MSVC tends to have relocations pointing at static "label" symbols like "$LN4" instead of regular ones based on the actual function's name. Try to resolve such symbols to a non-label symbol if possible (ideally to an external symbol), to improve the readability. Differential Revision: https://reviews.llvm.org/D101567
-
Martin Storsjö authored
This is a followup to 2b01a417; previously the RVAs of the exported symbols from comdats were left zero. Thanks to Kleis Auke Wolthuizen for the fix suggestion and pointing out the omission. Differential Revision: https://reviews.llvm.org/D101615
-
Martin Storsjö authored
After 39bbfb77, bash is no longer a hard requirement. Differential Revision: https://reviews.llvm.org/D101779
-
Giorgis Georgakoudis authored
The script update_cc_test_checks runs all non-filechecked runlines before the filechecked ones. This creates problems since outputs of those non-filechecked runlines may conflict and that will fail the execution of update_cc_test_checks. This patch executes non-filechecked in the order specified in the test file to avoid this issue. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D101683
-
Giorgis Georgakoudis authored
Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D101800
-
Leonard Chan authored
Reduces the number of targets/triples for this test since not all cmake invocations will build for those targets.
-
Dan Liew authored
When the target triple was an Apple platform `ToolChain::getOSLibName()` (called by `getCompilerRTPath()`) would return the full OS name including the version number (e.g. `darwin20.3.0`). This is not correct because the library directory for all Apple platforms is `darwin`. This in turn caused * `-print-runtime-dir` to return a non-existant path. * `-print-file-name=<any compiler-rt library>` to return the filename instead of the full path to the library. Two regression tests are included. rdar://77417317 Differential Revision: https://reviews.llvm.org/D101682
-
Alina Sbirlea authored
-
Fangrui Song authored
-
Nathan James authored
Fixes https://llvm.org/PR35099. I'm not sure if this decision was intentional but its definitely confusing for users. Reviewed By: MyDeveloperDay, HazardyKnusperkeks, curdeius Differential Revision: https://reviews.llvm.org/D101628
-
Fangrui Song authored
-
Leonard Chan authored
This implements the flag proposed in RFC http://lists.llvm.org/pipermail/cfe-dev/2020-August/066437.html. The goal is to add a way to override the default target C++ ABI through a compiler flag. This makes it easier to test and transition between different C++ ABIs through compile flags rather than build flags. In this patch: - Store -fc++-abi= in a LangOpt. This isn't stored in a CodeGenOpt because there are instances outside of codegen where Clang needs to know what the ABI is (particularly through ASTContext::createCXXABI), and we should be able to override the target default if the flag is provided at that point. - Expose the existing ABIs in TargetCXXABI as values that can be passed through this flag. - Create a .def file for these ABIs to make it easier to check flag values. - Add an error for diagnosing bad ABI flag values. Differential Revision: https://reviews.llvm.org/D85802
-
Matt Morehouse authored
It was previously disabled for the past 6+ months. I tried to re-enable it after some deflaking, but it still fails occasionally.
-
Nikita Popov authored
We need to use a logical or instead of a bitwise or to preserve poison behavior. Poison from the second condition should not propagate if the first condition is true. We were already handling this correctly in FoldBranchToCommonDest(), but not in this fold. (There are still other folds with this issue.)
-
Nikita Popov authored
Regenerate the branch weight test using --check-globals.
-
Nikita Popov authored
-
Matt Morehouse authored
Increase runs to 200,000 since we currently get a random failure about once per day on the buildbot.
-
Fangrui Song authored
Use the user-facing `-M no-aliases` instead.
-
Fangrui Song authored
--riscv-no-aliases is an internal cl::opt option not intended to be exported. Use the user-facing -M no-aliases instead.
-
Dávid Bolvanský authored
-
Andrew Savonichev authored
If a return value is explicitly rounded to 64 bits, an additional zext instruction is emitted, and in some cases it prevents tail call optimization. As discussed in D100225, this rounding is not necessary and can be disabled. Differential Revision: https://reviews.llvm.org/D100591
-
Arthur Eubanks authored
-
Nathan James authored
Change instances where options which are boolean are assigned the value 1|0 to use true|false instead. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D101721
-
Fangrui Song authored
-a is alias for --archive-headers, not --all-headers
-
Fraser Cormack authored
This patch adds the two MVTs to fix a legalizer crash when using vector shuffles of <256 x i16> and <128 x i16> on RISC-V. The legalizer can't promote the operand of `v256i32 = any_extend_vector_inreg v128i16`. Reviewed By: craig.topper, RKSimon Differential Revision: https://reviews.llvm.org/D101769
-
Ahsan Saghir authored
This patch prevents argument promotion of types having type size greater than 128 bits. Fixes Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=49952 Reviewed By: #powerpc, nemanjai Differential Revision: https://reviews.llvm.org/D101188
-