1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/lib/IR
Craig Topper 340c0ed23d Revert "[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms" and subsequent patches
This reverts most of the following patches due to reports of miscompiles.
I've left the added test cases with comments updated to be FIXMEs.

1cf6f210a2e [IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison.
469da663f2d [InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison
122b0640fc9 [InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison
ac0af12ed2f [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison
9b1e95329af [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms
2020-07-15 22:02:33 -07:00
..
AbstractCallSite.cpp Remove getNumUses() comparisons (NFC) 2020-05-02 11:05:19 +02:00
AsmWriter.cpp Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-07-14 12:16:57 -07:00
AttributeImpl.h [IR] Store attributes that are available "somewhere" (NFC) 2020-06-27 10:44:59 +02:00
Attributes.cpp [LLVM] Accept noundef attribute in function definitions/calls 2020-07-08 19:02:04 +00:00
AutoUpgrade.cpp Make helpers static. NFC. 2020-07-09 13:48:56 +02:00
BasicBlock.cpp Revert "[IR] Clean up dead instructions after simplifying a conditional branch" 2020-06-16 10:32:15 +01:00
CMakeLists.txt [NFC] Split Knowledge retention and place it more appropriatly 2020-04-02 15:01:41 +02:00
Comdat.cpp
ConstantFold.cpp Revert "[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms" and subsequent patches 2020-07-15 22:02:33 -07:00
ConstantFold.h Remove "mask" operand from shufflevector. 2020-03-31 13:08:59 -07:00
ConstantRange.cpp [ConstantRange] Use APInt::or/APInt::and for single elements. 2020-04-01 09:50:24 +01:00
Constants.cpp [SVE] Make Constant::getSplatValue work for scalable vector splats 2020-07-07 13:45:51 -07:00
ConstantsContext.h [IR] Add classof methods to ConstantExpr subclasses. 2020-07-01 11:56:12 -07:00
Core.cpp Remove GlobalValue::getAlignment(). 2020-06-23 19:13:42 -07:00
DataLayout.cpp [XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout 2020-07-03 18:25:14 +00:00
DebugInfo.cpp Pass stripNonLineTableDebugInfo remapDebugLoc lambda DebugLoc arg by const reference not value. 2020-07-01 12:37:47 +01:00
DebugInfoMetadata.cpp Pass DIEnumerator APInt args by const reference not value. 2020-07-01 13:16:07 +01:00
DebugLoc.cpp Pass DebugLoc::appendInlinedAt DebugLoc arg by const reference not value. 2020-07-01 16:38:51 +01:00
DiagnosticHandler.cpp
DiagnosticInfo.cpp
DiagnosticPrinter.cpp
DIBuilder.cpp [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
Dominators.cpp [NFC] Add API for edge domination check in dom tree 2020-06-17 16:05:05 +07:00
FPEnv.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
Function.cpp [CallGraph] Ignore callback uses 2020-07-14 13:08:49 -07:00
Globals.cpp Remove GlobalValue::getAlignment(). 2020-06-23 19:13:42 -07:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp [Instruction] Remove setProfWeight() 2020-06-04 15:10:55 +07:00
Instructions.cpp [IR] Add a few asserts to provide a better failure signature if you try to create a load/store/alloca with no alignment or insertion position 2020-07-14 18:47:44 -07:00
IntrinsicInst.cpp [VP][Fix] canIgnoreVectorLength for scalable types 2020-06-04 14:17:42 +02:00
IRBuilder.cpp [AssumeBundles] Use operand bundles to encode alignment assumptions 2020-07-14 01:05:58 +02:00
IRPrintingPasses.cpp
LegacyPassManager.cpp Double check that passes correctly set their Modified status 2020-07-14 09:56:49 +02:00
LLVMBuild.txt
LLVMContext.cpp Introduce a "gc-live" bundle for the gc arguments of a statepoint 2020-06-03 15:00:24 -07:00
LLVMContextImpl.cpp [IR][BFloat] Add BFloat IR type 2020-05-15 14:43:43 +01:00
LLVMContextImpl.h [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
LLVMRemarkStreamer.cpp
Mangler.cpp OpaquePtr: Don't check pointee type for byval/preallocated 2020-07-09 09:37:41 -04:00
MDBuilder.cpp [MDBuilder] Don't use stable sort for sorting integers. 2020-03-28 21:19:46 +01:00
Metadata.cpp [IR] Avoid linear scan in MDNode::intersect() (NFC) 2020-05-28 19:38:46 +02:00
MetadataImpl.h
Module.cpp [PGO] Improve the working set size heuristics under the partial sample PGO. 2020-06-01 10:29:23 -07:00
ModuleSummaryIndex.cpp Revert "[StackSafety,NFC] Remove unneded constexpr" 2020-07-01 08:41:45 -04:00
Operator.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
OptBisect.cpp
Pass.cpp [Pass] Ensure we don't include PassSupport.h or PassAnalysisSupport.h directly 2020-04-26 12:58:20 +01:00
PassInstrumentation.cpp
PassManager.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
PassRegistry.cpp [Pass] Ensure we don't include PassSupport.h or PassAnalysisSupport.h directly 2020-04-26 12:58:20 +01:00
PassTimingInfo.cpp [TimePasses] Small fix in "-time-passes" flag that makes it more stable 2020-04-08 15:59:45 +00:00
ProfileSummary.cpp ProfileSummary.cpp - fix implicit Format.h dependency. NFC. 2020-06-23 09:43:40 +01:00
SafepointIRVerifier.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
Statepoint.cpp [Statepoint] Start the process of removing old interfaces 2020-06-03 20:00:52 -07:00
SymbolTableListTraitsImpl.h
Type.cpp [SVE] Reject vector struct indexes for scalable vectors. 2020-06-30 13:52:38 -07:00
TypeFinder.cpp
Use.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
User.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
Value.cpp [IR] Delete llvm::Constants using the correct type. 2020-06-30 12:37:53 -07:00
ValueSymbolTable.cpp NFC: Clean up the implementation of StringPool a bit, and remove dependence on some "implicitly MallocAllocator" based methods on StringMapEntry. This allows reducing the #includes in StringMapEntry.h. 2020-04-12 16:37:17 -07:00
Verifier.cpp [Matrix] Intrinsic descriptions 2020-07-14 19:58:16 +01:00