llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen 36d29bc723 Remove extra MayLoad/MayStore flags from atomic_load/store.
These extra flags are not required to properly order the atomic
load/store instructions. SelectionDAGBuilder chains atomics as if they
were volatile, and SelectionDAG::getAtomic() sets the isVolatile bit on
the memory operands of all atomic operations.

The volatile bit is enough to order atomic loads and stores during and
after SelectionDAG.

This means we set mayLoad on atomic_load, mayStore on atomic_store, and
mayLoad+mayStore on the remaining atomic read-modify-write operations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162733 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-28 03:11:32 +00:00
..
PBQP Fix a stub signature. HeuristicReduce should return a bool. 2012-08-23 19:06:23 +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 Emit relocations for DW_AT_location entries on systems which need it. This is 2012-06-22 01:25:12 +00:00
CalcSpillWeights.h
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 Revert r158679 - use case is unclear (and it increases the memory footprint). 2012-06-22 20:27:13 +00:00
EdgeBundles.h Give a small negative bias to giant edge bundles. 2012-05-21 03:11:23 +00:00
FastISel.h Fall back to selection DAG isel for calls to builtin functions. 2012-08-03 04:06:28 +00:00
FunctionLoweringInfo.h Replace a DenseSet with SmallPtrSet. 2012-02-23 20:53:02 +00:00
GCMetadata.h Change comment into proper Doxygen member comment. 2012-06-22 16:00:48 +00:00
GCMetadataPrinter.h
GCs.h
GCStrategy.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
IntrinsicLowering.h
ISDOpcodes.h Add SelectionDAG::getTargetIndex. 2012-08-07 22:37:05 +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 Guard private fields that are unused in Release builds with #ifndef NDEBUG. 2012-06-16 21:48:13 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Codegen pass definition cleanup. No functionality. 2012-02-08 21:23:13 +00:00
LiveInterval.h Completely eliminate VNInfo flags. 2012-08-03 20:59:32 +00:00
LiveIntervalAnalysis.h Make the hasPHIKills flag a computed property. 2012-08-03 20:10:24 +00:00
LiveRangeEdit.h Allow LiveRangeEdit to be created with a NULL parent. 2012-05-19 05:25:46 +00:00
LiveStackAnalysis.h
LiveVariables.h Handle register masks in LiveVariables. 2012-01-21 00:58:53 +00:00
MachineBasicBlock.h Fix a quadratic algorithm in MachineBranchProbabilityInfo. 2012-08-20 22:01:38 +00:00
MachineBlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineBranchProbabilityInfo.h Fix a quadratic algorithm in MachineBranchProbabilityInfo. 2012-08-20 22:01:38 +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 Move [get|set]BasePtrStackAdjustment() from MachineFrameInfo to 2012-07-10 18:27:15 +00:00
MachineFunction.h Add a getName function to MachineFunction. Use it in places that previously did getFunction()->getName(). Remove includes of Function.h that are no longer needed. 2012-08-22 06:07:19 +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 Add an MCID::Select flag and TII hooks for optimizing selects. 2012-08-16 23:11:47 +00:00
MachineInstrBuilder.h Add a new kind of MachineOperand: MO_TargetIndex. 2012-08-07 18:56:39 +00:00
MachineInstrBundle.h Remove 'static' from inline functions defined in header files. 2012-06-20 08:39:33 +00:00
MachineJumpTableInfo.h Tidy up. Whitespace. 2012-05-07 02:25:53 +00:00
MachineLoopInfo.h Add "extern template" declarations now that we use explicit instantiation. 2012-06-20 20:17:20 +00:00
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 Fix integer undefined behavior due to signed left shift overflow in LLVM. 2012-08-24 23:29:28 +00:00
MachinePassRegistry.h Allow targets to select the default scheduler by name. 2012-04-19 01:34:10 +00:00
MachineRegisterInfo.h Reapply r161633-161634 "Partition use lists so defs always come before uses."" 2012-08-10 00:21:30 +00:00
MachineRelocation.h
MachineScheduler.h Consistently use AnalysisID types in TargetPassConfig. 2012-07-02 19:48:37 +00:00
MachineSSAUpdater.h
MachORelocation.h
Passes.h Add an experimental -early-live-intervals option. 2012-08-03 22:12:54 +00:00
PseudoSourceValue.h
RegAllocPBQP.h
RegAllocRegistry.h
RegisterClassInfo.h Move RegisterClassInfo.h. 2012-06-06 20:29:31 +00:00
RegisterPressure.h misched: When querying RegisterPressureTracker, always save current and max pressure. 2012-06-11 23:42:23 +00:00
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
ScheduleDAG.h Simplify the computeOperandLatency API. 2012-08-23 00:39:43 +00:00
ScheduleDAGInstrs.h Simplify the computeOperandLatency API. 2012-08-23 00:39:43 +00:00
ScheduleHazardRecognizer.h misched: Allow disabling scoreboard hazard checking for subtargets with a 2012-06-05 03:44:32 +00:00
SchedulerRegistry.h VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). 2012-02-01 22:13:57 +00:00
ScoreboardHazardRecognizer.h Revert r158679 - use case is unclear (and it increases the memory footprint). 2012-06-22 20:27:13 +00:00
SelectionDAG.h Add SelectionDAG::getTargetIndex. 2012-08-07 22:37:05 +00:00
SelectionDAGISel.h Make ISelPosition a local variable. 2012-04-20 22:08:50 +00:00
SelectionDAGNodes.h Remove extra MayLoad/MayStore flags from atomic_load/store. 2012-08-28 03:11:32 +00:00
SlotIndexes.h Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
TargetLoweringObjectFileImpl.h Move the support for using .init_array from ARM to the generic 2012-06-19 00:48:28 +00:00
ValueTypes.h Create isXBitVector methods in MVT and call them from EVT. This allows targets to call them with an MVT without needing to convert to EVT. 2012-08-11 23:31:18 +00:00
ValueTypes.td Add support for v16i32/v16i64 into the code generator. This is required for backends that use i32/i64 vectors for the getSetCCResultType function. 2012-07-26 21:22:00 +00:00