1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib/IR
Nikita Popov 4766db4e38 Reapply [ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast()
There seems to be an impedance mismatch between what the type
system considers an aggregate (structs and arrays) and what
constants consider an aggregate (structs, arrays and vectors).

Adjust the type check to consider vectors as well. The previous
version of the patch dropped the type check entirely, but it
turns out that getAggregateElement() does require the constant
to be an aggregate in some edge cases: For Poison/Undef the
getNumElements() API is called, without checking in advance that
we're dealing with an aggregate. Possibly the implementation should
avoid doing that, but for now I'm adding an assert so the next
person doesn't fall into this trap.
2021-03-21 17:48:21 +01:00
..
AbstractCallSite.cpp
AsmWriter.cpp [DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics 2021-03-05 17:02:24 +00:00
Assumptions.cpp
AttributeImpl.h
Attributes.cpp [NFC] Use SmallString instead of std::string for the AttrBuilder 2021-03-16 13:34:14 +01:00
AutoUpgrade.cpp [AArch64][SVE/NEON] Add support for FROUNDEVEN for both NEON and fixed length SVE 2021-03-17 11:41:22 +00:00
BasicBlock.cpp [IR] Use range-based for loops (NFC) 2021-02-27 10:09:25 -08:00
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp [ConstantFold] Handle icmp of global and null consistently 2021-03-08 17:18:01 +01:00
ConstantFold.h
ConstantRange.cpp [ConstantRange] Handle wrapping ranges in min/max (PR48643) 2021-02-20 22:52:09 +01:00
Constants.cpp Reapply [ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast() 2021-03-21 17:48:21 +01:00
ConstantsContext.h
Core.cpp Add type attributes to LLVM C API 2021-03-19 19:07:04 -04:00
DataLayout.cpp
DebugInfo.cpp Support !heapallocsite attachments in StripDebugInfo(). 2021-03-16 10:05:13 -07:00
DebugInfoMetadata.cpp Revert "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-03-11 14:48:01 +00:00
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp [Diagnose] Unify MCContext and LLVMContext diagnosing 2021-03-01 15:58:37 -08:00
DiagnosticPrinter.cpp
DIBuilder.cpp
Dominators.cpp [gvn] Precisely propagate equalities to phi operands 2021-03-08 08:59:00 -08:00
FPEnv.cpp
Function.cpp Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp [IR] Move willReturn() to Instruction 2021-02-19 11:56:01 +01:00
Instructions.cpp Revert "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-03-11 14:48:01 +00:00
IntrinsicInst.cpp Reapply "[DebugInfo] Handle multiple variable location operands in IR" 2021-03-17 16:45:25 +00:00
IRBuilder.cpp [SVE][LoopVectorize] Add support for scalable vectorization of loops with vector reverse 2021-03-16 07:51:59 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp [opt] Error if -debug-pass is specified alongside the new PM 2021-03-02 15:59:28 -08:00
LLVMContext.cpp [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of 2021-03-04 11:22:30 -08:00
LLVMContextImpl.cpp
LLVMContextImpl.h [DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics 2021-03-05 17:02:24 +00:00
LLVMRemarkStreamer.cpp
Mangler.cpp [IR] Use range-based for loops (NFC) 2021-02-27 10:09:25 -08:00
MDBuilder.cpp
Metadata.cpp [DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics 2021-03-05 17:02:24 +00:00
MetadataImpl.h
Module.cpp Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00
ModuleSummaryIndex.cpp [IR] Use range-based for loops (NFC) 2021-03-01 23:40:33 -08:00
Operator.cpp Revert "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-03-11 14:48:01 +00:00
OptBisect.cpp
Pass.cpp
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp
PrintPasses.cpp
ProfileSummary.cpp
PseudoProbe.cpp [CSSPGO] Deduplicating dangling pseudo probes. 2021-03-03 22:44:42 -08:00
ReplaceConstant.cpp [HIP] Fix managed variable linkage 2021-02-23 22:34:45 -05:00
SafepointIRVerifier.cpp
Statepoint.cpp
StructuralHash.cpp
SymbolTableListTraitsImpl.h
Type.cpp [X86][AMX] Prevent transforming load pointer from <256 x i32>* to x86_amx*. 2021-03-14 09:24:56 +08:00
TypeFinder.cpp
Use.cpp
User.cpp Reapply "[DebugInfo] Handle multiple variable location operands in IR" 2021-03-17 16:45:25 +00:00
Value.cpp Update basic deref API to account for possiblity of free [NFC] 2021-03-19 11:17:19 -07:00
ValueSymbolTable.cpp
Verifier.cpp Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00