1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/include/llvm/CodeGen
Hiroshi Inoue b3494afe28 [SelectionDAG] set dereferenceable flag when expanding memcpy/memmove
When SelectionDAG expands memcpy (or memmove) call into a sequence of load and store instructions, it disregards dereferenceable flag even the source pointer is known to be dereferenceable.
This results in an assertion failure if SelectionDAG commonizes a load instruction generated for memcpy with another load instruction for the source pointer.
This patch makes SelectionDAG to set the dereferenceable flag for the load instructions properly to avoid the assertion failure.

Differential Revision: https://reviews.llvm.org/D34467

llvm-svn: 306209
2017-06-24 15:17:38 +00:00
..
GlobalISel Fix Wdocumentation warning. 2017-06-23 18:03:04 +00:00
MIRParser CodeGen: Refactor MIR parsing 2017-06-06 00:44:35 +00:00
PBQP [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-01 23:25:02 +00:00
Analysis.h Move llvm::canBeOmittedFromSymbolTable() to Analysis. 2017-03-31 04:46:31 +00:00
AsmPrinter.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
AtomicExpandUtils.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
BasicTTIImpl.h DivergencyAnalysis patch for review 2017-06-15 19:33:10 +00:00
CalcSpillWeights.h
CallingConvLower.h
CommandFlags.h Re-land r301697 "[IR] Make add/remove Attributes use AttrBuilder instead of AttributeList" 2017-05-02 22:07:37 +00:00
DAGCombine.h
DFAPacketizer.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
DIE.h Mark dump() methods as const. NFC 2017-06-21 22:19:17 +00:00
DIEValue.def
DwarfStringPoolEntry.h
EdgeBundles.h
ExecutionDepsFix.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
ExpandReductions.h Add a late IR expansion pass for the experimental reduction intrinsics. 2017-05-10 09:42:49 +00:00
FastISel.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
FaultMaps.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
FunctionLoweringInfo.h ISel: Fix FastISel of swifterror values 2017-06-15 17:34:42 +00:00
GCMetadata.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
GCMetadataPrinter.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
GCs.h
GCStrategy.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
IntrinsicLowering.h
ISDOpcodes.h Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry. 2017-06-01 11:14:17 +00:00
LatencyPriorityQueue.h
LazyMachineBlockFrequencyInfo.h
LexicalScopes.h Mark dump() methods as const. NFC 2017-06-21 22:19:17 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
LiveIntervalAnalysis.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
LiveIntervalUnion.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
LivePhysRegs.h LivePhysRegs: Rework constructor + documentation; NFC 2017-05-26 21:51:00 +00:00
LiveRangeEdit.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
LiveRegMatrix.h
LiveRegUnits.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
LiveStackAnalysis.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
LiveVariables.h
LowLevelType.h
MachineBasicBlock.h Restrict the definition of loop preheader to avoid EH blocks 2017-06-22 23:27:16 +00:00
MachineBlockFrequencyInfo.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
MachineBranchProbabilityInfo.h
MachineCombinerPattern.h [AArch64][MachineCombine] Fold FNMUL+FSUB -> FNMADD. 2017-05-11 20:07:24 +00:00
MachineConstantPool.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-31 01:10:10 +00:00
MachineDominanceFrontier.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
MachineDominators.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-24 23:10:29 +00:00
MachineFrameInfo.h ARM: Compute MaxCallFrame size early 2017-05-05 22:04:05 +00:00
MachineFunction.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MachineFunctionPass.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MachineInstr.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-31 01:10:10 +00:00
MachineInstrBuilder.h PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
MachineInstrBundle.h
MachineInstrBundleIterator.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-31 01:10:10 +00:00
MachineJumpTableInfo.h
MachineLoopInfo.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-05-31 01:10:10 +00:00
MachineMemOperand.h [SelectionDAG] set dereferenceable flag when expanding memcpy/memmove 2017-06-24 15:17:38 +00:00
MachineModuleInfo.h CodeGen: Refactor MIR parsing 2017-06-06 00:44:35 +00:00
MachineModuleInfoImpls.h [WebAssembly] Use __stack_pointer global when writing wasm binary 2017-06-16 23:59:10 +00:00
MachineOperand.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MachineOptimizationRemarkEmitter.h
MachinePassRegistry.h
MachinePostDominators.h
MachineRegionInfo.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-01 23:25:02 +00:00
MachineRegisterInfo.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MachineScheduler.h Mark dump() methods as const. NFC 2017-06-21 22:19:17 +00:00
MachineSSAUpdater.h
MachineTraceMetrics.h
MachineValueType.h [MVT] Fix the identation of the start of the MVT class. NFC 2017-05-25 06:15:05 +00:00
MachORelocation.h
MacroFusion.h Recommit rL305677: [CodeGen] Add generic MacroFusion pass 2017-06-19 12:53:31 +00:00
MIRPrinter.h MIParser/MIRPrinter: Compute block successors if not explicitely specified 2017-05-05 21:09:30 +00:00
MIRYamlMapping.h [Improve CodeGen Testing] This patch renables MIRPrinter print fields which have value equal to its default. 2017-06-06 08:16:19 +00:00
ParallelCG.h
Passes.h [RABasic] Properly initialize the pass 2017-06-02 22:46:26 +00:00
PBQPRAConstraint.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-01 23:25:02 +00:00
PreISelIntrinsicLowering.h
PseudoSourceValue.h
RegAllocPBQP.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-01 23:25:02 +00:00
RegAllocRegistry.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
RegisterClassInfo.h
RegisterPressure.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-06 22:22:41 +00:00
RegisterScavenging.h RegScavenging: Add scavengeRegisterBackwards() 2017-06-17 02:08:18 +00:00
RegisterUsageInfo.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-06 22:22:41 +00:00
ResourcePriorityQueue.h
RuntimeLibcalls.h [Atomics] Rename and change prototype for atomic memcpy intrinsic 2017-06-16 14:43:59 +00:00
ScheduleDAG.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ScheduleDAGInstrs.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ScheduleDAGMutation.h
ScheduleDFS.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-06 22:22:41 +00:00
ScoreboardHazardRecognizer.h
SelectionDAG.h [DAG] add helper to bind memop chains; NFCI 2017-06-12 14:41:48 +00:00
SelectionDAGAddressAnalysis.h [DAG] Move BaseIndexOffset into separate Libarary. NFC. 2017-06-21 15:40:43 +00:00
SelectionDAGISel.h [CodeGen] Pass SDAG an ORE, and replace FastISel stats with remarks. 2017-03-30 17:49:58 +00:00
SelectionDAGNodes.h AVX-512: Lowering Masked Gather intrinsic - fixed a bug 2017-06-22 06:47:41 +00:00
SelectionDAGTargetInfo.h
SlotIndexes.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
StackMaps.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-03 00:22:41 +00:00
StackProtector.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
TailDuplicator.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
TargetLoweringObjectFileImpl.h IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
TargetPassConfig.h CodeGen/LLVMTargetMachine: Refactor ISel pass construction; NFCI 2017-06-06 00:26:13 +00:00
TargetSchedule.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
UnreachableBlockElim.h
ValueTypes.h [MVT][SVE] Scalable vector MVTs (3/3) 2017-04-20 13:54:09 +00:00
ValueTypes.td [MVT] add v1i1 MVT 2017-05-18 11:29:41 +00:00
VirtRegMap.h RegAllocPBQP: Do not assign reserved physical register 2017-06-08 21:30:54 +00:00
WinEHFuncInfo.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-03 00:22:41 +00:00