llvm-6502/include/llvm/CodeGen
Bill Wendling 47639fc5be The JIT calls TidyLandingPads to tidy up the landing pads. However, because the
JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
section for the MCSymbol is never set. And thus the MCSymbol for the EH label
isn't marked as "defined". Because of that, TidyLandingPads removes the needed
landing pads from the JIT output. This breaks EH for every JIT program.

This is a work-around for this limitation. We pass in the label locations
map. If the label has a non-zero value, then it was "emitted" by the JIT and
TidyLandingPads shouldn't remove that label.

A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
upon the section being set to determine if it's defined or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 08:46:10 +00:00
..
AsmPrinter.h propagate cookie management out one layer of function calls. 2010-04-06 00:58:50 +00:00
BinaryObject.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
CalcSpillWeights.h Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights. 2009-12-14 06:49:42 +00:00
CallingConvLower.h Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers 2009-11-07 02:11:54 +00:00
ELFRelocation.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
FastISel.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
GCMetadata.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
GCMetadataPrinter.h mcize the gc metadata printing stuff. 2010-04-04 07:39:04 +00:00
GCs.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
GCStrategy.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
IntrinsicLowering.h Get rid of these cache variables, which are a holdover from the days when 2009-06-26 20:33:47 +00:00
ISDOpcodes.h Split ISD::NodeType and a few related items out of SelectionDAGNodes.h 2010-04-14 18:44:34 +00:00
JITCodeEmitter.h The JIT calls TidyLandingPads to tidy up the landing pads. However, because the 2010-04-16 08:46:10 +00:00
LatencyPriorityQueue.h Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. 2009-11-20 19:32:48 +00:00
LinkAllAsmWriterComponents.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
LinkAllCodegenComponents.h Remove the '-disable-scheduling' flag and replace it with the 'source' option of 2010-01-23 10:26:57 +00:00
LiveInterval.h Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows 2010-03-30 20:16:45 +00:00
LiveIntervalAnalysis.h Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows 2010-03-30 20:16:45 +00:00
LiveStackAnalysis.h Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows 2010-03-30 20:16:45 +00:00
LiveVariables.h Keep track of phi join registers explicitly in LiveVariables. 2010-02-23 22:43:58 +00:00
MachineBasicBlock.h Eliminate MachineBasicBlock::const_livein_iterator and make 2010-04-13 16:57:55 +00:00
MachineCodeEmitter.h change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
MachineCodeInfo.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineConstantPool.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
MachineDominators.h Add an isReachableFromEntry to MachineDominators, following the one 2010-04-05 19:16:38 +00:00
MachineFrameInfo.h remove the MMI pointer from MachineFrameInfo. 2010-04-05 05:57:52 +00:00
MachineFunction.h Add more const qualifiers for LLVM IR pointers in CodeGen. 2010-04-15 04:33:49 +00:00
MachineFunctionAnalysis.h Give MachineModuleInfo an actual Module*. 2010-04-06 00:51:52 +00:00
MachineFunctionPass.h Ok, third time's the charm. No changes from last time except the CMake 2010-04-02 23:17:14 +00:00
MachineInstr.h Fix up header comments to match the comment fixups I made in r100849. 2010-04-09 16:24:49 +00:00
MachineInstrBuilder.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
MachineJumpTableInfo.h Stop trying to merge identical jump tables. This had been inadvertently 2010-03-19 19:05:41 +00:00
MachineLocation.h MachineMove ctor doesn't need to to mutate input, add 'const' 2010-03-15 05:55:35 +00:00
MachineLoopInfo.h Restore dump() methods to Loop and MachineLoop. 2010-01-05 21:08:02 +00:00
MachineMemOperand.h Add non-temporal flags to MachineMemOperand. 2010-02-15 16:48:31 +00:00
MachineModuleInfo.h The JIT calls TidyLandingPads to tidy up the landing pads. However, because the 2010-04-16 08:46:10 +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 Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
MachinePassRegistry.h Sundry dependent-name fixes flagged by clang++. 2009-12-17 23:49:16 +00:00
MachineRegisterInfo.h Move the code for emitting livein copies out of SelectionDAGISel. 2010-04-14 16:51:49 +00:00
MachineRelocation.h Disable external stubs for X86-32 and X86-64 2010-02-04 19:56:59 +00:00
MachineSSAUpdater.h Pre-regalloc tale duplication. Work in progress. 2009-12-07 10:15:19 +00:00
MachORelocation.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +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 Post regalloc LICM. Work in progress. 2010-04-07 00:41:17 +00:00
ProcessImplicitDefs.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
PseudoSourceValue.h Make PseudoSourceValue's classof recognize 2009-11-16 20:40:06 +00:00
RegAllocRegistry.h Reformat. 2009-07-08 21:57:46 +00:00
RegisterCoalescer.h Delete spurious semicolons. 2009-07-31 18:59:29 +00:00
RegisterScavenging.h Add register-reuse to frame-index register scavenging. When a target uses 2009-10-07 17:12:56 +00:00
RuntimeLibcalls.h Add few missed libcalls and correct names for others. 2010-03-26 21:32:14 +00:00
ScheduleDAG.h Delete an unused member variable. 2010-04-13 16:51:39 +00:00
ScheduleHazardRecognizer.h Post RA scheduler changes. Introduce a hazard recognizer that uses the target schedule information to accurately model the pipeline. Update the scheduler to correctly handle multi-issue targets. 2009-08-10 15:55:25 +00:00
SchedulerRegistry.h Remove the '-disable-scheduling' flag and replace it with the 'source' option of 2010-01-23 10:26:57 +00:00
SelectionDAG.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
SelectionDAGISel.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
SelectionDAGNodes.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
SlotIndexes.h remove some unneeded errorhandling stuff. 2010-04-07 22:44:07 +00:00
TargetLoweringObjectFileImpl.h delete a forwarding function. 2010-04-08 21:34:17 +00:00
ValueTypes.h Do an early exit when the result is known cheaply. 2010-02-01 20:57:35 +00:00
ValueTypes.td Move Flag and isVoid after the vector types, since bit arithmetic with 2009-12-14 23:36:03 +00:00