llvm-6502/lib/CodeGen/SelectionDAG
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
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp Rejected 169195. As Duncan commented, bitcasting to proper type is wrong approach. We need to insert some valid TRANCATE node here. 2012-08-22 09:33:55 +00:00
FastISel.cpp Try to reduce the compile time impact of r161232. 2012-08-03 21:26:24 +00:00
FunctionLoweringInfo.cpp Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and 2012-06-28 00:05:13 +00:00
InstrEmitter.cpp Avoid including explicit uses when counting SDNode imp-uses. 2012-08-24 20:52:42 +00:00
InstrEmitter.h Allow trailing physreg RegisterSDNode operands on non-variadic instructions. 2012-07-04 23:53:23 +00:00
LegalizeDAG.cpp Fix bug 13532. 2012-08-28 02:12:42 +00:00
LegalizeFloatTypes.cpp Convert assert(0) to llvm_unreachable 2012-02-05 08:31:47 +00:00
LegalizeIntegerTypes.cpp Remove tabs. 2012-07-19 00:04:14 +00:00
LegalizeTypes.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
LegalizeTypes.h Fix a bug in the scalarization of BUILD_VECTOR. BUILD_VECTOR elements may be wider than the output element type. Make sure to trunc them if needed. 2012-07-15 20:39:08 +00:00
LegalizeTypesGeneric.cpp The result type of EXTRACT_VECTOR_ELT doesn't have to match the element type of 2012-07-12 09:01:35 +00:00
LegalizeVectorOps.cpp 'Promote' vector [su]int_to_fp should widen elements. 2012-06-28 21:03:44 +00:00
LegalizeVectorTypes.cpp Change llvm_unreachable in SplitVectorOperand to report_fatal_error. Keeps release builds from crashing if code uses an intrinsic with an illegal type. 2012-07-24 04:11:21 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile
ResourcePriorityQueue.cpp I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
ScheduleDAGFast.cpp Simplify some more getAliasSet callers. 2012-06-01 22:38:17 +00:00
ScheduleDAGRRList.cpp Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
ScheduleDAGSDNodes.cpp Reapply 155668: Fix the SD scheduler to avoid gluing the same node twice. 2012-04-28 01:03:23 +00:00
ScheduleDAGSDNodes.h Add SelectionDAG::getTargetIndex. 2012-08-07 22:37:05 +00:00
ScheduleDAGVLIW.cpp misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
SDNodeDbgValue.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
SDNodeOrdering.h
SelectionDAG.cpp Remove extra MayLoad/MayStore flags from atomic_load/store. 2012-08-28 03:11:32 +00:00
SelectionDAGBuilder.cpp BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle 2012-08-24 18:14:27 +00:00
SelectionDAGBuilder.h BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle 2012-08-24 18:14:27 +00:00
SelectionDAGDumper.cpp Add SelectionDAG::getTargetIndex. 2012-08-07 22:37:05 +00:00
SelectionDAGISel.cpp BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle 2012-08-24 18:14:27 +00:00
SelectionDAGPrinter.cpp 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
TargetLowering.cpp TargetLowering: Use the large shift amount during legalize types. The legalizer may call us with an overly large type. 2012-08-17 15:54:21 +00:00
TargetSelectionDAGInfo.cpp