llvm-project/llvm/lib/Transforms/InstCombine
Tyker c95ffadb24 [AssumeBundles] Use operand bundles to encode alignment assumptions
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: yamauchi, kuter, fhahn, merge_guards_bot, hiraditya, bollu, rkruppe, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D71739
2020-06-25 12:59:44 +02:00
..
CMakeLists.txt [InstCombine] Negator - sink sinkable negations 2020-04-21 22:00:23 +03:00
InstCombineAddSub.cpp [InstCombine] reassociate diff of sums into sum of diffs 2020-06-22 20:47:09 -04:00
InstCombineAndOrXor.cpp [InstCombine] fold mask op into casted shift (PR46013) 2020-06-07 09:33:18 -04:00
InstCombineAtomicRMW.cpp [NFC] Modernize misc. uses of Align/MaybeAlign APIs. 2020-04-06 17:53:04 -07:00
InstCombineCalls.cpp [AssumeBundles] Use operand bundles to encode alignment assumptions 2020-06-25 12:59:44 +02:00
InstCombineCasts.cpp [InstCombine] visitBitCast(): do not crash on weird `bitcast <1 x i8*> to i8*` 2020-06-25 00:58:53 +03:00
InstCombineCompares.cpp [IRBuilder] add/use wrapper to create a generic compare based on predicate type; NFC 2020-06-18 15:47:06 -04:00
InstCombineInternal.h InstCombineInternal.h - reduce AliasAnalysis.h include to forward declaration. NFC. 2020-06-24 19:27:38 +01:00
InstCombineLoadStoreAlloca.cpp InstCombineInternal.h - reduce AliasAnalysis.h include to forward declaration. NFC. 2020-06-24 19:27:38 +01:00
InstCombineMulDivRem.cpp [InstCombine] remove unused parameter and add assert; NFC 2020-06-20 11:47:00 -04:00
InstCombineNegator.cpp [InstCombine] Negator: while there, add detection for cycles during negation 2020-06-17 22:47:20 +03:00
InstCombinePHI.cpp LoadInst should store Align, not MaybeAlign. 2020-05-14 13:19:21 -07:00
InstCombineSelect.cpp [InstCombine] Combine select & Phi by same condition 2020-06-25 10:44:10 +07:00
InstCombineShifts.cpp [SVE] Update API ConstantVector::getSplat() to use ElementCount. 2020-03-12 13:22:41 -07:00
InstCombineSimplifyDemanded.cpp [DebugInfo] Reduce SalvageDebugInfo() functions 2020-06-08 19:28:18 +01:00
InstCombineTables.td
InstCombineVectorOps.cpp [SVE] Eliminate calls to default-false VectorType::get() from InstCombine 2020-05-29 15:31:31 -07:00
InstructionCombining.cpp [IRBuilder] add/use wrapper to create a generic compare based on predicate type; NFC 2020-06-18 15:47:06 -04:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00