ad7ebc2aebd94ec9e0bd01e1735d06cfe067368b |
|
29-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineMemOperand::isUnordered(). This means the same as LoadInst/StoreInst::isUnordered(), and implies !isVolatile(). Atomic loads and stored are also ordered, and this is the right method to check if it is safe to reorder memory operations. Ordered atomics can't be reordered wrt normal loads and stores, which is a stronger constraint than volatile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
95d594cac3737ae1594a391276942a443cac426b |
|
31-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Teach CodeGen's version of computeMaskedBits to understand the range metadata. This is the CodeGen equivalent of r153747. I tested that there is not noticeable performance difference with any combination of -O0/-O2 /-g when compiling gcc as a single compilation unit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
066b5d8403483bf3a8bb033b690da318fbc68e79 |
|
14-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make headers standalone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
d752e0f7e64585839cb3a458ef52456eaebbea3c |
|
08-Nov-2011 |
Pete Cooper <peter_cooper@apple.com> |
Added invariant field to the DAG.getLoad method and changed all calls. When this field is true it means that the load is from constant (runt-time or compile-time) and so can be hoisted from loops or moved around other memory accesses git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
1f6efa3996dd1929fbc129203ce5009b620e6969 |
|
29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Merge System into Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
f96e4bd2a3b11928af75fb7472288930d16fec0b |
|
20-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Make CodeGen TBAA-aware. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
fc448ff89b4fb7721de9da0b96fd00c13160c4c7 |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
convert a couple more places to use the new getStore() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
1daa6f479dd5fb4123f1ffbb10a3825da7d2c6b8 |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add some accessors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
e8639036b1fb3a5b5e9589fe4e9f2ee1b77c36bd |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
it's more elegant to put the "getConstantPool" and "getFixedStack" on the MachinePointerInfo class. While this isn't the problem I'm setting out to solve, it is the right way to eliminate PseudoSourceValue, so lets go with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
e467d168d09e9d2bc9c598bde341921bba82baaa |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
ugh, missed a file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
40a858f6e71ed8d68779d00c63dad15baded3562 |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add some helpful accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
93a95ae8a9d8eb19dc0d90281473be2fb1c05a17 |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
force clients of MachineFunction::getMachineMemOperand to provide a MachinePointerInfo, propagating the type out a level of API. Remove the old MachineFunction::getMachineMemOperand impl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
da39c3964423744b4d79aebef8bece3e9141d5fc |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
start pushing MachinePointerInfo out through the MachineMemOperand interface to the MachineFunction construction methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
e8e2e80f40495fdd5ad475beb54fcf0989b6b7c5 |
|
21-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
refactor the Value*/offset pair from MachineMemOperand out to a new MachinePointerInfo struct, no functionality change. This also adds an assert to MachineMemOperand::MachineMemOperand that verifies that the Value* is either null or is an IR pointer type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
ba2b297ca53cd685ba397177e9d2d8c239da971e |
|
15-Feb-2010 |
David Greene <greened@obbligato.org> |
Add non-temporal flags to MachineMemOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
0c8ae782cb966068f8317f8225633e2f4720ccb7 |
|
06-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Make a few more LLVM headers parsable as standalone headers. Fix some problems with the hidden copy constructors for ImmutableMap/ImmutableSet found by Clang++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
4b2ebc19288491cb068f268c311d9fef0ec6a29f |
|
26-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Move MachineMemOperand::getAlignment out of line, to avoid needing MathExtras.h in MachineMemOperand.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
c76909abfec876c6b751d693ebd3df07df686aa0 |
|
25-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Improve MachineMemOperand handling. - Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
cd26ec5f3c089b3b24f80ff200e94e681eb9e1ee |
|
23-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Give MachineMemOperand an operator<<, factoring out code from two different places for printing MachineMemOperands. Drop the virtual from Value::dump and instead give Value a protected virtual hook that can be overridden by subclasses to implement custom printing. This lets printing be more consistent, and simplifies printing of PseudoSourceValue values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
28f02fdd76f4efc05d14649e0eec90ce8e71e17e |
|
21-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Change MachineMemOperand's alignment value to be the alignment of the base pointer, without the offset. This matches MemSDNode's new alignment behavior, and holds more interesting information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
c43fd5a68ff77c1d996b520dc494336a9d3beaa0 |
|
14-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Update a comment to match the source. PseudoSourceValues are now obtained via accessor functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
b8d2f550b84523e8a73198f98e5d450ec3b4fee7 |
|
20-Aug-2008 |
Dan Gohman <gohman@apple.com> |
Change the FoldingSetNodeID usage for objects which carry alignment and volatility information, such as loads and stores, to reduce the number of integer values added to the FoldingSetNodeID. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
10f5eb9451e008d009eb8291a9df3bcac9033231 |
|
22-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Correct the name of MachineMemOperand's include guard. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
ce42e404a26454f4332c2c350c75ad27bbbb16f7 |
|
07-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Move MachineMemOperand's constructor out of line, to avoid a #include dependency on Support/MathExtras.h in the header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
35c640aee502604c2c5741387e444e2c597dab89 |
|
07-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Shrink MachineMemOperand by storing the alignment in log form and rearranging the fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|
36b5c1338a03453ba1c110b120269ca972fb65a3 |
|
07-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Rename MemOperand to MachineMemOperand. This was suggested by review feedback from Chris quite a while ago. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineMemOperand.h
|