llvm-6502/lib/Target/Hexagon
Arnold Schwaighofer 75e36e847e ScheduleDAGInstrs: In functions with tail calls PseudoSourceValues are not non-aliasing distinct objects
The code that builds the dependence graph assumes that two PseudoSourceValues
don't alias. In a tail calling function two FixedStackObjects might refer to the
same location. Worse 'immutable' fixed stack objects like function arguments are
not immutable and will be clobbered.

Change this so that a load from a FixedStackObject is not invariant in a tail
calling function and don't return a PseudoSourceValue for an instruction in tail
calling functions when building the dependence graph so that we handle function
arguments conservatively.

Fix for PR23459.

rdar://20740035

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236916 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-08 23:52:00 +00:00
..
Disassembler
MCTargetDesc Fix -Wmicrosoft warning by making enum unsigned 2015-05-04 18:21:35 +00:00
TargetInfo
CMakeLists.txt
Hexagon.h
Hexagon.td
HexagonAsmPrinter.cpp [AsmPrinter] Make AsmPrinter's OutStreamer member a unique_ptr. 2015-04-24 19:11:51 +00:00
HexagonAsmPrinter.h
HexagonCallingConv.td
HexagonCFGOptimizer.cpp
HexagonCopyToCombine.cpp [Hexagon] Fix compiler warnings in release build 2015-04-23 20:26:21 +00:00
HexagonExpandCondsets.cpp
HexagonExpandPredSpillCode.cpp
HexagonFixupHwLoops.cpp [Hexagon] Use constant extenders to fix up hardware loops 2015-04-27 14:16:43 +00:00
HexagonFrameLowering.cpp [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
HexagonFrameLowering.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
HexagonHardwareLoops.cpp [Hexagon] Generate more hardware loops 2015-05-08 20:18:21 +00:00
HexagonInstrFormats.td
HexagonInstrFormatsV4.td
HexagonInstrInfo.cpp [Hexagon] Update AnalyzeBranch, etc target hooks 2015-05-08 16:16:29 +00:00
HexagonInstrInfo.h [Hexagon] Update AnalyzeBranch, etc target hooks 2015-05-08 16:16:29 +00:00
HexagonInstrInfo.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonInstrInfoV3.td
HexagonInstrInfoV4.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonInstrInfoV5.td
HexagonInstrInfoVector.td
HexagonIntrinsics.td
HexagonIntrinsicsDerived.td
HexagonIntrinsicsV3.td
HexagonIntrinsicsV4.td
HexagonIntrinsicsV5.td
HexagonISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonISelLowering.cpp ScheduleDAGInstrs: In functions with tail calls PseudoSourceValues are not non-aliasing distinct objects 2015-05-08 23:52:00 +00:00
HexagonISelLowering.h Change getTargetNodeName() to produce compiler warnings for missing cases, fix them 2015-05-07 21:33:59 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h
HexagonMachineScheduler.cpp
HexagonMachineScheduler.h
HexagonMCInstLower.cpp
HexagonNewValueJump.cpp
HexagonOperands.td [Hexagon] Use constant extenders to fix up hardware loops 2015-04-27 14:16:43 +00:00
HexagonPeephole.cpp
HexagonRegisterInfo.cpp
HexagonRegisterInfo.h
HexagonRegisterInfo.td
HexagonRemoveSZExtArgs.cpp
HexagonSchedule.td
HexagonScheduleV4.td
HexagonSelectCCInfo.td
HexagonSelectionDAGInfo.cpp
HexagonSelectionDAGInfo.h
HexagonSplitConst32AndConst64.cpp
HexagonSubtarget.cpp
HexagonSubtarget.h
HexagonTargetMachine.cpp
HexagonTargetMachine.h
HexagonTargetObjectFile.cpp
HexagonTargetObjectFile.h
HexagonVLIWPacketizer.cpp
LLVMBuild.txt
Makefile