cddc3e03e4ec99c0268c03a126195173e519ed58 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 (cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383) Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
3d238de4d54eb0b16afd96a57f49f92b2f7748e0 |
|
02-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195401: ------------------------------------------------------------------------ r195401 | lhames | 2013-11-21 16:46:32 -0800 (Thu, 21 Nov 2013) | 8 lines Fix a typo where we were creating <def,kill> operands instead of <def,dead> ones. Add an assertion to make sure we catch this in the future. Fixes <rdar://problem/15464559>. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
b7770e0b851295141f2b5ec8383380253a75c5f8 |
|
16-Jun-2013 |
David Blaikie <dblaikie@gmail.com> |
MachineOperand::setIsDebug should ensure the register is /not/ a definition This currently unused function appeared to be asserting in the wrong direction - DebugValues are never definitions of registers, only uses. Curiously we don't perform any of these checks for the more common (& actually used) case of MachineOperand::CreateReg (or other Create functions). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
682106050979f0d48fcf17338c99e91672352789 |
|
08-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Pack MachineOperand bitfields better. Previously, 4 bits were unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
f1d015f3429f611c423f943c75f86e6823810dc3 |
|
05-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use ArrayRecycler for MachineInstr operand lists. Instead of an std::vector<MachineOperand>, use MachineOperand arrays from an ArrayRecycler living in MachineFunction. This has several advantages: - MachineInstr now has a trivial destructor, making it possible to delete them in batches when destroying MachineFunction. This will be enabled in a later patch. - Bypassing malloc() and free() can be faster, depending on the system library. - MachineInstr objects and their operands are allocated from the same BumpPtrAllocator, so they will usually be next to each other in memory, providing better locality of reference. - Reduce MachineInstr footprint. A std::vector is 24 bytes, the new operand array representation only uses 8+4+1 bytes in MachineInstr. - Better control over operand array reallocations. In the old representation, the use-def chains would be reordered whenever a std::vector reached its capacity. The new implementation never changes the use-def chain order. Note that some decisions in the code generator depend on the use-def chain orders, so this patch may cause different assembly to be produced in a few cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
3a9b71434cda6f66d65a031effec1bbe58e1dda3 |
|
31-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add extra declarations of hash_value needed to build llvm with xlc 12.1. Patch by Kai! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
6c7ccaa3fd1d6e96d0bf922554b09d2b17c3b0e3 |
|
12-Sep-2012 |
Michael Liao <michael.liao@intel.com> |
Fix PR11985 - BlockAddress has no support of BA + offset form and there is no way to propagate that offset into machine operand; - Add BA + offset support and a new interface 'getTargetBlockAddress' to simplify target block address forming; - All targets are modified to use new interface and X86 backend is enhanced to support BA + offset addressing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
b985e9aacdd604a5a503496a1633fa9c6ef7235c |
|
05-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Clean up includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
9c130672761e006c47ea23b34a7bd414f2cd8368 |
|
04-Sep-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow tied uses and defs in different orders. After much agonizing, use a full 4 bits of precious MachineOperand space to encode this. This uses existing padding, and doesn't grow MachineOperand beyond its current 32 bytes. This allows tied defs among the first 15 operands on a normal instruction, just like the current MCInstrDesc constraint encoding. Inline assembly needs to be able to tie more than the first 15 operands, and gets special treatment. Tied uses can appear beyond 15 operands, as long as they are tied to a def that's in range. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
94083149fd6891c8a72472cf1814fa6600a75979 |
|
31-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineInstr::tieOperands, remove setIsTied(). Manage tied operands entirely internally to MachineInstr. This makes it possible to change the representation of tied operands, as I will do shortly. The constraint that tied uses and defs must be in the same order was too restrictive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
4ba6916a98fffd9dedac5945ac51d40c8948069e |
|
28-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a MachineOperand::isTied() flag. While in SSA form, a MachineInstr can have pairs of tied defs and uses. The tied operands are used to represent read-modify-write operands that must be assigned the same physical register. Previously, tied operand pairs were computed from fixed MCInstrDesc fields, or by using black magic on inline assembly instructions. The isTied flag makes it possible to add tied operands to any instruction while getting rid of (some of) the inlineasm magic. Tied operands on normal instructions are needed to represent predicated individual instructions in SSA form. An extra <tied,imp-use> operand is required to represent the output value when the instruction predicate is false. Adding a predicate to: %vreg0<def> = ADD %vreg1, %vreg2 Will look like: %vreg0<tied,def> = ADD %vreg1, %vreg2, pred:3, %vreg7<tied,imp-use> The virtual register %vreg7 is the value given to %vreg0 when the predicate is false. It will be assigned the same physreg as %vreg0. This commit adds the isTied flag and sets it based on MCInstrDesc when building an instruction. The flag is not used for anything yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
190e342cbcb1456ebb21b53a35cfefa99435bd65 |
|
28-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't allow TargetFlags on MO_Register MachineOperands. Register operands are manipulated by a lot of target-independent code, and it is not always possible to preserve target flags. That means it is not safe to use target flags on register operands. None of the targets in the tree are using register operand target flags. External targets should be using immediate operands to annotate instructions with operand modifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
1144af3c9b4da48cd581156e05b24261c8de366a |
|
25-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix integer undefined behavior due to signed left shift overflow in LLVM. Reviewed offline by chandlerc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
c7908037d87c8f6866b872e9f6b5a7fffae5b63e |
|
10-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Reapply r161633-161634 "Partition use lists so defs always come before uses."" No changes to these patches, MRI needed to be notified when changing uses into defs and vice versa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
d6397eba2389e8a24d37aa56e049187c1ee75f4f |
|
10-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Also update MRI use lists when changing a use to a def and vice versa. This was the cause of the buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
1134aae4e743290da2ad29a7ac76d3a1f9dcfce8 |
|
10-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Revert r161633-161634 "Partition use lists so defs always come before uses." These commits broke a number of buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
46f4c35372062eaf097922b5683bc6639ccf342b |
|
10-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't use pointer-pointers for the register use lists. Use a more conventional doubly linked list where the Prev pointers form a cycle. This means it is no longer necessary to adjust the Prev pointers when reallocating the VRegInfo array. The test changes are required because the register allocation hint is using the use-list order to break ties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
ff2b99afc8cbc6cfa73181072888e0f9f07deb7e |
|
10-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move use list management into MachineRegisterInfo. Register MachineOperands are kept in linked lists accessible via MRI's reg_iterator interfaces. The linked list management was handled partly by MachineOperand methods, partly by MRI methods. Move all of the list management into MRI, delete MO::AddRegOperandToRegInfo() and MO::RemoveRegOperandFromRegInfo(). Be more explicit about handling the cases where an MRI pointer isn't available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
9bac67657bb158d8649e85494f5999993591b87c |
|
09-Aug-2012 |
Matt Beaumont-Gay <matthewbg@google.com> |
MachineRegisterInfo was already a friend of MachineOperand, and GCC complains about repeated friending. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
fdd6484b41ef0fa7eb8c995fb34b728b193c6258 |
|
09-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move getNextOperandForReg() into MachineRegisterInfo. MRI provides iterators for traversing the use-def chains. They should not be accessible from anywhere else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
0b40d09ff6b1facd0fe81e50ee0271e035488520 |
|
07-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a new kind of MachineOperand: MO_TargetIndex. A target index operand looks a lot like a constant pool reference, but it is completely target-defined. It contains the 8-bit TargetFlags, a 32-bit index, and a 64-bit offset. It is preserved by all code generator passes. TargetIndex operands can be used to carry target-specific information in cases where immediate operands won't suffice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
4adbe34ad6755d3ed9d4175db907d231e80da97e |
|
06-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Put up warning signs around MO::getNextOperandForReg(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
d862d697d2d6f7d4e8fdd0b70686a6695e04d362 |
|
05-Jul-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Finish fixing the MachineOperand hashing, providing a nice modern hash_value overload for MachineOperands. This addresses a FIXME sufficient for me to remove it, and cleans up the code nicely too. The important changes to the hashing logic: - TargetFlags are now included in all of the hashes. These were complete missed. - Register operands have their subregisters and whether they are a def included in the hash. - We now actually hash all of the operand types. Previously, many operand types were simply *dropped on the floor*. For example: - Floating point immediates - Large integer immediates (>64-bit) - External globals! - Register masks - Metadata operands - It removes the offset from the block-address hash; I'm a bit suspicious of this, but isIdenticalTo doesn't consider the offset for black addresses. Any patterns involving these entities could have triggered extreme slowdowns in MachineCSE or PHIElimination. Let me know if there are PRs you think might be closed now... I'm looking myself, but I may miss them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
4efea94fa54d0e8687b965fdf3ba46022c8e15c4 |
|
07-Jun-2012 |
Pete Cooper <peter_cooper@apple.com> |
Add internal read flags to MachineInstrBuilder and hook them into the MachineOperand flag of the same name git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
f1deaff53b5ab02821a10ce561966b46aa0dda5e |
|
10-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Clean up comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
938200859ec714f59f8f93acceb999e212e9c539 |
|
10-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a static MachineOperand::clobbersPhysReg(). It can be necessary to detach a register mask pointer from its MachineOperand. This method is convenient for checking clobbered physregs on a detached bitmask pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
478a8a02bc0f2e739ed8f4240152e99837e480b9 |
|
03-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Require non-NULL register masks. It doesn't seem worthwhile to give meaning to a NULL register mask pointer. It complicates all the code using register mask operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
7739cad69d2590f556afc9fc3048f967b5a3f4f6 |
|
16-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a new kind of MachineOperand: MO_RegisterMask. Register masks will be used as a compact representation of large clobber lists. Currently, an x86 call instruction has some 40 operands representing call-clobbered registers. That's more than 1kB of useless operands per call site. A register mask operand references a bit mask of call-preserved registers, everything else is clobbered. The bit mask will typically come from TargetRegisterInfo::getCallPreservedMask(). By abandoning ImplicitDefs for call-clobbered registers, it also becomes possible to share call instruction descriptions between calling conventions, and we can get rid of the WINCALL* instructions. This patch introduces the new operand kind. Future patches will add RegMask support to target-independent passes before finally the fixed clobber lists can be removed from call instruction descriptions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
2068215e8515203ab4839ee494cdc53dfd0cdf02 |
|
07-Dec-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineOperand IsInternalRead flag. This flag is used when bundling machine instructions. It indicates whether the operand reads a value defined inside or outside its bundle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
7016cf66ee21ddf3f7823d4e332b2cb84953bebd |
|
04-Oct-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow <undef> flags on def operands as well as uses. The <undef> flag says that a MachineOperand doesn't read its register, or doesn't depend on the previous value of its register. A full register def never depends on the previous register value. A partial register def may depend on the previous value if it is intended to update part of a register. For example: %vreg10:dsub_0<def,undef> = COPY %vreg1 %vreg10:dsub_1<def> = COPY %vreg2 The first copy instruction defines the full %vreg10 register with the bits not covered by dsub_0 defined as <undef>. It is not considered a read of %vreg10. The second copy modifies part of %vreg10 while preserving the rest. It has an implicit read of %vreg10. This patch adds a MachineOperand::readsReg() method to determine if an operand reads its register. Previously, this was modelled by adding a full-register <imp-def> operand to the instruction. This approach makes it possible to determine directly from a MachineOperand if it reads its register. No scanning of MI operands is required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
8594d429e02c688d428036f8563f09572da3fbff |
|
24-Jun-2011 |
Devang Patel <dpatel@apple.com> |
Handle debug info for i128 constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
0958870a085e74c3216186700ca24f3272340ad2 |
|
27-May-2011 |
Eric Christopher <echristo@apple.com> |
Comment cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
7fcbfe38d24fb556c231b24f226247a543e51c9d |
|
17-May-2011 |
Jim Grosbach <grosbach@apple.com> |
Frame indices are signed. Update MachineOperand methods accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
0804ead404d694b35e9c55ccbf43f99cd394e487 |
|
09-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Simplify LiveDebugVariables by storing MachineOperand copies locations instead of using a Location class with the same information. When making a copy of a MachineOperand that was already stored in a MachineInstr, it is necessary to clear the parent pointer on the copy. Otherwise the register use-def lists become inconsistent. Add MachineOperand::clearParent() to do that. An alternative would be a custom MachineOperand copy constructor that cleared ParentMI. I didn't want to do that because of the performance impact. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.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/MachineOperand.h
|
2594746045258958673ebe42db2a27a4d05b0b73 |
|
19-Oct-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Shrink MachineOperand from 40 to 32 bytes on 64-bit hosts. Pull an unsigned out of the Contents union such that it has the same size as two pointers and no padding. Arrange members such that the Contents union and all pointers can be 8-byte aligned without padding. This speeds up code generation by 0.8% on a 64-bit host. 32-bit hosts should be unaffected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
85dbce31d02894233f8cfd15a5cc08f2d3fba3eb |
|
15-Sep-2010 |
Jim Grosbach <grosbach@apple.com> |
trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
2da53370241fdd1b5c291483311b34e609f06c73 |
|
28-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a TargetRegisterInfo::composeSubRegIndices hook with a default implementation that is correct for most targets. Tablegen will override where needed. Add MachineOperand::subst{Virt,Phys}Reg methods that correctly handle existing subreg indices when sustituting registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
46510a73e977273ec67747eb34cbdb43f815e451 |
|
15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add const qualifiers to CodeGen's use of LLVM IR constructs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
bfcb3051899b7141a946d769fcf6e8a8453bc530 |
|
25-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Change how dbg_value sdnodes are converted into machine instructions. Their placement should be determined by the relative order of incoming llvm instructions. The scheduler will now use the SDNode ordering information to determine where to insert them. A dbg_value instruction is inserted after the instruction with the last highest source order and before the instruction with the next highest source order. It will optimize the placement by inserting right after the instruction that produces the value if they have consecutive order numbers. Here is a theoretical example that illustrates why the placement is important. tmp1 = store tmp1 -> x ... tmp2 = add ... ... call ... store tmp2 -> x Now mem2reg comes along: tmp1 = dbg_value (tmp1 -> x) ... tmp2 = add ... ... call ... dbg_value (tmp2 -> x) When the debugger examine the value of x after the add instruction but before the call, it should have the value of tmp1. Furthermore, for dbg_value's that reference constants, they should not be emitted at the beginning of the block (since they do not have "producers"). This patch also cleans up how SDISel manages DbgValue nodes. It allow a SDNode to be referenced by multiple SDDbgValue nodes. When a SDNode is deleted, it uses the information to find the SDDbgValues and invalidate them. They are not deleted until the corresponding SelectionDAG is destroyed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
72aaa3c79869870bd16402ed1f37b80a5e71c800 |
|
13-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
add support for MCSymbols as operands to MachineInstrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
9066f4c6fc4cae76afd727a6ac11f86fdea8b280 |
|
03-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Ordering forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
91c38417cf11ce56b13a7434de76306f665c88c5 |
|
26-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Further constify MDNode* references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
9a722caa26eaa19fe39e62acc05fd4e1902eb92b |
|
11-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Allow isDebug inquiry on any MO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
9653f9ec970147a12216d787078eab2f8b9c122a |
|
10-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Add isDebug argument to ChangeToRegister; this prevents the field from being used uninitialized later in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
38007ca86a51a6fa932b1dd0f3998f952d1145e2 |
|
09-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Debug operands should not be def or kill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
a65aa0f0bba1ef2322d63d05c074a92168684c63 |
|
06-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Add a Debug bit to MachineOperand, for uses that are from debug info. Add an iterator to MachineRegisterInfo to skip Debug operands when walking the use list. No functional change yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
3f5db85b573cbb3f778413d882e6fd1854a5991b |
|
16-Jan-2010 |
Dale Johannesen <dalej@apple.com> |
Remove unneeded argument per review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
5f72a5ebc84a1935878b5b2d3166a505c520cdfc |
|
13-Jan-2010 |
Dale Johannesen <dalej@apple.com> |
Further progration of metadata operands. The dumper doesn't really do what I want yet, but at least it doesn't crash now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
68c3def12618f73ec237359cb07f8e9e68d50b3a |
|
12-Jan-2010 |
Dale Johannesen <dalej@apple.com> |
Add MO_Metadata as an operand kind. Not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
29cbade25aa094ca9a149a96a8614cf6f3247480 |
|
21-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Target-independent support for TargetFlags on BlockAddress operands, and support for blockaddresses in x86-32 PIC mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
c24096559dad926ea3554782fd76240f5de9fe7d |
|
30-Oct-2009 |
Devang Patel <dpatel@apple.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
64348df5c9a4757e82b2a6b081b3537dfe37313b |
|
30-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Add a BlockAddress MachineOperand kind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
8b67f774e9c38b7718b2b300b628388f966df4e0 |
|
26-Oct-2009 |
Chandler Carruth <chandlerc@gmail.com> |
Move DataTypes.h to include/llvm/System, update all users. This breaks the last direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
36bf49c6b767dfa1dabb2900f25f1c33234d90e7 |
|
03-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
improve comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
31e2c7b4c13c2f31774614b1124533628958d0cd |
|
02-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
705e07f578e2b3af47ddab610feb4e7f2d3063a5 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove various std::ostream version of printing methods from MachineInstr and MachineOperand. This required eliminating a bunch of stuff that was using DOUT, I hope that bill doesn't mind me stealing his fun. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
3751aa559d0a020d1dba7d25d31900710a61e22c |
|
11-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Use the default copy-ctor, copy-assignment, and destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
8845f6aca37dae8a36a43962bc191beda58c0a1b |
|
07-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Add isMetadata() to check metadata operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
87d33f69194f5fb39080b048b41f51df595c72c9 |
|
02-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Remove tabs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
6f854d1e784c53893af4eff3903ffb8e752a93cf |
|
01-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Add getMDNode() to access metadata node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
6d9148ce3d42a3f81c2828754a720278061c7aa7 |
|
01-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Add machine operand for MDNodes. This will be used to communicate debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
4784f1fc73abf6005b7b7262d395af71b57b1255 |
|
30-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
9a96c425db72bc6e879e8445e3a3bf1f1e556b56 |
|
25-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
ad MachineInstrBuilder support for target flags on operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
31530617dd206c3ac549e98508d8f98e91bf8275 |
|
24-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
Rearrange some stuff in MachineOperand and add a new TargetFlags field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
5b038b793cef0ad0697209c64621fd80f507bb0b |
|
21-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
fit in 80 cols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
3bc1a3735f216f4a122fe4a05d39f63888ab205a |
|
15-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Give RemoveRegOperandFromRegInfo a comment and move the code out of line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
1bda0541f0ca613179052a203a62c2d36d9c5a46 |
|
23-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Comment MO_FPImmediate and doxygenate surrounding comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
6520e20e4fb31f2e65e25c38b372b19d33a83df4 |
|
18-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Teach DAGCombine to fold constant offsets into GlobalAddress nodes, and add a TargetLowering hook for it to use to determine when this is legal (i.e. not in PIC mode, etc.) This allows instruction selection to emit folded constant offsets in more cases, such as the included testcase, eliminating the need for explicit arithmetic instructions. This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp that attempted to achieve the same effect, but wasn't as effective. Also, fix handling of offsets in GlobalAddressSDNodes in several places, including changing GlobalAddressSDNode's offset from int to int64_t. The Mips, Alpha, Sparc, and CellSPU targets appear to be unaware of GlobalAddress offsets currently, so set the hook to false on those targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
d735b8019b0f297d7c14b55adcd887af24d8e602 |
|
03-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Switch the MachineOperand accessors back to the short names like isReg, etc., from isRegister, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
86b49f8e2de796cb46c7c8b6a4c4900533fd53f4 |
|
24-Sep-2008 |
Dale Johannesen <dalej@apple.com> |
Next round of earlyclobber handling. Approach the RA problem by expanding the live interval of an earlyclobber def back one slot. Remove overlap-earlyclobber throughout. Remove earlyclobber bits and their handling from live internals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
14743e83b9214fa9a6a5697dc08aafa37b62b046 |
|
22-Sep-2008 |
Chris Lattner <sabre@nondot.org> |
explain what earlyclobber actually is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
91aac1015e6714d959801dd8d60f55a72827dc4d |
|
17-Sep-2008 |
Dale Johannesen <dalej@apple.com> |
Add a bit to mark operands of asm's that conflict with an earlyclobber operand elsewhere. Propagate this bit and the earlyclobber bit through SDISel. Change linear-scan RA not to allocate regs in a way that conflicts with an earlyclobber. See also comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
e009180f2bbcf5edbe3b583936c37c4b3be2d082 |
|
14-Sep-2008 |
Dale Johannesen <dalej@apple.com> |
adjust last patch per review feedback git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
014278e6a11fa0767853b831e5bf51b95bf541c5 |
|
13-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Remove isImm(), isReg(), and friends, in favor of isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
4fbd796a1251a27e6590765a0a34876f436a0af9 |
|
12-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and ConstantFP* instead of APInt and APFloat directly. This reduces the amount of time to create ConstantSDNode and ConstantFPSDNode nodes when ConstantInt* and ConstantFP* respectively are already available, as is the case in SelectionDAGBuild.cpp. Also, it reduces the amount of time to legalize constants into constant pools, and the amount of time to add ConstantFP operands to MachineInstrs, due to eliminating ConstantInt::get and ConstantFP::get calls. It increases the amount of work needed to create new constants in cases where the client doesn't already have a ConstantInt* or ConstantFP*, such as legalize expanding 64-bit integer constants to 32-bit constants. And it adds a layer of indirection for the accessor methods. But these appear to be outweight by the benefits in most cases. It will also make it easier to make ConstantSDNode and ConstantFPNode more consistent with ConstantInt and ConstantFP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
913d3dfac43f29921467f33aa743f28ee1bfc5d1 |
|
12-Sep-2008 |
Dale Johannesen <dalej@apple.com> |
Pass "earlyclobber" bit through to machine representation; coalescer and RA need to know about it. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
cb3718832375a581c5ea23f15918f3ea447a446c |
|
21-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Use raw_ostream throughout the AsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
90b58e0317e042df065d57477dbe4005dea0320e |
|
10-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Fix a copy+pasto in an assertion string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
1baa88e3de8947b02d9ef4caa73e5860f048ec6e |
|
29-May-2008 |
Dan Gohman <gohman@apple.com> |
Prune and tidy #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
f8e43be758c94e21634d1e9e7c22fd5d218f7423 |
|
14-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Back out r48353. Not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
15fda403f36d353b9d4bcfb03377bc74f40dafe5 |
|
14-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Add an MO_Undef MachineOperandType, intended for INSERT_SUBREG. Next up MO_Undead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
e8b7ccf0c9a06831266d690d0b10ead71e0a4ac5 |
|
14-Feb-2008 |
Nate Begeman <natebegeman@mac.com> |
Support a new type of MachineOperand, MO_FPImmediate, used for holding FP Immediates, crazily enough git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
1327f69d98a2cb527b275ffc93080cf31ddf6dc5 |
|
29-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
6c5757e4e85bb190097be13c1630bb107a1fbcfe |
|
01-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
add efficient iteration support for register use/def's within a machine function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
62ed6b9ade63bf01717ce5274fa11e93e873d245 |
|
01-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Implement automatically updated def/use lists for all MachineInstr register operands. The lists are currently kept in MachineRegisterInfo, but it does not yet provide an iterator interface to them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
8aa797aa51cd4ea1ec6f46f4891a6897944b75b2 |
|
31-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Add new shorter predicates for testing machine operands for various types: e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on switching everything over, so new clients should just start using the shorter names. Remove old long accessors, switching everything over to use the short accessor: getMachineBasicBlock() -> getMBB(), getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
a29b8aac900c7209d6ff178493e96ffa60137170 |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
- rename opType -> OpKind and contents -> Contents. - eliminate the auxInfo union, merging it into the contents union. This shaves 4 bytes off MachineOperand on a 32-bit machine. - Use accessors in ctor methods. - Add comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
f73823000e2d5d6e1cf65bdf5a107297e18d35fb |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
More cleanups for MachineOperand: - Eliminate the static "print" method for operands, moving it into MachineOperand::print. - Change various set* methods for register flags to take a bool for the value to set it to. Remove unset* methods. - Group methods more logically by operand flavor in MachineOperand.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
e3087890ac7f2fcf4697f8e09091e9a384311b9c |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
MachineOperand: - Add getParent() accessors. - Move SubReg out of the AuxInfo union, to make way for future changes. - Remove the getImmedValue/setImmedValue methods. - in some MachineOperand::Create* methods, stop initializing fields that are dead. MachineInstr: - Delete one copy of the MachineInstr printing code, now there is only one dump format and one copy of the code. - Make MachineOperand use the parent field to get info about preg register names if no target info is otherwise available. - Move def/use/kill/dead flag printing to the machineoperand printer, so they are always printed for an operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
e12d6abfdfc5141b2001f0c369a0e1525315b9c0 |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
make machine operands fatter: give each one an up-pointer to the machineinstr that owns it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|
103a64318bb716d68a4248996466900411d789be |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
split machineoperand out into its own header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineOperand.h
|