llvm-6502/include/llvm/CodeGen
David Peixotto 4ed2667c13 Remove const_cast for STI when parsing inline asm
In a previous commit (r199818) we added a const_cast to an existing
subtarget info instead of creating a new one so that we could reuse
it when creating the TargetAsmParser for parsing inline assembly.
This cast was necessary because we needed to reuse the existing STI
to avoid generating incorrect code when the inline asm contained
mode-switching directives (e.g. .code 16).

The root cause of the failure was that there was an implicit sharing
of the STI between the parser and the MCCodeEmitter. To fix a
different but related issue, we now explicitly pass the STI to the
MCCodeEmitter (see commits r200345-r200351).

The const_cast is no longer necessary and we can now create a fresh
STI for the inline asm parser to use.

Differential Revision: http://llvm-reviews.chandlerc.com/D2709


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200929 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-06 18:19:40 +00:00
..
PBQP Dereference the node iterator when dumping the PBQP graph structure in DOT 2013-11-21 06:30:14 +00:00
Analysis.h [stackprotector] Refactor out the end of isInTailCallPosition into the function returnTypeIsEligibleForTailCall. 2013-08-20 08:36:50 +00:00
AsmPrinter.h Remove const_cast for STI when parsing inline asm 2014-02-06 18:19:40 +00:00
CalcSpillWeights.h CalcSpillWeights: allow overidding the spill weight normalizing function 2013-11-11 19:56:14 +00:00
CallingConvLower.h Add FPExt option to CCValAssign::LocInfo. When generating calling-convention 2014-01-14 19:56:36 +00:00
CommandFlags.h Remove support for not using .loc directives. 2014-02-05 18:00:21 +00:00
DAGCombine.h
DFAPacketizer.h
EdgeBundles.h
FastISel.h Avoid illegal integer promotion in fastisel 2013-11-15 19:09:27 +00:00
FunctionLoweringInfo.h Simplify landing pad lowering. 2013-07-04 04:53:45 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
ISDOpcodes.h Fix a typo. 2013-12-26 14:43:33 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h
LexicalScopes.h Remove capability for polymorphic destruction from LexicalScope 2013-11-20 00:54:28 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h Replacing HUGE_VALF with llvm::huge_valf in order to work around a warning triggered in MSVC 12. 2013-11-13 00:15:44 +00:00
LiveIntervalAnalysis.h [block-freq] Refactor LiveInterals::getSpillWeight to use the new MachineBlockFrequencyInfo methods. 2013-12-14 00:53:32 +00:00
LiveIntervalUnion.h Rename LiveRange to LiveInterval::Segment 2013-10-10 21:28:43 +00:00
LivePhysRegs.h Convert register liveness tracking to work on a sub-register level instead of just register units. 2013-12-14 06:52:56 +00:00
LiveRangeEdit.h Auto-compute live intervals on demand. 2013-08-14 23:50:16 +00:00
LiveRegMatrix.h
LiveStackAnalysis.h
LiveVariables.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-11 16:22:38 +00:00
MachineBasicBlock.h PGO branch weight: update edge weights in IfConverter. 2014-01-29 23:18:47 +00:00
MachineBlockFrequencyInfo.h [block-freq] Rename getEntryFrequency() -> getEntryFreq() to match getBlockFreq() in all *BlockFrequencyInfo*. 2013-12-14 02:37:38 +00:00
MachineBranchProbabilityInfo.h Add editor C++ filetype declaration no functionality change. 2013-08-12 21:10:23 +00:00
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineDominators.h [PM] Pull the generic graph algorithms and data structures for dominator 2014-01-13 10:52:56 +00:00
MachineFrameInfo.h [stackprotector] Use analysis from the StackProtector pass for stack layout in PEI a nd LocalStackSlot passes. 2013-12-19 03:17:11 +00:00
MachineFunction.h [Stackmap] Liveness Analysis Pass 2013-12-14 06:53:06 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h [RegAlloc] Make tryInstructionSplit less aggressive. 2014-01-02 22:47:22 +00:00
MachineInstrBuilder.h Reapply an improved version of r180816/180817. 2013-07-09 20:28:37 +00:00
MachineInstrBundle.h
MachineJumpTableInfo.h
MachineLoopInfo.h Don't #include heavy Dominators.h file in LoopInfo.h. This change reduces 2013-12-07 21:20:17 +00:00
MachineMemOperand.h Print the address space of a MachineMemOperand 2013-12-14 00:24:02 +00:00
MachineModuleInfo.h Make a few more things const. 2013-08-15 20:25:44 +00:00
MachineModuleInfoImpls.h
MachineOperand.h [Stackmap] Liveness Analysis Pass 2013-12-14 06:53:06 +00:00
MachinePassRegistry.h
MachinePostDominators.h [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
MachineRegisterInfo.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
MachineRelocation.h [typo] An LLVM. 2013-08-16 23:30:19 +00:00
MachineScheduler.h Move the PostRA scheduler's fixupKills function for reuse. 2013-12-28 21:56:55 +00:00
MachineSSAUpdater.h
MachineTraceMetrics.h Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
MachORelocation.h
Passes.h Stub out a PostMachineScheduler pass. 2013-12-28 21:56:51 +00:00
PseudoSourceValue.h [typo] An LLVM. 2013-08-16 23:30:19 +00:00
RegAllocPBQP.h Re-apply r194300 with fixes for warnings. 2013-11-09 03:08:56 +00:00
RegAllocRegistry.h
RegisterClassInfo.h MI-Sched: Adjust regpressure limits for reserved regs. 2013-06-21 18:32:58 +00:00
RegisterPressure.h Represent RegUnit liveness with LiveRange instance 2013-10-10 21:29:02 +00:00
RegisterScavenging.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector 2013-07-03 05:01:24 +00:00
ResourcePriorityQueue.h
RuntimeLibcalls.h Fix filename in header comment 2013-11-16 15:40:54 +00:00
ScheduleDAG.h Add isBarrier to SDep 2013-12-12 00:19:07 +00:00
ScheduleDAGInstrs.h Fix known typos 2014-01-24 17:20:08 +00:00
ScheduleDFS.h
ScheduleHazardRecognizer.h Add two additional hazard recognizer functions 2013-12-11 22:33:43 +00:00
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h [TLI] Add a new hook to TargetLowering to query the target if a load of a constant should be converted to simply the constant itself. 2014-01-28 01:20:14 +00:00
SelectionDAGISel.h Add CheckChildInteger to ISelMatcher operations. Removes nearly 2000 bytes from X86 matcher table. 2014-02-05 05:44:28 +00:00
SelectionDAGNodes.h Silence MSVC warning on 'uint16_t |= bool' with a cast 2014-01-27 17:47:11 +00:00
SlotIndexes.h Down-scale slot index distance to save bits. 2013-07-30 19:59:19 +00:00
StackMapLivenessAnalysis.h [Stackmap] Liveness Analysis Pass 2013-12-14 06:53:06 +00:00
StackMaps.h [Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic. 2014-01-30 18:58:27 +00:00
StackProtector.h Update StackProtector when coloring merges stack slots 2014-01-20 19:49:14 +00:00
TargetLoweringObjectFileImpl.h Revert r199871 and replace it with a simple check in the debug info 2014-01-28 00:49:26 +00:00
TargetSchedule.h Fix known typos 2014-01-24 17:20:08 +00:00
ValueTypes.h Replace tablegen uses of EVT with MVT. Add isOverloaded() to MVT to facilitate. Remove TGValueTypes.cpp since its unused now (and may have been before). 2014-01-24 20:50:47 +00:00
ValueTypes.td Implement aarch64 neon instruction set AdvSIMD (Across). 2013-10-05 08:22:10 +00:00
VirtRegMap.h