Commit
87087a02ae49a907e0ec9e6dfe62c9b9ca232936
by nikita.ppv[InstCombine] Add tests for gep of null (NFC)
We were only considering the gep of null pattern in conjunction with a load/store. Also test it independently.
|
 | llvm/test/Transforms/InstCombine/getelementptr.ll |
Commit
eb79fd3c928dbbb97f7937963361c1dad2bf8222
by nikita.ppv[InstCombine] Fold gep inbounds of null to null
Effectively, this is what we were previously already doing when the GEP was used in conjunction with a load or store, but this fold can also be applied more generally:
> The only in bounds address for a null pointer in the default > address-space is the null pointer itself.
|
 | llvm/test/Transforms/InstCombine/getelementptr.ll |
 | llvm/test/Transforms/InstCombine/store.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
Commit
759b8c11c398c20f12503356f8aef604e0bf82be
by nikita.ppv[InstCombine] Handle different pointer types when folding gep of null
The source pointer type is not necessarily the same as the result pointer type, so we can't simply return the original null pointer, it might be a different one.
|
 | llvm/test/Transforms/InstCombine/getelementptr.ll |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
Commit
cce473e0c56408237ea9ac5e24df918afab91ec9
by andrew.litteken[IRSim] Adding commutativity matching to structure checking
Certain instructions, such as adds and multiplies can have the operands flipped and still be considered the same. When we are analyzing structure, this gives slightly more flexibility to create a mapping from one region to another. We can add both operands in a corresponding instruction to an operand rather than just the exact match. We then try to eliminate items from the set, until there is only one valid mapping between the regions of code.
We do this for adds, multiplies, and equality checking. However, this is not done for floating point instructions, since the order can still matter in some cases.
Tests:
llvm/test/Transforms/IROutliner/outlining-commutative-fp.ll llvm/test/Transforms/IROutliner/outlining-commutative.ll llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Reviewers: jroelofs, paquette
Differential Revision: https://reviews.llvm.org/D87311
|
 | llvm/test/Transforms/IROutliner/outlining-commutative-fp.ll |
 | llvm/test/Transforms/IROutliner/outlining-commutative.ll |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
Commit
050392660249c70c00e909ae4a7151ba2c766235
by andrew.litteken[IRSim] Adding support for isomorphic predicates
Some predicates, can be considered the same as long as the operands are flipped. For example, a > b gives the same result as b > a. This maps instructions in a greater than form, to their appropriate less than form, swapping the operands in the IRInstructionData only, allowing for more flexible matching.
Tests:
llvm/test/Transforms/IROutliner/outlining-isomorphic-predicates.ll llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Reviewers: jroelofs, paquette
Differential Revision: https://reviews.llvm.org/D87310
|
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/test/Transforms/IROutliner/outlining-isomorphic-predicates.ll |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
Commit
f8079355c604fead0f8538548bd7eb51fcc81e31
by lebedev.ri[InstCombine] canonicalizeAbsNabs(): don't propagate NSW flag for NABS patter
As Nuno is noting in post-commit review in https://reviews.llvm.org/D87188#2467915 it is not correct to keep NSW for negated abs pattern, so don't do that.
|
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | llvm/test/Transforms/InstCombine/abs-1.ll |
 | llvm/test/Transforms/InstCombine/abs_abs.ll |
 | llvm/test/Transforms/InstCombine/select_meta.ll |
Commit
374f1d81febf8143e8e633296a42c2311699c5b3
by bjoern[clang-format] Fix handling of TextProto comments
Differential Revision: https://reviews.llvm.org/D93163
|
 | clang/lib/Format/BreakableToken.cpp |
 | clang/unittests/Format/FormatTestTextProto.cpp |
Commit
47877c9079c27f19a954b660201ea47717c82fec
by bjoern[clang-format] Add SpaceBeforeCaseColon option
With which you can add a space before the colon of a case or default statement.
Differential Revision: https://reviews.llvm.org/D93240
|
 | clang/unittests/Format/FormatTest.cpp |
 | clang/docs/ClangFormatStyleOptions.rst |
 | clang/include/clang/Format/Format.h |
 | clang/lib/Format/Format.cpp |
 | clang/docs/ReleaseNotes.rst |
 | clang/lib/Format/TokenAnnotator.cpp |