- Oct 22, 2020
-
-
Jeremy Morse authored
This the second time I've stepped on this landmine, I'll look at setting a lit local config. All the tests in this dir are going to be X86 for now.
-
Jeremy Morse authored
This patch touches two optimizations, TwoAddressInstruction and X86's FixupLEAs pass, both of which optimize by re-creating instructions. For LEAs, various bits of arithmetic are better represented as LEAs on X86, while TwoAddressInstruction sometimes converts instrs into three address instructions if it's profitable. For debug instruction referencing, both of these require substitutions to be created -- the old instruction number must be pointed to the new instruction number, as illustrated in the added test. If this isn't done, any variable locations based on the optimized instruction are conservatively dropped. Differential Revision: https://reviews.llvm.org/D85756
-
David Zarzycki authored
There are bunch of optimization opportunities right now in the vector popcnt code gen when doing simple less-than/greater-than comparisons, so let's examine them all to ensure that things don't regress as different scenarios are fixed. We can always delete some later once some fixes are made. Please note: the new files were auto-generated. If people want, I can commit the short C code that printed out the various combinations.
-
Alexander Kornienko authored
-
Alexander Belyaev authored
https://llvm.discourse.group/t/rfc-standard-memref-cast-ops/1454/15 Differential Revision: https://reviews.llvm.org/D89784
-
Max Kazantsev authored
-
Luís Marques authored
The existing tests were mostly for 64-bit constants. Differential Revision: https://reviews.llvm.org/D83210
-
LLVM GN Syncbot authored
-
Max Kazantsev authored
This better reflects what this variable is about.
-
Tianqing Wang authored
For more details about these instructions, please refer to the latest ISE document: https://software.intel.com/en-us/download/intel-architecture-instruction-set-extensions-programming-reference. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D89301
-
Evgeny Leviant authored
-
Mikhail Goncharov authored
Now libc++ pipeline will be triggered from the "premerge-checks" and the combined result are going to be returned to Harbormaster. Reviewed-by: ldionne Differential Revision: https://reviews.llvm.org/D89113
-
Max Kazantsev authored
This better reflects what this logic actually does.
-
Max Kazantsev authored
This reverts commit 3fce5ea7. `make check` broken.
-
Sjoerd Meijer authored
This improves simplifications for pattern `icmp (X+Y), (X+Z)` -> `icmp Y,Z` if only one of the operands has NSW set, e.g.: icmp slt (x + 0), (x +nsw 1) We can still safely rewrite this to: icmp slt 0, 1 because we know that the LHS can't overflow if the RHS has NSW set and C1 < C2 && C1 >= 0, or C2 < C1 && C1 <= 0 This simplification is useful because ScalarEvolutionExpander which is used to generate code for SCEVs in different loop optimisers is not always able to put back NSW flags across control-flow, thus inhibiting CFG simplifications. Differential Revision: https://reviews.llvm.org/D89317 -
Fangrui Song authored
findNearestCommonDominator never returns nullptr.
-
Jonas Devlieghere authored
Make these types conform to the LLVM Coding Standards: > Type names (including classes, structs, enums, typedefs, etc) should > be nouns and start with an upper-case letter.
-
Alex Lorenz authored
target Apple Silicon macOS machines Differential Revision: https://reviews.llvm.org/D82699
-
Martin Storsjö authored
Implement the corresponding thing using windows functions as well. Differential Revision: https://reviews.llvm.org/D89864
-
Martin Storsjö authored
The individual enum values in copy_options and file_type aren't specified in the standard. The standard doesn't require fs::path::format to be a scoped enum. Differential Revision: https://reviews.llvm.org/D89866
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D89867
-
Martin Storsjö authored
Copy over the compiler detection structure from libcxx, and set _LIBCXXABI_WEAK like _LIBCPP_WEAK is set in libcxx. This allows users to override operator new/delete, if using those operators from libcxxabi instead of from libcxx. Differential Revision: https://reviews.llvm.org/D89863
-
Tony authored
- Make the SIMemoryLegalizer insertAcquire function be in the same order for each target to be consistent. Differential Revision: https://reviews.llvm.org/D89880
-
Douglas Yung authored
A recent commit to revert llvm-symbolizer changes forgot to revert this test fix. This reverts commit 5e656ee4.
-
Arthur Eubanks authored
Many of these tests don't use the output of -analyze.
-
Serguei Katkov authored
Use BFI if it is available and BPI otherwise. This is a promised follow-up after D89541. Reviewers: ebrevnov, mkazantsev Reviewed By: ebrevnov Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D89773
-
Arthur Eubanks authored
-
Vy Nguyen authored
Differential Revision: https://reviews.llvm.org/D89616
-
Arthur Eubanks authored
-analyze does not work with the NPM. 'print<foo>' passes should be used instead.
-
Richard Smith authored
-
Teresa Johnson authored
Split out of D89086 as suggested. Change the default of the log_path flag to nullptr, and the code consuming that flag (ReportFile::SetReportPath), to treat nullptr as stderr (so no change to the behavior of existing users). This allows code to distinguish between the log_path being specified explicitly as stderr vs the default. This is so the flag can be used to override the new report path variable that will be encoded in the binary for memprof for runtime testing. Differential Revision: https://reviews.llvm.org/D89629
-
Xiang1 Zhang authored
Reviewed By: nickdesaulniers, MaskRay Differential Revision: https://reviews.llvm.org/D88631
-
Arthur Eubanks authored
-
Chen Zheng authored
-
Richard Smith authored
account when determining the identity of a class NTTP.
-
Arthur Eubanks authored
-
Craig Topper authored
[FPEnv][X86][SystemZ] Use different algorithms for i64->double uint_to_fp under strictfp to avoid producing -0.0 when rounding toward negative infinity Some of our conversion algorithms produce -0.0 when converting unsigned i64 to double when the rounding mode is round toward negative. This switches them to other algorithms that don't have this problem. Since it is undefined behavior to change rounding mode with the non-strict nodes, this patch only changes the behavior for strict nodes. There are still problems with unsigned i32 conversions too which I'll try to fix in another patch. Fixes part of PR47393 Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D87115
-
Richard Smith authored
-
Vy Nguyen authored
Split off from D89251 Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D89884
-