llvm-6502/include/llvm/CodeGen
Bill Wendling e7147dba73 There are times when the landing pad won't have a call to 'eh.selector' in
it. It's been assumed up til now that it would be in its immediate
successor. However, this isn't necessarily the case. It could be in one of its
successor's successors.

Modify the code to more thoroughly check for an 'eh.selector' call in
successors. It only looks at a successor if we get there as a result of an
unconditional branch.

Testcase ObjC/exceptions-4.m in r126968.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126969 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-03 23:14:05 +00:00
..
PBQP Added an additional PBQP problem builder which adds coalescing costs (both between pairs of virtuals, and between virtuals and physicals). 2010-09-21 13:19:36 +00:00
Analysis.h Enable sibling call optimization of libcalls which are expanded during 2010-11-30 23:55:39 +00:00
AsmPrinter.h Omit private_extern declarations of extern symbols; followup to 2011-02-23 02:27:05 +00:00
BinaryObject.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CalcSpillWeights.h Move more fragments of spill weight calculation into CalcSpillWeights.h 2011-02-14 23:15:38 +00:00
CallingConvLower.h In the calling convention logic, ValVT is always a legal type, 2010-11-04 10:49:57 +00:00
EdgeBundles.h Use the EdgeBundles analysis in X86FloatingPoint instead of recomputing CFG 2011-01-04 21:10:11 +00:00
FastISel.h Prune includes. 2010-11-06 11:45:59 +00:00
FunctionLoweringInfo.h There are times when the landing pad won't have a call to 'eh.selector' in 2011-03-03 23:14:05 +00:00
GCMetadata.h Attach a DebugLoc to a GC point in order to get precise information in the JIT of a GC point. 2010-09-24 17:27:50 +00:00
GCMetadataPrinter.h Trailing whitespace. 2010-07-01 01:00:22 +00:00
GCs.h
GCStrategy.h
IntrinsicLowering.h Recognize inline asm 'rev /bin/bash, ' as a bswap intrinsic call. 2011-01-08 01:24:27 +00:00
ISDOpcodes.h fix thinko :) 2011-02-13 19:53:36 +00:00
JITCodeEmitter.h Merge System into Support. 2010-11-29 18:16:10 +00:00
LatencyPriorityQueue.h Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
LinkAllAsmWriterComponents.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
LinkAllCodegenComponents.h Stub out RegAllocGreedy. 2010-12-08 03:26:16 +00:00
LiveInterval.h Move LiveIntervalMap::extendTo into LiveInterval itself. 2011-03-02 00:06:15 +00:00
LiveIntervalAnalysis.h Move more fragments of spill weight calculation into CalcSpillWeights.h 2011-02-14 23:15:38 +00:00
LiveStackAnalysis.h Teach TargetRegisterInfo how to cram stack slot indexes in with the virtual and 2011-01-09 21:17:37 +00:00
LiveVariables.h Use an IndexedMap for LiveVariables::VirtRegInfo. 2011-01-08 23:10:57 +00:00
MachineBasicBlock.h Add LiveIntervals::getLastSplitPoint(). 2011-02-04 19:33:11 +00:00
MachineCodeEmitter.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineCodeInfo.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineConstantPool.h MachineConstantPoolValues are not uniqued, so they need to be freed if they 2011-02-22 08:54:30 +00:00
MachineDominators.h typoes 2010-09-10 22:25:58 +00:00
MachineFrameInfo.h Remove dead ivar. 2011-01-22 12:13:28 +00:00
MachineFunction.h Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns." 2011-02-21 23:21:26 +00:00
MachineFunctionAnalysis.h Give MachineFunctionAnalysis a getPassName() implementation to make timing reports prettier. 2011-01-04 18:21:18 +00:00
MachineFunctionPass.h Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
MachineInstr.h Do not model all INLINEASM instructions as having unmodelled side effects. 2011-01-07 23:50:32 +00:00
MachineInstrBuilder.h Initial va_arg support for x86-64. Patch by David Meyer! 2010-10-12 18:00:49 +00:00
MachineJumpTableInfo.h Add explicit keywords. 2010-06-18 19:04:37 +00:00
MachineLocation.h Merge .debug_loc entries whenever possible to reduce debug_loc size. 2011-02-04 22:57:18 +00:00
MachineLoopInfo.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
MachineLoopRanges.h Enable loop splitting in RegAllocGreedy. 2010-12-17 23:16:32 +00:00
MachineMemOperand.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineModuleInfo.h Fix small bug in setDebugInfoAvailability. 2011-01-05 17:01:57 +00:00
MachineModuleInfoImpls.h Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that 2010-03-10 22:34:10 +00:00
MachineOperand.h Simplify LiveDebugVariables by storing MachineOperand copies locations instead 2011-01-09 05:33:21 +00:00
MachinePassRegistry.h Sundry dependent-name fixes flagged by clang++. 2009-12-17 23:49:16 +00:00
MachineRegisterInfo.h Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns." 2011-02-21 23:21:26 +00:00
MachineRelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineSSAUpdater.h Combine the implementations of the core part of the SSAUpdater and 2010-05-04 23:18:19 +00:00
MachORelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
ObjectCodeEmitter.h change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
Passes.h Add the SpillPlacement analysis pass. 2011-01-06 01:21:53 +00:00
ProcessImplicitDefs.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
PseudoSourceValue.h Make PseudoSourceValue's classof recognize 2009-11-16 20:40:06 +00:00
RegAllocPBQP.h Fixed some dependencies in RegAllocPBQP.h . Thanks to Borja Ferrer for pointing out this issue. 2010-12-08 22:15:32 +00:00
RegAllocRegistry.h Reformat. 2009-07-08 21:57:46 +00:00
RegisterCoalescer.h Merge System into Support. 2010-11-29 18:16:10 +00:00
RegisterScavenging.h After r107880, findSurvivorReg() no longer needs to be public. 2010-07-08 17:27:23 +00:00
RuntimeLibcalls.h back-end libcall handling for ATOMIC_SWAP (__sync_lock_test_and_set) 2010-06-18 23:03:10 +00:00
ScheduleDAG.h Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
ScheduleHazardRecognizer.h Convert -enable-sched-cycles and -enable-sched-hazard to -disable 2011-01-21 05:51:33 +00:00
SchedulerRegistry.h Add an ILP scheduler. This is a register pressure aware scheduler that's 2010-07-24 00:39:05 +00:00
ScoreboardHazardRecognizer.h Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
SelectionDAG.h Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. 2011-02-18 22:43:42 +00:00
SelectionDAGISel.h Generalize the register matching code in DAGISel a bit. 2011-03-01 01:37:19 +00:00
SelectionDAGNodes.h flags -> glue for selectiondag 2010-12-23 17:24:32 +00:00
SlotIndexes.h Represent sentinel slot indexes with a null pointer. 2011-03-03 05:40:04 +00:00
TargetLoweringObjectFileImpl.h Delay the creation of eh_frame so that the user can change the defaults. 2011-01-23 05:43:40 +00:00
ValueTypes.h rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
ValueTypes.td fix comments; patch by Edmund Grimley-Evans\! 2010-09-17 17:52:00 +00:00