1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/include/llvm/CodeGen
Evan Cheng 5825e9dbf5 Fix a long standing tail call optimization bug. When a libcall is emitted
legalizer always use the DAG entry node. This is wrong when the libcall is
emitted as a tail call since it effectively folds the return node. If
the return node's input chain is not the entry (i.e. call, load, or store)
use that as the tail call input chain.

PR12419
rdar://9770785
rdar://11195178

llvm-svn: 154370
2012-04-10 01:51:00 +00:00
..
PBQP Matrix simplification in PBQP may push infinite costs onto register options. 2012-04-03 16:27:16 +00:00
Analysis.h Fix a long standing tail call optimization bug. When a libcall is emitted 2012-04-10 01:51:00 +00:00
AsmPrinter.h Allow the use of an alternate symbol for calculating a function's size. 2012-02-22 21:11:47 +00:00
CalcSpillWeights.h Move CalculateRegClass to MRI::recomputeRegClass. 2011-08-09 16:46:27 +00:00
CallingConvLower.h Convert more static tables of registers used by calling convention to uint16_t to reduce space. 2012-03-11 07:57:25 +00:00
DFAPacketizer.h Cleanup VLIWPacketizer to use the updated ScheduleDAGInstrs interface. 2012-03-07 23:01:09 +00:00
EdgeBundles.h Twinify GraphWriter a little bit. 2011-11-15 16:26:38 +00:00
FastISel.h [fast-isel] Add support for selecting insertvalue. 2011-12-09 20:09:54 +00:00
FunctionLoweringInfo.h Replace a DenseSet with SmallPtrSet. 2012-02-23 20:53:02 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h Add a custom safepoint method, in order for language implementers to decide which machine instruction gets to be a safepoint. 2011-11-11 18:32:52 +00:00
IntrinsicLowering.h
ISDOpcodes.h Add a RegisterMaskSDNode class. 2012-01-18 23:52:12 +00:00
JITCodeEmitter.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
LatencyPriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
LexicalScopes.h Typo. 2012-04-09 17:54:34 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Codegen pass definition cleanup. No functionality. 2012-02-08 21:23:13 +00:00
LiveInterval.h Drop the REDEF_BY_EC VNInfo flag. 2012-02-04 05:51:25 +00:00
LiveIntervalAnalysis.h Add API "handleMoveIntoBundl" for updating liveness when moving instructions into 2012-02-21 22:29:38 +00:00
LiveRangeEdit.h Fixes to r153903. Added missing explanation of behaviour when the VirtRegMap is NULL. Also changed it in this case to just avoid updating the map, but live ranges or intervals will still get updated and created 2012-04-03 00:28:46 +00:00
LiveStackAnalysis.h Move getCommonSubClass() into TRI. 2011-09-30 22:18:51 +00:00
LiveVariables.h Handle register masks in LiveVariables. 2012-01-21 00:58:53 +00:00
MachineBasicBlock.h Added MachineBasicBlock::getFullName() to standardize/factor codegen diagnostics. 2012-03-07 00:18:18 +00:00
MachineBlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineBranchProbabilityInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineCodeEmitter.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MachineCodeInfo.h
MachineConstantPool.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MachineDominators.h Silence the new -Wempty-body warning. It appeared because the next statement 2012-02-14 22:17:14 +00:00
MachineFrameInfo.h Fix typo, reported by Eitan Adler! 2011-12-10 03:16:20 +00:00
MachineFunction.h Teach CodeGen's version of computeMaskedBits to understand the range metadata. 2012-03-31 18:14:00 +00:00
MachineFunctionAnalysis.h Sink codegen optimization level into MCCodeGenInfo along side relocation model 2011-11-16 08:38:26 +00:00
MachineFunctionPass.h
MachineInstr.h MachineInstr: Inline the fast path (non-bundle instruction) of hasProperty. 2012-03-17 17:03:45 +00:00
MachineInstrBuilder.h Use <def,undef> operands when spilling NEON bundles. 2012-03-04 18:40:30 +00:00
MachineInstrBundle.h Move getBundleStart() into MachineInstrBundle.h. 2012-03-01 01:26:01 +00:00
MachineJumpTableInfo.h Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is 2012-02-03 04:33:00 +00:00
MachineLoopInfo.h
MachineLoopRanges.h
MachineMemOperand.h Teach CodeGen's version of computeMaskedBits to understand the range metadata. 2012-03-31 18:14:00 +00:00
MachineModuleInfo.h Properly emit _fltused with FastISel. Refactor to share code with SDAG. 2012-02-22 19:06:13 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Clean up comment. 2012-02-10 19:27:34 +00:00
MachinePassRegistry.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MachineRegisterInfo.h Add an MRI::tracksLiveness() flag. 2012-03-27 15:13:58 +00:00
MachineRelocation.h
MachineScheduler.h misched: allow the default scheduler to be one chosen by the target. 2012-03-09 00:52:20 +00:00
MachineSSAUpdater.h
MachORelocation.h
Passes.h Enable machine code verification in the entire code generator. 2012-03-28 23:54:28 +00:00
ProcessImplicitDefs.h
PseudoSourceValue.h Typos. 2011-06-01 23:32:40 +00:00
RegAllocPBQP.h Add a hook for PBQP clients to run a custom pre-alloc pass to run prior to PBQP allocation. Patch by Arnaud Allard de Grandmaison. 2011-06-17 07:09:01 +00:00
RegAllocRegistry.h
RegisterScavenging.h Track reserved registers separately from RegsAvailable. 2012-02-23 01:13:32 +00:00
ResourcePriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
RuntimeLibcalls.h Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
ScheduleDAG.h misched: implemented a framework for top-down or bottom-up scheduling. 2012-03-14 04:00:41 +00:00
ScheduleDAGInstrs.h misched: Add finalizeScheduler to complete the target interface. 2012-04-01 07:24:23 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). 2012-02-01 22:13:57 +00:00
ScoreboardHazardRecognizer.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
SelectionDAG.h Always compute all the bits in ComputeMaskedBits. 2012-04-04 12:51:34 +00:00
SelectionDAGISel.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
SelectionDAGNodes.h Teach CodeGen's version of computeMaskedBits to understand the range metadata. 2012-03-31 18:14:00 +00:00
SlotIndexes.h Move getBundleStart() into MachineInstrBundle.h. 2012-03-01 01:26:01 +00:00
TargetLoweringObjectFileImpl.h Modify the code that emits the module flags to use the new module flags accessor 2012-02-15 22:36:15 +00:00
ValueTypes.h Remove an unused function. 2012-03-05 12:49:45 +00:00
ValueTypes.td Added MVT::v2f16 2012-01-12 23:14:13 +00:00