22c310d78ce9630af15b0de94c18a409705b7496 |
|
10-Dec-2014 |
Tim Murray <timmurray@google.com> |
Revert "Revert "Bring in fixes for Cortex-A53 errata + build updates."" This reverts commit c8db087b3b6d8767db4fa54057ac8fa448d812ca.
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c8db087b3b6d8767db4fa54057ac8fa448d812ca |
|
23-Oct-2014 |
Tim Murray <timmurray@google.com> |
Revert "Bring in fixes for Cortex-A53 errata + build updates." This reverts commit 8a1773694c6d9b1277647440583811ad3d85c6a4. bug 18094492
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8a1773694c6d9b1277647440583811ad3d85c6a4 |
|
17-Oct-2014 |
Stephen Hines <srhines@google.com> |
Bring in fixes for Cortex-A53 errata + build updates. Bug: 18034609 (cherry picked from commit bfc2d688b591c574c0cc788348c74545ce894efa) Change-Id: I010fb735bb84fe97ccb8e3878f9601cb533962f4
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4afb5f560d2c3171eda8be6ae64998080dddec0c |
|
10-Oct-2013 |
Matthias Braun <matze@braunis.de> |
Rename parameter: defined regs are not incoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ad577a5c1dc325456c495f50e024711273bdf434 |
|
17-Sep-2013 |
Adrian Prantl <aprantl@apple.com> |
simplify expression git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
818833f27929d650b4323774cd3660860588f687 |
|
17-Sep-2013 |
Adrian Prantl <aprantl@apple.com> |
Debug info: Fix PR16736 and rdar://problem/14990587. A DBG_VALUE is register-indirect iff the first operand is a register _and_ the second operand is an immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a370bdb42eaefdb103f971ad2e84c75573d77c68 |
|
15-Aug-2013 |
Joey Gouly <joey.gouly@arm.com> |
Drive-by fix for a doxygen comment in MachineInstr.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1f2415efc3e9f0eb9d50367979d9c8dd6d784658 |
|
06-Jul-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove dead function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b56606274d43c7a3e01b18a08d1115fbf2889996 |
|
16-Feb-2013 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Do not omit the frame pointer if we have ms-inline assembly. If the frame pointer is omitted, and any stack changes occur in the inline assembly, e.g.: "pusha", then any C local variable or C argument references will be incorrect. I pass no judgement on anyone who would do such a thing. ;) rdar://13218191 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c6ada8e5f38168f13830e448f2b9e2d8e3eac72b |
|
25-Jan-2013 |
Andrew Trick <atrick@apple.com> |
ScheduleDAG: colorize the DOT graph and improve formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4aebce83212d7271454c8767085645fe11054b44 |
|
10-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow hasProperty() to be called on bundle-internal instructions. When calling hasProperty() on an instruction inside a bundle, it should always behave as if IgnoreBundle was passed, and just return properties for the current instruction. Only attempt to aggregate bundle properties whan asked about the bundle header. The assertion fires on existing ARM test cases without this fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b11f05043465bceae4853a3bd2c01d7d664cc5e3 |
|
10-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Support headerless bundles in MachineInstr::hasProperty(). This function can still work without a BUNDLE header instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
25377c8c6dafd094f17833f2c37daff0b77a16fc |
|
09-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't require BUNDLE headers in MachineInstr::getBundleSize(). It is possible to build MI bundles that don't begin with a BUNDLE header. Add support for such bundles, counting all instructions inside the bundle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b2c79f2f630ed3e7da31ff8adb3014fb0ab47412 |
|
08-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Pack MachineInstr fields better. This shrinks MachineInstr to 64 bytes (from 72). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
84be3d5a73313eb19f2f9e0512153cd2e6f46c54 |
|
05-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't call destructors on MachineInstr and MachineOperand. The series of patches leading up to this one makes llc -O0 run 8% faster. When deallocating a MachineFunction, there is no need to visit all MachineInstr and MachineOperand objects to deallocate them. All their memory come from a BumpPtrAllocator that is about to be purged, and they have empty destructors anyway. This only applies when deallocating the MachineFunction. DeleteMachineInstr() should still be used to recycle MI memory during the codegen passes. Remove the LeakDetector support for MachineInstr. I've never seen it used before, and now it definitely doesn't work. With this patch, leaked MachineInstrs would be much less of a problem since all of their memory will be reclaimed by ~MachineFunction(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
56706db45bbc7be0c087451ca9f1d258324df4b2 |
|
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Require the two-argument MI::addOperand(MF, MO) for dangling instructions. Instructions that are inserted in a basic block can still be decorated with addOperand(MO). Make the two-argument addOperand() function contain the actual implementation. This function will now always have a valid MF reference that it can use for memory allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
be06aacaa9a270384599bbfa850b967e9996b9fb |
|
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add an MF argument to MI::copyImplicitOps(). This function is often used to decorate dangling instructions, so a context reference is required to allocate memory for the operands. Also add a corresponding MachineInstrBuilder method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9500e5d07ac9b94c8fed74150e444778a0dcb036 |
|
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use two-arg addOperand(MF, MO) internally in MachineInstr when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
54c1902919b502d7b549f9e967e8d9b6921fabf9 |
|
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove two dead functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
433cb080bac56b4fac56f7625e07e17b4824ce8a |
|
19-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add an MF argument to MachineInstr::addOperand(). Just like for addMemOperand(), the function pointer provides a context for allocating memory. This will make it possible to use a better memory allocation strategy for the MI operand list, which is currently a slow std::vector. Most calls to addOperand() come from MachineInstrBuilder, so give that class an MF reference as well. Code using BuildMI() won't need changing at all since the MF reference is already required to allocate a MachineInstr. Future patches will fix code that calls MI::addOperand(Op) directly, as well as code that uses the now deprecated MachineInstrBuilder(MI) constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
445a02b5ad80de64d4e9d1d9efc8ab19ee2dd118 |
|
19-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove MachineInstr::setIsInsideBundle(). The bundle flags are now maintained by the slightly higher-level functions bundleWithPred() / bundleWithSucc() which enforce consistent bundle flags between neighboring instructions. See also MIBundleBuilder for an even higher-level approach to building bundles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2e4b639790a166e55a0bf14fac54ca6ce583e459 |
|
19-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use bidirectional bundle flags to simplify important functions. The bundle_iterator::operator++ function now doesn't need to dig out the basic block and check against end(). It can use the isBundledWithSucc() flag to find the last bundled instruction safely. Similarly, MachineInstr::isBundled() no longer needs to look at iterators etc. It only has to look at flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
bd7b36e780f99b808f8e334e26f3dae1bc7e8175 |
|
18-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't allow the automatically updated MI flags to be set directly. The bundle-related MI flags need to be kept in sync with the neighboring instructions. Don't allow the bulk flag-setting setFlags() function to change them. Also don't copy MI flags when cloning an instruction. The clone's bundle flags will be set when it is explicitly inserted into a bundle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9f4692d2953b47e9037ccfe5709a6e75de3911d4 |
|
18-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Tighten up the erase/remove API for bundled instructions. Most code is oblivious to bundles and uses the MBB::iterator which only visits whole bundles. MBB::erase() operates on whole bundles at a time as before. MBB::remove() now refuses to remove bundled instructions. It is not safe to remove all instructions in a bundle without deleting them since there is no way of returning pointers to all the removed instructions. MBB::remove_instr() and MBB::erase_instr() will now update bundle flags correctly, lifting individual instructions out of bundles while leaving the remaining bundle intact. The MachineInstr convenience functions are updated so eraseFromParent() erases a whole bundle as before eraseFromBundle() erases a single instruction, leaving the rest of its bundle. removeFromParent() refuses to operate on bundled instructions, and removeFromBundle() lifts a single instruction out of its bundle. These functions will no longer accidentally split or coalesce bundles - bundle flags are updated to preserve the existing bundling, and explicit bundleWith* / unbundleFrom* functions should be used to change the instruction bundling. This API update is still a work in progress. I am going to update APIs first so they maintain bundle flags automatically when possible. Then I'll add stricter verification of the bundle flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
fad649a5b173f8cfdbbbbde8649ed66afd1129c1 |
|
07-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add higher-level API for dealing with bundled MachineInstrs. This is still a work in progress. The purpose is to make bundling and unbundling operations explicit, and to catch errors where bundles are broken or created inadvertently. The old IsInsideBundle flag is replaced by two MI flags: BundledPred which has the same meaning as IsInsideBundle, and BundledSucc which is set on instructions that are bundled with a successor. Having two flags provdes redundancy to detect when a bundle is inadvertently torn by a splice() or insert(), and it makes it possible to write bundle iterators that don't need to peek at adjacent instructions. The new flags can't be manipulated directly (once setIsInsideBundle is gone). Instead there are MI functions to make and break bundle bonds. The setIsInsideBundle function will be removed in a future commit. It should be replaced by bundleWithPred(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b47a4f7a0a780eb256cf090e01c5a002fff6684e |
|
05-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove unused MachineInstr constructors. A MachineInstr can only ever be constructed by CreateMachineInstr() and CloneMachineInstr(), and those factories don't use the removed constructors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the #include lines for the include/... tree with the script. AKA: Recompile *ALL* the source code! This one went much better. No manual edits here. I spot-checked for silliness and grep-checked for really broken edits and everything seemed good. It all still compiles. Yell if you see something that looks goofy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
daeec8fad3a3038247df1e5081b74454e7ee9315 |
|
30-Oct-2012 |
Chad Rosier <mcrosier@apple.com> |
[inline asm] Get the mayLoad/mayStore directly from the MIOp_ExtraInfo operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3d71688476951d56ac00a81b17c2f83fd781b208 |
|
30-Oct-2012 |
Chad Rosier <mcrosier@apple.com> |
[inline asm] Implement mayLoad and mayStore for inline assembly. In general, the MachineInstr MayLoad/MayLoad flags are based on the tablegen implementation. For inline assembly, however, we need to compute these based on the constraints. Revert r166929 as this is no longer needed, but leave the test case in place. rdar://12033048 and PR13504 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
87802d52e1e873592c6fe39827081b492bd318cc |
|
08-Oct-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove unused MachineInstr constructors that don't take a DebugLoc argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
001d3dc976d7cda8a3dd8c7fd4020b0b96033f4e |
|
17-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c8ecb401caefc5fb97b20041544d8da5d8e2f830 |
|
06-Sep-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
TiedTo is an integer, not a bool. Thanks, Andy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
576cd11ab8035d4240f7e6ea8d7c6c2e45154f86 |
|
05-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Propagate the asm dialect into the MachineInstr representation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
99c416c9f7e8a9d7d1038d03cafebec730280398 |
|
04-Sep-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Actually use the MachineOperand field for isRegTiedToDefOperand(). The MachineOperand::TiedTo field was maintained, but not used. This patch enables it in isRegTiedToDefOperand() and isRegTiedToUseOperand() which are the actual functions use by the register allocator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.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/MachineInstr.h
|
f036f7a1e79910bf5b5b6f37d2e512b4f01155a0 |
|
29-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Rename hasVolatileMemoryRef() to hasOrderedMemoryRef(). Ordered memory operations are more constrained than volatile loads and stores because they must be ordered with respect to all other memory operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
699ac049517285d978ed607b2735976c5ae97ac0 |
|
29-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Maintain a vaild isTied bit as operands are added and removed. The isTied bit is set automatically when a tied use is added and MCInstrDesc indicates a tied operand. The tie is broken when one of the tied operands is removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f2c64ef519b38a4328809b27b4a3a8e0c26e9709 |
|
17-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add an MCID::Select flag and TII hooks for optimizing selects. Select instructions pick one of two virtual registers based on a condition, like x86 cmov. On targets like ARM that support predication, selects can sometimes be eliminated by predicating the instruction defining one of the operands. Teach PeepholeOptimizer to recognize select instructions, and ask the target to optimize them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
3f63a589788995a724bc4587d022fe15ea8576ba |
|
30-Jul-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineInstr::isTransient(). This is a cleaned up version of the isFree() function in MachineTraceMetrics.cpp. Transient instructions are very unlikely to produce any code in the final output. Either because they get eliminated by RegisterCoalescing, or because they are pseudo-instructions like labels and debug values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
85f9cef27e6b2605e67e94afc949f5b5f5b90668 |
|
17-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
MachineInstr: Inline the fast path (non-bundle instruction) of hasProperty. This is particularly helpful as both arguments tend to be constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
861ea230a7841fe4ccc8a1cd5460354e59aeed3c |
|
16-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Limit the number of memory operands in MachineInstr to 2^16 and store the number in padding. Saves one machine word on MachineInstr (88->80 bytes on x86_64, 48->44 on i386). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
741981adf3a2bc0c6652c9c4ec846250950f3e68 |
|
01-Mar-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move getBundleStart() into MachineInstrBundle.h. This allows the function to be inlined, and makes it suitable for use in getInstructionIndex(). Also provide a const version. C++ is great for touch typing practice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cc2037be2cf0159e9f7a917a4db434258fe6eb6b |
|
16-Feb-2012 |
Lang Hames <lhames@gmail.com> |
Make LiveIntervals::handleMove() bundle aware. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1cf8b0f2a5435d8444b6cc7d4a27eef424398273 |
|
15-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Handle regmasks in findRegisterDefOperandIdx(). Only accept register masks when looking for an 'overlapping' def. When Overlap is not set, the function searches for a proper definition of Reg. This means MI->modifiesRegister() considers register masks, but MI->definesRegister() doesn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
99a7a13f4aa5bf8f272c95f7b09ba997d2b30a35 |
|
08-Feb-2012 |
Andrew Trick <atrick@apple.com> |
Added MachineInstr::isBundled() to check if an instruction is part of a bundle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b3aacdd358052ddd8d9fc9ac77f5e17a4048941a |
|
08-Feb-2012 |
Andrew Trick <atrick@apple.com> |
whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
77180e0b402fff318cffd89a2251e46b3dce4064 |
|
03-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Handle register mask operands in setPhysRegsDeadExcept(). Calls that use register mask operands don't have implicit defs for returned values. The register mask operand handles the call clobber, but it always behaves like a set of dead defs. Add live implicit defs for any implicitly defined physregs that are actually used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a37818dbb119bda75273f16b8484732e742cdbb7 |
|
03-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
ArrayRef'ize MI::setPhysRegsDeadExcept(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a21bb20f5943f5f4c66d4727784c26007db2470c |
|
27-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1a96c914315b0286d84c507d696484e2c95875a4 |
|
26-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Clear kill flags before propagating a copy. The live range of the source register may be extended when a redundant copy is eliminated. Make sure any kill flags between the two copies are cleared. This fixes PR11765. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a15c9d84defba6fac942cd8b573dd44e1c0bb989 |
|
25-Jan-2012 |
Evan Cheng <evan.cheng@apple.com> |
Update hasProperty comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ddfd1377d2e4154d44dc3ad217735adc15af2e3f |
|
14-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function to finalize MI bundles (i.e. add BUNDLE instruction and computing register def and use lists of the BUNDLE instruction) and a pass to unpack bundles. - Teach more of MachineBasic and MachineInstr methods to be bundle aware. - Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to prevent IT blocks from being broken apart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
43d5d4ca1c93529c43e78cc5aa03c4ee10a6b0d8 |
|
08-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
Make MachineInstr instruction property queries more flexible. This change all clients to decide whether to look inside bundled instructions and whether the query should return true if any / all bundled instructions have the queried property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd |
|
07-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add bundle aware API for querying instruction properties and switch the code generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7c2a4a30e0e16762c75adacebd05ec9fcbccf16b |
|
06-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
First chunk of MachineInstr bundle support. 1. Added opcode BUNDLE 2. Taught MachineInstr class to deal with bundled MIs 3. Changed MachineBasicBlock iterator to skip over bundled MIs; added an iterator to walk all the MIs 4. Taught MachineBasicBlock methods about bundled MIs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f5916976e9057177100badee7b7388bd7ba76ac3 |
|
13-Oct-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineInstr::getRegClassConstraint(). Most instructions have some requirements for their register operands. Usually, this is expressed as register class constraints in the MCInstrDesc, but for inline assembly the constraints are encoded in the flag words. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9dfaacb696d1ad850f9f5f49a94fdb81cf8ae018 |
|
13-Oct-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Extract a method for finding the inline asm flag operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cc84cda91997bf6fc93512a56c3a12eecaaa2d88 |
|
29-Sep-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove NumImplicitOps which is now unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d519de082766bb71e13f6a516b305ff841c6b48c |
|
02-Jul-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Include a source location when complaining about bad inline assembly. Add a MI->emitError() method that the backend can use to report errors related to inline assembly. Call it from X86FloatingPoint.cpp when the constraints are wrong. This enables proper clang diagnostics from the backend: $ clang -c pr30848.c pr30848.c:5:12: error: Inline asm output regs must be last on the x87 stack __asm__ ("" : "=u" (d)); /* { dg-error "output regs" } */ ^ 1 error generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cfe5254cd34d9414d9f6b8aa02dc1239d71a703f |
|
30-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Create a isFullCopy predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e837dead3c8dc3445ef6a0e2322179c57e264a13 |
|
28-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cbc988be22bc9411d95215c8b7251b5f85710674 |
|
12-May-2011 |
Evan Cheng <evan.cheng@apple.com> |
Re-commit 131172 with fix. MachineInstr identity checks should check dead markers. In some cases a register def is dead on one path, but not on another. This is passing Clang self-hosting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2a09f878ef64f216268df3dbe2f51b949f18c145 |
|
11-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
108e4dbecb690056e678da2f15c56ef7220f9ec9 |
|
11-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6dd97471c43805b3febf598d50498a09a02e93f4 |
|
05-Mar-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add FrameSetup MI flags git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6647b59c9263eb1decd7f7ff353c0c99ec09ae6c |
|
05-Mar-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Shorten AsmPrinterFlags filed to accomodate for future Flags field git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c36b7069b42bece963b7e6adf020353ce990ef76 |
|
08-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Do not model all INLINEASM instructions as having unmodelled side effects. Instead encode llvm IR level property "HasSideEffects" in an operand (shared with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check the operand when the instruction is an INLINEASM. This allows memory instructions to be moved around INLINEASM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cbd323ad5259dc2bd3428a4ac26718b10adcd3cf |
|
21-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
add some helper methods for asmprinter flags, from PR8417 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ccb5c677c66aea0a86878de69d5346ef802a6505 |
|
12-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
add operand iterator apis to MachineInstr, patch by ether zhhb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b179b46cc558c720d23a066c768bad71f975eb93 |
|
22-Oct-2010 |
Evan Cheng <evan.cheng@apple.com> |
Transfer implicit ops when forming load multiple and return instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7431beaba2a01c3fe299c861b2ec85cbf1dc81c4 |
|
17-Jul-2010 |
Bill Wendling <isanbard@gmail.com> |
Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and thus is a much more meaningful name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
0bc25f40402f48ba42fc45403f635b20d90fabb3 |
|
08-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Convert EXTRACT_SUBREG to COPY when emitting machine instrs. EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
273f7e42994a5bce0614d04d96dbfdf05fd652e5 |
|
03-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Detect and handle COPY in many places. This code is transitional, it will soon be possible to eliminate isExtractSubreg, isInsertSubreg, and isMoveInstr in most places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a4e1ba53ddedd08669886b2849926bb33facc198 |
|
03-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a new target independent COPY instruction and code to lower it. The COPY instruction is intended to replace the target specific copy instructions for virtual registers as well as the EXTRACT_SUBREG and INSERT_SUBREG instructions in MachineFunctions. It won't we used in a selection DAG. COPY is lowered to native register copies by LowerSubregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
db4971259ce94cea26e555e9ade82672a3581f5c |
|
19-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Teach regular and fast isel to set dead flags on unused implicit defs on calls and similar instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9edf7deb37f0f97664f279040fa15d89f32e23d9 |
|
03-Jun-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Slightly change the meaning of the reMaterialize target hook when the original instruction defines subregisters. Any existing subreg indices on the original instruction are preserved or composed with the new subreg index. Also substitute multiple operands mentioning the original register by using the new MachineInstr::substituteRegister() function. This is necessary because there will soon be <imp-def> operands added to non read-modify-write partial definitions. This instruction: %reg1234:foo = FLAP %reg1234<imp-def> will reMaterialize(%reg3333, bar) like this: %reg3333:bar-foo = FLAP %reg333:bar<imp-def> Finally, replace the TargetRegisterInfo pointer argument with a reference to indicate that it cannot be NULL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1015ba7018c87f48cc7bb45a564eb4a27241e76a |
|
21-May-2010 |
Evan Cheng <evan.cheng@apple.com> |
- Change MachineInstr::findRegisterDefOperandIdx so it can also look for defs that are aliases of the specified register. - Rename modifiesRegister to definesRegister since it's looking a def of the specific register or one of its super-registers. It's not looking for def of a sub-register or alias that could change the specified register. - Added modifiesRegister to look for defs of aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
18b2c9d3bf5a6633535eaad8388f0353b14cbfb8 |
|
21-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineInstr::readsWritesVirtualRegister() to determine if an instruction reads or writes a register. This takes partial redefines and undef uses into account. Don't actually use it yet. That caused miscompiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
19f5f71bba08e690611fa213647ac6bae814756b |
|
21-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Revert "Use MachineInstr::readsWritesVirtualRegister to determine if a register is read." This reverts r104322. I think it was causing miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
00c53caa339f954cb3590a05e8653b864b4355cf |
|
21-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use MachineInstr::readsWritesVirtualRegister to determine if a register is read. This correctly handles partial redefines and undef uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
63e6a488cb6c29983415221719d05fbf99e00193 |
|
21-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
If the first definition of a virtual register is a partial redef, add an <imp-def> operand for the full register. This ensures that the full physical register is marked live after register allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7ebc4d63db05ac214d36bc01b4d60adadaf923e5 |
|
19-May-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineInstr::readsVirtualRegister() in preparation for proper handling of partial redefines. We are going to treat a partial redefine of a virtual register as a read-modify-write: %reg1024:6 = OP Unless the register is fully clobbered: %reg1024:6 = OP, %reg1024<imp-def> MachineInstr::readsVirtualRegister() knows the difference. The first case is a read, the second isn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e6cd757e6800b9b94a6459ec148c0624c4f2e3c1 |
|
13-May-2010 |
Dan Gohman <gohman@apple.com> |
Teach MachineLICM and MachineSink how to clear kill flags conservatively when they move instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3d720fbc6ad40bc9287a420f824d244965d24631 |
|
05-May-2010 |
Evan Cheng <evan.cheng@apple.com> |
Move REG_SEQUENCE removal to 2addr pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
666f8cb9b7486a45f59fd9ba3202e4b67dbad58c |
|
09-Apr-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix up header comments to match the comment fixups I made in r100849. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a57fabe815ccf016eead526eb3ef475f116ab155 |
|
08-Apr-2010 |
Evan Cheng <evan.cheng@apple.com> |
Coalescer should not delete copy instructions whose defs are partially dead. e.g. %RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
84e679beea11ac55ed7871eec4deaccdf393de3e |
|
02-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
rename NewDebugLoc -> DebugLoc, prune #includes in DebugLoc.h. This keeps around temporary typedef for clang/llvm-gcc so the build won't break when I commit this :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
67eaa08f2b71aa8aec8cdf4c7d970db4cad58ada |
|
04-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Move MachineInstrExpressionTrait::getHashValue() out of line so it can skip over only virtual register defs. This matches what isEqual() is doing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
05bdcbb1ae48d1d1209173d137d11c35f46abff3 |
|
04-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Re-apply r97667 but with a little bit of thought put into the patch. This implements a special DenseMapInfo trait for DenseMap<MachineInstr*> that compare the value of the MachineInstr rather than the pointer value. Since the hashing and equality test functions ignore defs it's useful for doing CSE kind optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
319dfa3fb38a0769806b155dbe8fc0af7f8bdb1e |
|
03-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Revert 97667. It broke a bunch of tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a054ae02fda1886f36b4b51cba8ac8000ed8be8a |
|
03-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Move DenseMapInfo for MachineInstr* to MachineInstr.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
506049f29f4f202a8e45feb916cc0264440a7f6d |
|
03-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
- Change MachineInstr::isIdenticalTo to take a new option that determines whether it should skip checking defs or at least virtual register defs. This subsumes part of the TargetInstrInfo::isIdentical functionality. - Eliminate TargetInstrInfo::isIdentical and replace it with produceSameValue. In the default case, produceSameValue just checks whether two machine instructions are identical (except for virtual register defs). But targets may override it to check for unusual cases (e.g. ARM pic loads from constant pools). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ac1abde05b7e6956c01deb6557539bee8fea30f4 |
|
02-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Swap parameters of isSafeToMove and isSafeToReMat for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f451cb870efcf9e0302d25ed05f4cac6bb494e42 |
|
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
45282aedb9c5a33d20565502c6c8fc871fa84cbe |
|
10-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a655f088b88cf015fc48721fd9869787d1b8ce13 |
|
10-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
Stop MachineInstr.h from #including AsmPrinter.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
518bb53485df640d7b7e3f6b0544099020c42aa7 |
|
09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8efadf94b568c08de3ff8ce35fd904a935387406 |
|
06-Jan-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add <imp-def> and <imp-kill> operands when replacing virtual sub-register defs and kills. An instruction like this: %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0 Must be replaced with this when substituting physical registers: %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
229694f0ee630ceabe96a8bd48952f6740f928b2 |
|
03-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fill out codegen SSA updater. It's not yet tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1251443929a256c833717e1030c368d3b6e4cb7c |
|
12-Nov-2009 |
David Greene <greened@obbligato.org> |
Add AsmPrinter comment flags to machine instructions so that AsmPrinter can emit extra information in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a70dca156fa76d452f54829b5c5f962ddfd94ef2 |
|
10-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Factor out LiveIntervalAnalysis' code to determine whether an instruction is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e33f44cfc547359bc28526e4c5e1852b600b4448 |
|
07-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Replace TargetInstrInfo::isInvariantLoad and its target-specific implementations with a new MachineInstr::isInvariantLoad, which uses MachineMemOperands and is target-independent. This brings MachineLICM and other functionality to targets which previously lacked an isInvariantLoad implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
10f9101c4c0df0837414976ad0ef0e86d6771059 |
|
17-Sep-2009 |
Jim Grosbach <grosbach@apple.com> |
grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
d5fb7906130989a579d1bfe4490b414331e94fee |
|
20-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
stub out some hacky code for wiring up the new asmprinter interfaces on X86. Not useful yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1e86a66b00b94adc4ad6977ef6b47c516ac62cec |
|
20-Jun-2009 |
Devang Patel <dpatel@apple.com> |
mv CodeGen/DebugLoc.h Support/DebugLoc.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ce9be2cf5dc84865f6b819bd3f9be16944426268 |
|
29-Apr-2009 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d9df5017040489303acb57bdd8697ef0f8bafc08 |
|
09-Apr-2009 |
Bob Wilson <bob.wilson@apple.com> |
Fix pr3954. The register scavenger asserts for inline assembly with register destinations that are tied to source operands. The TargetInstrDescr::findTiedToSrcOperand method silently fails for inline assembly. The existing MachineInstr::isRegReDefinedByTwoAddr was very close to doing what is needed, so this revision makes a few changes to that method and also renames it to isRegTiedToUseOperand (for consistency with the very similar isRegTiedToDefOperand and because it handles both two-address instructions and inline assembly with tied registers). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a24752ff43dc1ad8c18c5d9e78549c45f62b980e |
|
19-Mar-2009 |
Evan Cheng <evan.cheng@apple.com> |
Added MachineInstr::isRegTiedToDefOperand to check for two-addressness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
abab81f42029c5848a6b66ed8594713ac5e3d5f4 |
|
06-Mar-2009 |
Gabor Greif <ggreif@gmail.com> |
do not close friendship with every odd class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ab160cf371d6148d49b5401a903dd4ce381b2f8c |
|
28-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Embalm my ideas of how things should work. Not that anyone will pay attention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
06efc02854a96a9f92edc3bf46b0451f488cf2e6 |
|
28-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Add a DebugLoc field and some simple accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
631bd3cdf39eb099d5d5d279b17b08f119956538 |
|
20-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Spacing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2ce7f2068f13566f5a70ee779e3bb83a6cb8d942 |
|
05-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Drop the reg argument to isRegReDefinedByTwoAddr, which was redundant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b3b930a011554fc7566dd4311af3862b01e5fd8f |
|
18-Nov-2008 |
Dan Gohman <gohman@apple.com> |
Make some methods const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3e4fb70c6af53a2d00e057a7e4a8f93eb2ff2112 |
|
24-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Add a method to MachineInstr for testing whether it makes any volatile memory references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
df3b99381f1c211071cc1daf0cc297666877bbcb |
|
27-Aug-2008 |
Evan Cheng <evan.cheng@apple.com> |
Refactor isSafeToReMat out of 2addr pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
79e6ed9d4733ef6bfaf6e6ae71a013c8b226b7c9 |
|
15-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Move MachineInstr::getOpcode inline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
fed90b6d097d50881afb45e4d79f430db66dd741 |
|
28-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Fold the useful features of alist and alist_node into ilist, and a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cddc11e7570893233af8e84dfb8e7f0f9ab0090d |
|
12-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Add a utility function to MachineInstr for testing whether an instruction has exactly one MachineMemOperand, and change some X86 lowering code to make use of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ef0732d25a9882c947984ae3f2afbef5463ba00f |
|
10-Jul-2008 |
Evan Cheng <evan.cheng@apple.com> |
- Change the horrible N^2 isRegReDefinedByTwoAddr. Now callers must supply the operand index of def machineoperand and at most one full scan of non-implicit operands is needed. - Change local register allocator to use the new isRegReDefinedByTwoAddr instead of reinventing the wheel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8e5f2c6f65841542e2a7092553fe42a00048e4c7 |
|
08-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Pool-allocation for MachineInstrs, MachineBasicBlocks, and MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9f1c8317a4676945b4961ddb9827ef2412551620 |
|
03-Jul-2008 |
Evan Cheng <evan.cheng@apple.com> |
- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. - Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4406604047423576e36657c7ede266ca42e79642 |
|
01-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating the need for a flavor operand, and add a new SDNode subclass, LabelSDNode, for use with them to eliminate the need for a label id operand. Change instruction selection to let these label nodes through unmodified instead of creating copies of them. Teach the MachineInstr emitter how to emit a MachineInstr directly from an ISD label node. This avoids the need for allocating SDNodes for the label id and flavor value, as well as SDNodes for each of the post-isel label, label id, and label flavor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
703bfe69092e8da79fbef2fc5ca07b805ad9f753 |
|
06-May-2008 |
Dan Gohman <gohman@apple.com> |
Fix a broken doxygen comment, and reword it for clarity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 |
|
05-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix more -Wshorten-64-to-32 warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
9180c8e3cfd12abd21242768db05072a209ca6e7 |
|
29-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Cosmetic change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b27087f5aa574f875598f4a309b7dd687c64a455 |
|
13-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Refactor some code out of MachineSink into a MachineInstr query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6130f66eaae89f8878590796977678afa8448926 |
|
05-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Refactor code. Remove duplicated functions that basically do the same thing as findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6f0d024a534af18d9e60b3ea757376cd8a3a980e |
|
10-Feb-2008 |
Dan Gohman <gohman@apple.com> |
Rename MRegisterInfo to TargetRegisterInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
69de1932b350d7cdfc0ed1f4198d6f78c7822a02 |
|
06-Feb-2008 |
Dan Gohman <gohman@apple.com> |
Re-apply the memory operand changes, with a fix for the static initializer problem, a minor tweak to the way the DAGISelEmitter finds load/store nodes, and a renaming of the new PseudoSourceValue objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
334dc1f58d617dcff969a2e107febaae42bbc883 |
|
31-Jan-2008 |
Evan Cheng <evan.cheng@apple.com> |
Revert 46556 and 46585. Dan please fix the PseudoSourceValue problem and re-commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
bb81d97feb396a8bb21d074db1c57e9f66525f40 |
|
31-Jan-2008 |
Evan Cheng <evan.cheng@apple.com> |
Add an extra operand to LABEL nodes which distinguishes between debug, EH, or misc labels. This fixes the EH breakage. However I am not convinced this is *the* solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c6c391daddbafa722d9ca87d18f204e9a6e617a3 |
|
31-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Create a new class, MemOperand, for describing memory references in the backend. Introduce a new SDNode type, MemOperandSDNode, for holding a MemOperand in the SelectionDAG IR, and add a MemOperand list to MachineInstr, and code to manage them. Remove the offset field from SrcValueSDNode; uses of SrcValueSDNode that were using it are all all using MemOperandSDNode now. Also, begin updating some getLoad and getStore calls to use the PseudoSourceValue objects. Most of this was written by Florian Brander, some reorganization and updating to TOT by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b487e7215c4f70f3d98f8fbc0a11eb119afc1f37 |
|
24-Jan-2008 |
Owen Anderson <resistor@mac.com> |
Move some functionality for adding flags to MachineInstr's into methods on MachineInstr rather than LiveVariables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
5080f4d9919d39b367891dc51e739c571a66036c |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
rename MachineInstr::setInstrDescriptor -> setDesc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
749c6f6b5ed301c84aac562e414486549d7b98eb |
|
07-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
rename TargetInstrDescriptor -> TargetInstrDesc. Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
69244300b8a0112efb44b6273ecea4ca6264b8cf |
|
07-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.h
|
f20c1a497fe3922ac718429d65a5fe396890575e |
|
31-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
properly encapsulate the parent field of MBB and MI with get/set accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.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/MachineInstr.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/MachineInstr.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/MachineInstr.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/MachineInstr.h
|
ece6737f1510080ff655798cf2256d856ea84797 |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
remove unneeded #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b4e48cb096d6fd0761c95cba013cc230ee62fdeb |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of now-dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c672a1fb048fafc1fbaa9a900fb56bec3cadc8cc |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
make offset operand optional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
39697a83b5ebb857263fc8b9a83ea1834e9d7fe4 |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Shrinkify the machine operand creation method names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e86d0d089e787ca5369f7ae013caa976cb1c193e |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
1. Make a static MachineOperand::create* method for every operand type. 2. Move these create methods below the accessors. 3. Simplify all the MachineInstr::add* methods to use these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a4161ee99478e7f8f9e33481e1c0dc79f0b4bd7d |
|
30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
simplify some code by factoring operand construction better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7ed47a13356daed2a34cd2209a31f92552e3bdd8 |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
38b0be01ded327a50ac600dd7710016b2326d841 |
|
17-Nov-2007 |
Evan Cheng <evan.cheng@apple.com> |
Shrinkfy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c498b0281fa81bc213ad1a1228664d480936c0e6 |
|
14-Nov-2007 |
Evan Cheng <evan.cheng@apple.com> |
Clean up sub-register implementation by moving subReg information back to MachineOperand auxInfo. Previous clunky implementation uses an external map to track sub-register uses. That works because register allocator uses a new virtual register for each spilled use. With interval splitting (coming soon), we may have multiple uses of the same register some of which are of using different sub-registers from others. It's too fragile to constantly update the information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
fa9457276a2174aaf302240dd32d89900ad021ae |
|
13-Oct-2007 |
Evan Cheng <evan.cheng@apple.com> |
Optionally create a MachineInstr without default implicit operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
32dfbeada7292167bb488f36a71a5a6a519ddaff |
|
12-Oct-2007 |
Evan Cheng <evan.cheng@apple.com> |
EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like (almost) a register copy. However, it always coalesced to the register of the RHS (the super-register). All uses of the result of a EXTRACT_SUBREG are sub- register uses which adds subtle complications to load folding, spiller rewrite, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
92dfe2001e96f6e2b6d327e8816f38033f88b295 |
|
14-Sep-2007 |
Dan Gohman <gohman@apple.com> |
Remove isReg, isImm, and isMBB, and change all their users to use isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cb648f90a26eb05ae8d508d500ca12881df50824 |
|
14-Sep-2007 |
Dan Gohman <gohman@apple.com> |
Remove spurious consts. This fixes warnings with compilers that are strict about such things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
42a0f9a4fb74bf11fdc36a73772b7c9b744cc867 |
|
30-Aug-2007 |
Evan Cheng <evan.cheng@apple.com> |
Added CreateFrameIndex to create a FrameIndex MachineOperand without a MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6f95014158208ad6cd6f6d1996c821fca61d7915 |
|
26-Jul-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Remove subreg index from MachineInstr's and also keep vregs as unsigned when adding operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ec82dc9a7c7172c6905d242523d13079a3e94427 |
|
18-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Add keyword explicit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2d7a47a5dbc04f2dc3857d723ae1983606bf8a69 |
|
15-Jun-2007 |
Evan Cheng <evan.cheng@apple.com> |
No longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f277ee4be7edabb759a7f78138b693d72d0c263f |
|
29-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
Add missing const qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1bccb49082a8049d296dcdb2a741929437b6176f |
|
16-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
Rename M_PREDICATED to M_PREDICABLE; Move TargetInstrInfo::isPredicatable() to MachineInstr::isPredicable(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
19e3f31f6acd9f5ce3cdd8372d4cb598ed921f95 |
|
15-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
Added getNumExplicitOperands and findFirstPredOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7bf1c272ab27297a7bbab329de3f17ddb26e02a3 |
|
01-May-2007 |
Nate Begeman <natebegeman@mac.com> |
llvm bug #1350, parts 1, 2, and 3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
faa510726f4b40aa4495e60e4d341c6467e3fb01 |
|
26-Apr-2007 |
Evan Cheng <evan.cheng@apple.com> |
Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cdee1c4272d4c87292116fe3edf1bc85f50d6040 |
|
25-Apr-2007 |
Evan Cheng <evan.cheng@apple.com> |
Minor speed tweak. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
32eb1f1ca4220d2f24916e587ad7e8574d7d82a1 |
|
27-Mar-2007 |
Evan Cheng <evan.cheng@apple.com> |
Change findRegisterUseOperand() to return operand index instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
659ba970e3d64465cfa1abc4d7d3f9595b5b0878 |
|
27-Feb-2007 |
Evan Cheng <evan.cheng@apple.com> |
Pass IsImp, IsKill, and IsDead to ChangeToRegister. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
76d7e76c15c258ec4a71fd75a2a32bca3a5e5e27 |
|
23-Feb-2007 |
Evan Cheng <evan.cheng@apple.com> |
Use findRegisterUseOperand to find a kill of particular register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b371f457b0ea4a652a9f526ba4375c80ae542252 |
|
19-Feb-2007 |
Evan Cheng <evan.cheng@apple.com> |
Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a284cbf667e11660840dc7bae3ee9eeaa3c7cbd2 |
|
19-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1207: Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
094e3e553f57b877153828e420cd2dacfb2b364c |
|
17-Feb-2007 |
Evan Cheng <evan.cheng@apple.com> |
Added findRegisterDefOperand(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
5c7e326585f3a543388ba871c3425f7664cd9143 |
|
17-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Added an automatic cast to "std::ostream*" etc. from OStream. We then can rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4b607748d86b44cc59e5cf3eee194dfd9b0fcd86 |
|
16-Dec-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
The best unbreakage yet, addressing Bill's concerns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c21c5eeb4f56f160e79522df2d3aab5cfe73c05d |
|
15-Dec-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
An even better unbreakage... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d5c0f439924ec6c839c3c6ba16122e460a296336 |
|
15-Dec-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Complete unbreak of VC++ (Chris identified the simple fix). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e81561909d128c6e2d8033cb5465a49b2596b26a |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
576d123e130a8291669dd2384a3735cc4933fd00 |
|
06-Dec-2006 |
Evan Cheng <evan.cheng@apple.com> |
Move copyKillDeadInfo out-of-line. Add findRegisterUseOperand(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
67f660cb080965ea93ed6d7265a67100f2fe38e4 |
|
30-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
- MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode. - Remove the ugly TargetInstrDescriptors hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b5ebf15b2b2ce8989caf1a1114b05d80b0f9bd48 |
|
28-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Added a temporary hack to get the llvm-streams to work for future checkins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c0f64ffab93d11fb27a3b8a0707b77400918a20e |
|
28-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead of opcode and number of operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a138c6c73a9e594d82958af6b9ee01108e05e7ac |
|
20-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
setOperand should not zap the operand list or add implicit operands to an instruction. Doing so breaks the FP stackifier, the alpha branch selector the sparc fpmover. This fixes PR1012 and CodeGen/X86/fp-stack-compare.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1ccc4684f3413d1f176a2c7a867545ce03b6414c |
|
18-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
Implement operator<< for machine basic blocks to make it easier to dump them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
dbf58837c4f18f54b2871b1cdcbbbc7d631a1c0c |
|
16-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
ChangeToRegister should clear IsImp bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9a00279988612d0f960fb8d43e4ccfcab89e0e14 |
|
15-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Add copyKillDeadInfo to copy kill / dead info; other minor updates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d7de496b23fca8145f777a56281457bf64e8bbad |
|
14-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
- Let MachineInstr ctors add implicit def and use operands. Other operands will be inserted before these operands. If the opcode changes (by setOpcode), the implicit operands are updated as well. - Added IsKill, IsDead fields to MachineOperand in preparation for changes that move kill / dead info to MachineInstr's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3ba433a7e85c4f5b943ae6585a0327f4ccd461a0 |
|
11-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Add methods to add implicit def use operands to a MI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8097ef3d7b8d429b04e23552d8ab8d0855c41563 |
|
10-Nov-2006 |
Jim Laskey <jlaskey@mac.com> |
Shut up the warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e7680cef84c42bc2ee68904bc2bd0b30a312da08 |
|
10-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Add implicit def / use operands to MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4976dfb4b9d6dd3c138736e93b17e31e0f8e9be6 |
|
28-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
add a method for hacking on JTIdx's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
846c1b49365be588b5aaddd02916e46c2422ae6f |
|
21-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
fcfcb6cb502fd4562b57425a5802dc52f358c451 |
|
21-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
add isIdenticalTo method to machineinstr/operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
986cc38613e7859ab6c9ab8aa9fc2e686f8c2ab4 |
|
20-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
add method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b6bb7e1ffe7a1324e70ec410b3a06f008f37b072 |
|
06-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
add an accessor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f89e2a941616681c93d4c52da05870f18660cada |
|
05-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
IsDef can only be accessed / set if operand is a register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
04957ac67c32538c6a1a9b4eddad65b4ad734b66 |
|
05-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
Initialize IsDef of all non-register MachineOperand to false. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
09e460662a8d7328da1b938d5581a6ef3740b51d |
|
05-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Completely eliminate def&use operands. Now a register operand is EITHER a def operand or a use operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
171ce440aa1eca773a4025362efb2b498c562d71 |
|
05-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
ADd getImm/setImm methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
930ab738c7d323cf9552bba2652af6aa361e9967 |
|
05-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Add some short-hand accessors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d74ea2bbd8bb630331f35ead42d385249bd42af8 |
|
24-May-2006 |
Chris Lattner <sabre@nondot.org> |
Patches to make the LLVM sources more -pedantic clean. Patch provided by Anton Korobeynikov! This is a step towards closing PR786. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6e994b74921d8519472a087246d7a56731e958d4 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Final pass of minor cleanups for MachineInstr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
943b5e117fe9a087f9aa529a2632c2d32cc22374 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Remove redundancy and a level of indirection when creating machine operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
02597f3b8826e9760cee11ea07b4cfc5f260f736 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Move register numbers out of "extra" into "contents". Other minor cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8b915b4ed2c6e43413937ac71c0cbcf476ad1a98 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Remove and simplify some more machineinstr/machineoperand stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2d90ac7ca6117d3b160dde8a4f322c1079a6ffce |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
68ab4c6367f34e6320c5f0ce22b85f800bdcfd81 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
remove hasAllocatedReg git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e53f4a055f74bded20d6129b4724ddd17fd199f6 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Move some methods out of MachineInstr into MachineOperand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
63b3d7113d93fda622c4954c6b1d046ce029044e |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
There shalt be only one "immediate" operand type! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ceb408f6a263e319683209ae5c6f8d1e3e4d9b69 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Change "value" in MachineOperand to be a GlobalValue, as that is the only thing that can be in it. Remove a dead method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4efeab208cf0fe7ae2f68bcdd1264a8fdb18826c |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Remove a bunch more dead V9 specific stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ea50fabfd4e5fad25a25b312f64a9b2a53363586 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Remove a bunch more SparcV9 specific stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
34fb2cad46adb39f3c2cc705fbbf439a383d0f65 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Remove some more V9-specific stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
10f3597c4e0c13ecf0272b7ca0be741a91ade48c |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Remove some more unused stuff from MachineInstr that was leftover from V9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
37efe6764568a3829fee26aba532283131d1a104 |
|
22-Apr-2006 |
Nate Begeman <natebegeman@mac.com> |
JumpTable support! What this represents is working asm and jit support for x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
05b9773300ca01e7d42fdd882ee0a4981e72d986 |
|
20-Apr-2006 |
Chris Lattner <sabre@nondot.org> |
Remove some of the obvious v9-specific cruft git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6b560918426182d2b46b899d609911d49f6739f7 |
|
17-Apr-2006 |
Chris Lattner <sabre@nondot.org> |
Add some convenience methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
404cb4f9fa2df50eac4d84b8a77c84a92188c6d5 |
|
25-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
Added an offset field to ConstantPoolSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
410354fe0c052141dadeca939395743f8dd58e38 |
|
22-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. Patch by Martin Partel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e84d2066ce4a0d3e753e3171333a69f4081dcd56 |
|
01-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
Mark these as V9 specific git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
00876a2808f1a8061f7e0852c7949fc5074ecb04 |
|
22-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Convert tabs to spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ea61c358720aa6c7a159d51658b34276316aa841 |
|
21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3bdfdfd10f73dcf17aa3381679e9be3e08a16d78 |
|
11-Apr-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Eliminate major source of VC++ "possible loss of data" warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9696a90ee66e1c6c818c8de3d9ffc32732d9d82f |
|
10-Apr-2005 |
Duraid Madina <duraid@octopus.com.au> |
* store immediate values as int64_t, not int. come on, we should be happy when there are immediates, let's not worry about the memory overhead of this :) * add addU64Imm(uint64_t val) to machineinstrbuilder (seriously: this seems required to support 64-bit immediates cleanly. if it _really_ gets on your nerves, feel free to pull it out ;) ) coming up next week: "all your floating point constants are belong to us" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7b55d4fce2c2b8eebbb1fc654400c7d46fd6bfba |
|
19-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Instead of storing std::string's for ExternalSymbol references, rely on the fact that all ExternalSymbols are actually string literals with static storage. Thus we don't have to do anything special to hold them and we certainly don't have to copy string data around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1fca5ff62bb2ecb5bfc8974f4dbfc56e9d3ca721 |
|
27-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Convert 'struct' to 'class' in various places to adhere to the coding standards and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4caf5d563d0e5e6a2ed56bb537cb911d99beaa4c |
|
18-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Fix miscompilations in the SparcV9 backend that were induced by this patch: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019311.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ca4f6ebefc4dc55d13a0182a0be5b02e92fc63ea |
|
15-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Allow machine operands to represent global variables with offsets. This is useful when you have a reference like: int A[100]; void foo() { A[10] = 1; } In this case, &A[10] is a single constant and should be treated as such. Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no other operand type is. This is another fine patch contributed by Jeff Cohen!! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
551ccae044b0ff658fe629dd67edd5ffe75d10e8 |
|
02-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
dc4a4922d32b470acd68498d41e3b8130cf1e74e |
|
31-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Add some machine CFG related stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c49c872a1ac4ccd13ebabd161597aef6de909077 |
|
19-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Fix comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
81e26ce1dad4f9093ee60aaa09cee839d02d9a91 |
|
19-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Delete 4 methods, make clients use hte mark* methods directly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b140762a45d21aaed054f15adaff0fc2274d939d |
|
25-Jun-2004 |
Tanya Lattner <tonic@nondot.org> |
Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
0c63e03e04d3982e1913479bba404c3debc9a27e |
|
24-May-2004 |
Tanya Lattner <tonic@nondot.org> |
Changed clone to be const. Changed copy constructor to set parent, prev, and next pointers to null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b5159ed0cb7943e5938782f7693beb18342165ce |
|
23-May-2004 |
Tanya Lattner <tonic@nondot.org> |
Fixed up my changes to add support for cloning Machine Instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
466b534a570f574ed485d875bbca8454f68dcb52 |
|
23-May-2004 |
Tanya Lattner <tonic@nondot.org> |
Adding support to clone MachineInstr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
5a509c8225063478ee04671570f6975ce29f401d |
|
16-Apr-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Include <string> for compatibility with gcc 3.0.x (the system compiler on Debian.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9cccb8aec7b3ebfa5555322a094fdf6c334512a6 |
|
04-Mar-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fix bug introduced by yesterday's changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c54839573cd9ffa6af33dc5190cc40d498534585 |
|
03-Mar-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Make MachineOperand's value named 'contents'. Make really, really sure it is always completely initialized and copied. Also, fix up many comments and asserts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7598a1a9a8ad9b974e428e24606c108aa3ba1431 |
|
29-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Remove unneeded #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6a8a9b4413cd595c8322e7ebb7d42cbb04ca6933 |
|
29-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Continue Alkis's int64_t cleanup. This makes all of the immediate related methods take an int or unsigned value instead of int64_t. Also, add an 'addImm' method to the MachineInstrBuilder class, because the fact that the hardware sign or zero extends it does not/should not matter to the code generator. Once the old sparc backend is removed the difference can be eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
bd16ef84bfecc4b057ab3292b83f830e78760515 |
|
27-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Make MachineOperand's immediate value an int and save 4 bytes out of each MachineOperand. We don't really need an int64_t immediate :-). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
890f92328d5478e050d2eba8f4de24737a04a812 |
|
22-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Move MOTy::UseType enum into MachineOperand. This eliminates the switch statements in the constructors and simplifies the implementation of the getUseType() member function. You will have to specify defs using MachineOperand::Def instead of MOTy::Def though (similarly for Use and UseAndDef). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e33da36cbd138b2921057da966275a76c8792235 |
|
22-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fix silly bug in implementation of getUseType(). Thanks Misha. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f216421181393fd3993b47960de44ad448710fb9 |
|
22-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
When folding memory operands in machine instructions be careful to leave register operands with the same use/def flags as the original instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
aad5c0505183a5b7913f1a443a1f0650122551cc |
|
16-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Add LeakDetection to MachineInstr. Move out of line member functions of MachineBasicBlock to MachineBasicBlock.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
be766c72464116a445a02b542a450c4274bab5d0 |
|
13-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Remove getAllocatedRegNum(). Use getReg() instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
94dc07728f091c652f0a8059aba6dce5018485ee |
|
12-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Move ilist_trairs<MachineInstr> in MachineBasicBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ab8672c8bb83e722b856eac67863542ea7e0cbb2 |
|
12-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Add parent pointer to MachineInstr that points to owning MachineBasicBlock. Also change opcode to a short and numImplicitRefs to an unsigned char so that overall MachineInstr's size stays the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2a90ba60175f93e7438165d8423100aa573c16c5 |
|
12-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Rename the opCode instance variable to Opcode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9fc77d1358b4d5c2d71ce7b94bafacbbb35956c6 |
|
12-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Remove a dead field from MachineInstr! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
0eda78a3729a917592a89ede933d7b7df82e0dc3 |
|
12-Feb-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add one more doxygen comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
56aa531f93d7674c534c145180e3902e40602b57 |
|
12-Feb-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Express one of MachineOperand's many constructors in terms of another, by means of default arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2d58f0691ec71f5c38b93c969c4bfdcd536491a8 |
|
12-Feb-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Remove these MachineOpCodeFlags and their accessor - they are never set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c0b9dc5be79f009d260edb5cd5e1d8346587aaa2 |
|
12-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Change MachineBasicBlock's vector of MachineInstr pointers into an ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cd0b3a90aa34bd42d75d8d86f74ca4972145781d |
|
12-Feb-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Remove getOpCode(). Help doxygenify some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d6b5e5f637c87c156a5464cf23ecc7419ae7254f |
|
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Urg, the X86 backend DOES use virtual register operands. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
376ad9fa9f66facc7100186f0a1f56c1be858ff5 |
|
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Remove and simplify some of the bewildering collection of isFOORegister methods which have strangely different semantics in different backends, and noone knew what any did. Getting rid of these ALSO allows the dependence of MachineInstr.h on MRegisterInfo.h to be removed, which makes me much happier, and probably alkis too. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9f42dd5472097c8657eaea829ebd384256d0f669 |
|
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminate MachineOperand::isPhysicalRegister. The X86 backend should use MRegisterInfo::isPhysicalRegister(MO.getReg()) and the Sparc backend should use isMachineRegister() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b2e5db94cfb36da77264d9b063e674e907d8458d |
|
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Simplify condition, this does not change the predicate at all though git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
14be64018fb38d1fa535b9cd12d11371f4eba3b5 |
|
04-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Modify the two address instruction pass to remove the duplicate operand of the instruction and thus simplify the register allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4e7854407ced8e2160592675918312a20cfb7cde |
|
03-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
When an instruction like: A += B had both A and B virtual registers spilled, A was loaded from its stack location twice. This fixes the bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9fe7602862328c0081106709e0a8f03316dc845b |
|
03-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Revert changes. Will implement this using a different set of primitives git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
782ce955b2553305d9958a17d6482fe87243303d |
|
02-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Add MachineOperand::setDef() and MachineOperand::setUse() so that the TwoAddressInstructionPass can correctly update use/def information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
721b4e5715d97dedce0a4f0206c7d8c0b5af9ca3 |
|
14-Dec-2003 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
I wonder how this didn't cause any tests to fail... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4d7af65903cbc858464362e70a6adf499982ec8a |
|
14-Dec-2003 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Change interface of MachineOperand as follows: a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
786a518f47fca5521d036031f78e3f2470a7a49a |
|
01-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Add some "useful" methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d0fde30ce850b78371fd1386338350591f9ff494 |
|
11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM copyright header (for lack of a better term). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
48486893f46d2e12e926682a3ecb908716bc66c4 |
|
30-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Standardize header file comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ef6a6a69ff1e1b709d0acb315b9f6c926c67a778 |
|
22-Aug-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
The word `dependent' has no `a'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
5e8b77e37556ee6ae2cdc49405b074b82b2a1c74 |
|
06-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Completely eliminate the per-machine-instruction regsUsed set. This substantially shrinks the size of each machine instruction, which should make allocation faster and the cache footprint of the machine code lighter. Here are some timings for code generation of the larger benchmarks we have. This are timings of code generation phases of the X86 JIT, when compiled in debug mode: Before After Diff 164.gzip: InstSel 0.0878 0.0722 -21.6% RegAlloc 0.2031 0.1757 -15.6% TOTAL 0.5585 0.4999 -11.7% Ptrdist-bc: InstSel 0.0878 0.0722 -21.6% RegAlloc 0.2070 0.1933 - 7.1% TOTAL 0.6972 0.6464 - 7.9% 197.parser: InstSel 0.2148 0.2148 - 0.0% RegAlloc 0.4941 0.4277 -15.5% TOTAL 1.3749 1.2851 - 7.0% 175.vpr: InstSel 0.2519 0.2109 -19.4% RegAlloc 0.5976 0.5663 - 5.5% TOTAL 1.6933 1.6347 - 3.5% 254.gap: InstSel 1.1328 0.9921 -14.2% RegAlloc 2.6933 2.4804 - 8.6% TOTAL 7.7871 7.2499 - 7.4% git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
610234d5c9582e2645738ad9c347b855962122b7 |
|
05-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Do not insert physical regsiters into the regsUsed set git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e057ca61b1571e558a0b02f72570bc859617ecb4 |
|
05-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Remove unused method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a2dd745613fdb9deff6037285f4efc20248c7b3d |
|
05-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
All callers of these methods actually wanted them to preserve the flags, so get rid of the def/use parameters that were getting passed in. **** This now changes the semantics of these methods to preserve the flags, not clobber them! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b1e6f051108759c26d38ba0f64736f567d46f7a1 |
|
25-Jul-2003 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add an assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
627eb31cd791f808eaa048478d01222577a30a1a |
|
10-Jul-2003 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Change interface to MachineInstr::substituteValue to specify more precisely which args can be substituted: defsOnly, defsAndUses or usesOnly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
daee2b492fdf706697429f036b37a46ecc84c2fc |
|
02-Jul-2003 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Leak fix: delete old objects before reallocation in an assignment operator! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3889a2cb05c36f30050941679d5fd55d45e6a3ed |
|
22-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Remove a ton of extraneous #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
be583b914d8156b99d3da264d5adca37fee8dbc9 |
|
11-Jun-2003 |
John Criswell <criswell@uiuc.edu> |
Included assert.h so that the code compiles under newer versions of GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b05497e0ca1ba2e7f57b792cc160e5d1c8579582 |
|
03-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Minor cleanups: * Document the MOTy namespace correctly for doxygen * Eliminate usage of the MachineOpCode typedef, which should eventually be eliminated entirely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9452b0797a80001920576d7e2ef4af05242cba69 |
|
03-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Remove NonCopyable base class to clean up doxygen output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9f495b54fa94dba4e0be59ba9736c7cf18d996d9 |
|
31-May-2003 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Support for annul/pred and other future flags on op codes. Support for recording the physical register for implcit references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a22eace55bb17af2728ca494b6d4557bdad82a09 |
|
27-May-2003 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly() and related functions and flags. Fixed several bugs where only "isDef" was being checked, not "isDefAndUse". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b66fdc2934133872db1407bee749b69a4b59b2b7 |
|
15-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
Remove obsolete ctor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4d69c8e3691e7e58db0e9f74399490d81f2770b4 |
|
15-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for the CC registers for Sparc BE git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cb09cc268b510e99d40b3518c5a390369ae3ffd5 |
|
14-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
Move annotation to support library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3c8cbe6567c94fdd24ec9b2b8b5c5cc1b01a8c58 |
|
13-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
* Add 3 new types of MachineOperand: ConstantPoolIndex ExternalSymbol and GlobalAddress's * Add new isPCRelative modifier flag which should be used in place of MO_PCRelativeDisp type. * Fix a bug in isPhysicalRegister * Add new setOpcode and RemoveOperand methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7ad6be7b01a902f532eebb607306f7b3f4627718 |
|
28-Dec-2002 |
Chris Lattner <sabre@nondot.org> |
* Frame indices are signed * Cluster modification methods together git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
56cf63f2f6db6ae47dec06489d09011ef6b0ee02 |
|
25-Dec-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c583175e720653182d48a6924948df8a49aaa8fd |
|
15-Dec-2002 |
Chris Lattner <sabre@nondot.org> |
Add new opIsUse method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8cbfc75d17ee1c274116dc1aca3bc8e8ed2326c9 |
|
15-Dec-2002 |
Chris Lattner <sabre@nondot.org> |
Add capability to have a MachineBasicBlock as an operand to a MachineInstr Add a bunch of methods to MachineOperand is* to reduce usage of MO_foo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
35880f394fd547b9bec1e92e92ac68db9a931a58 |
|
22-Nov-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Instead of checking op.getType() against MO_VirtualRegister and MO_MachineRegister, we no longer distinguish Virtual vs. Machine registers externally, they're ALL registers, all equal. Registers are only differentiated whether they are >= MRegisterInfo::FirstVirtual or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
ce3d3eadef1c2a72a0a6e16735e5091fb1e6dc16 |
|
18-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add helper method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
af55be15dfa5321f470ce9734fabd858f5af7a88 |
|
18-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Print is const! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
23e6bba592af68ba991ee6900978e81eb21a08af |
|
17-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Finish enumating code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7e1a53b404163af0880c2d395f3b579e3fa1392d |
|
17-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Remove unused methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
32f3d08cdebd8941f2149a8f32acd45bd224ca8d |
|
17-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Convert to use an enum to access def/use/use&def information. These make reading code much easier than just seeing "true, false" especially when default parameters default one but not both arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8f211a4ab013d4a3324162b972a5b4d075cbd20e |
|
30-Oct-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Bug fix in setting an implicit ref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9cc361579b6a0aad9a71dc617eedd4d909d48acf |
|
30-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Allow BuildMI that helps automate construction of SSA information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
fa78fbf446b505767e838f9c188707183c57fc9c |
|
30-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add support for structured printing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7db458fb0768059f050d3a0f1a26818fa8e22712 |
|
30-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add capability to have machine instruction autoinsert when it is created git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a2bae305fb5a870c4ef753ed290a7ddea73ec82b |
|
29-Oct-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Remove separate vector of implicit refs from MachineInstr, and instead record them as extra operands in the operands[] vector. Also, move CallArgsDescriptor into this class instead of making it an annotation on the machine instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9a8e4121aa4121100fb562134c098aeb38f70b37 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove all traces of the "Opcode Mask" field in the MachineInstr class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b98a53f201fd3652f4b7e37d1f2cb3b9b0775d45 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove more default arguments that are never used git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7279122e668816bed0d4f38d3392bbab0140fad0 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove default operands that are never used git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
413746e9833d97a8b463ef6a788aa326cf3829a2 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
* Make MachineOperand ctors private, so MachineOperand can only be created by MachineInstr. * Add a bunch of new methods to allow incremental addition of operands to the machine instr instance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2f305989b395a0a8bf00c4b9dc140a6df051245e |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove two arguments that are never specified git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1294a7e9365a97b6447baad3c106814d7fe8abe7 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove typedef that is unneccesary git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
133f079c8cf966d2222c2dda2de56d2cc600497e |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Rename the redundant MachineOperand::getOperandType() to MachineOperand::getType() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6d6c3f86186333037f2fd3fb001e8b2998c080d9 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add new getOperandType(i) method to MachineInstr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
572f5c8c0cf66cd6f53dda255cd8c4d8f27d8505 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Fairly major overhaul of MachineInstr & Operand classes - Inline methods that are mostly a single line anyway - Eliminate several methods that were never called - Group methods a bit more consistently git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
054c1f6cb6f3a680fe4b8447880ed960fd7fe441 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Make MachineInstr.h not #include MachineInstrInfo.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4a63b72df95b5c0d4af064cef19377f811ba6060 |
|
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Don't #include <Support/*>, #include "Support/*" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
27a08935ca4ccf2121c2cf4bfbf148e2382c7762 |
|
23-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
- Two minor improvements to the MachineInstr class to reduce footprint and overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a bitvector. Sped up LLC a little less than 10% in a debug build! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1a33e6eb7477ecc015f3aadbd47f1c1434003a66 |
|
22-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Small space optimization: Make MachineOperands take 16 bytes instead of 20 on intel or 24 on sparc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
756a55000be056a8c6e11adaa8c19d5a06d03291 |
|
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove a 'using' directives from a header file. Using directives cause global changes, so aren't good for headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e8b57ef2603ed522083dc18e559ca4e20abf22ae |
|
20-Sep-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add method MachineInstr::replace to rewrite a machine instruction in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
504fc5b7b5a9ffa9f82e95e7212015575030c7a7 |
|
16-Sep-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add method MachineOperand::hasAllocatedReg(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a7710518dacb30dabf0c2f057b546dc7bcf37071 |
|
14-Aug-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add method MachineInstr::substituteValue() which substitutes one Value with another one in all operands and implicit references of the machine instruction. Also add method MachineOperand::getVRegValueOrNull(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cc367a3ea0d593aa1f70305316d3290dcf4bda02 |
|
09-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Do not add an extra vtable to EVERY machineinstr created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
39d69009d015a5177303c9d8865143531e099314 |
|
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
09ff1126dab045d68be7d9e8ae7ad0601002a718 |
|
24-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
69cacd471093e38a51e0e637fca1a1768b935136 |
|
10-Jul-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add support for marking each operand as a %hh, %hm, %lm or %lo. Represent previous bools and these ones with flags in a single byte per operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e086f4e8978ffa8cfa0fd172c3ef2a056c02c6f5 |
|
09-Jul-2002 |
Anand Shukla <ashukla@cs.uiuc.edu> |
added std:: to hash_set git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
53e9983790f497519919385e60fd2a942d75f652 |
|
09-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Include header in the compiler-neutral location git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7a4be9580e095ca4bffd16ec6ec4882f6270fb09 |
|
09-Jul-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}. An (explicit or implicit) operand may now be both a def and a use. Also add a set of regs used by each instruction. dump() no longer takes an optional argument, which doesn't work in gdb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8eb04905e84470a0baff867fa99b0de097f49a3b |
|
19-May-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
MachineInstr now inherits from Annotable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
8929cc230a2eec305f2c8f64ee0cb57c0cb3cc48 |
|
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Rewrite MachineCodeForBasicBlock in terms of containment rather than inheritance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e7506a366e8bd56c97d10beb68e4db953aebaeca |
|
23-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Rename Method to Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9558b4a29290d951b339424a9205610015451c9a |
|
18-Mar-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Bug fix in setting CC register. Also use distinct names for the three types of SetMachineOperand to avoid painful overloading problems and errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2f898d207466bf233b55607e404baca302bc7b5e |
|
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Convert operand iterator over to work like an STL iterator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a730c864227b287cdfad5f5f3d5d0808c9f422bb |
|
03-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
* Prune many #includes * Remove MachineCodeForVMInstr -> MachineCodeForInstruction.h * Remove MachineCodeForMethod -> MachineCodeForMethod.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
697954c15da58bd8b186dbafdedd8b06db770201 |
|
20-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Changes to build successfully with GCC 3.02 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7a1767520611d9ff6face702068de858e1cadf2c |
|
04-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Renamed inst_const_iterator -> const_inst_iterator Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
e9bb2df410f7a22decad9a883f7139d5857c1520 |
|
03-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Rename ConstPoolVal -> Constant Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cee8f9ae67104576b2028125b56e9ba4856a1d66 |
|
27-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Create a new #include "Support/..." directory structure to move things from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
360e17eaf1a2abda82b02235dc57d26d8f83c937 |
|
27-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Move DataTypes.h from llvm/Support to just Support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3ee997ba4243efabe6a810aa4a02e2755256725d |
|
26-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Fix field initialization order problem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
abf73cedd4f1100fae3e4bfe969649e1643e5254 |
|
15-Nov-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Modify method AllocateLocalVar to take size argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
be49526193c5d8856d0b3c2721dfa6a4c4010d6d |
|
08-Nov-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Major overhaul of stack frame management. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
df1c3b8398d1df253ebd389ac1068ec732a2f28f |
|
05-Nov-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Make reg. numbers signed ints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
3259a3237d6213002991d62ab1a0ff1f9d460846 |
|
29-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Systems headers use <> not "" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
dd52255e9a26fbc9b7e0cd22a2dd99b0b6bae991 |
|
28-Oct-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added a constant pool to record values that need to be emitted in the assembly code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1876f92599b90f0a4b276aae413a1b965954174d |
|
22-Oct-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added class MachineCodeForMethod to provide method-level information about the generated native code (e.g., frame layout information). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
33eb292e127a75d51587c390241817d8c355a18b |
|
19-Oct-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
Added code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
618155f6c830af9b2abb587b6d1cb5bea3dcc4f9 |
|
16-Oct-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
added initializing regNum to -1 in both constructors of MachineOperand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
21721b63c3b5a314dfa0be14823b10273860787c |
|
15-Oct-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
fixed a coalscing bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
704037f0248793be829df9e185bd889ca41beaf7 |
|
13-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Dang, I screwed up the merge. This should be better git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
da47526737c111128e34b9627a3beea1a68bd93e |
|
13-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Clean up initializers for GCC 2.96 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
a995e6086deca9cbd9aab9d6e1e94b36964b66da |
|
11-Oct-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Record implicitRefs for each machine instruction instead of each VM instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
593da4acc56d4c591ad688e6605b04d0825c867e |
|
10-Oct-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Moved code generation support routines to InstrSelectionSupport.{h,cpp}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
9636a91649f168f41b477cba705287665e054f79 |
|
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Add support for new style casts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
2a97dd1fc335cb8fd87c1fe6fada5f64006712c8 |
|
01-Oct-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add vector `implicitUses' to class MachineCodeForVMInstr to hold values that are used by the VM instruction but not explicit operands of the m/c instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
eda6806f6aaec9a64707a8e5609ae21b15e1440a |
|
19-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
--added methods to operand class to set/get registers after register allocation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4bc86976bb14ce66b734a534351a4e9fb027d17d |
|
18-Sep-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Minor fixes: renamed target machine files; fold sched info into TargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
475253b430649ccaf3c954714164821883aba9ac |
|
15-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
added a method to get reg num after register allocation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
427a5273113274ee35cff78534dba2ae812c79ce |
|
15-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
-modified machine operand class - took regNum out of union to set regNum after retister allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1bf6d645cd8e167851660e841276dcc53be0e344 |
|
15-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
--reg alloc code added git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
46cbff625eb9593cf9ddac415c39311a54aa27fa |
|
14-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Chris seems fond of #include <vector>. Fix these. Also convert use list in Value to a vector instead of a list. Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
b26bcc5087029ffe8037ed9036ff74430c6054cf |
|
14-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Make a new llvm/Target #include directory. Move files from lib/CodeGen/TargetMachine to lib/Target Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h} Prepare to split TargetMachine.h into several smaller files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
746e0014a6c59f285ffefc30c722ef2cf69eb95d |
|
10-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Update assertion to allow extra case git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
56786d268feeb6d0e895b6c4cba60139285c47d6 |
|
09-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Fix build breakage. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
c866fe19492fc8958f7579c8462cde5bc03dc3b2 |
|
08-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
0286ade27f9bff026ec64fe81dfd1050f530d10d |
|
08-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7cd2ca13c1920e9db68695a364048cb6586bb324 |
|
08-Sep-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
Committed for compliation. Not yet final. --Ruchira git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
136c9f4062b0fe6d864ebc2bc2b0cbada931a28e |
|
29-Aug-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added function MachineInstr::operandIsDefined(i) and decl for function PrintMachineInstructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
cc3a0dbb85ee9ca3c694ee6de96bcb3b72f8dd6c |
|
13-Aug-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
Corrected the compilation error by making the ValOperator class a friend of MachineOperand class - Ruchira git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4f01c1ee9920e25bb9695189439ed5e29fc9128d |
|
09-Aug-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Can't use ref to stack value! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
98f2f8053bebaad7683de074bfb74239364098d2 |
|
09-Aug-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Needed old conditions as well as new in skipToNextVal()! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7c02601b5889d0ec6f2cfc58a3d5b2a0c0d65665 |
|
08-Aug-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Bug fix in ValOpIterator: not moving past operand with NULL Value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
0b03c6a492a0e09049b6c0bd127bd0ede7732aa5 |
|
07-Aug-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
773fc471bdc36a221ff9302a07e58f8f7210d87d |
|
07-Aug-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
Added isDef field to MachineOperand class - Ruchira git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
1885da4f49cf32efde2d4c840365c4333a0c8579 |
|
31-Jul-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Allow machine instructions with variable numbers of arguments. This is used only by Phi for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
f6445837e9733e5657884f529879c5db2ca51f50 |
|
30-Jul-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added class MachineCodeForBasicBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
6a175e01eb164baac5cc16311c474ff644ce17c1 |
|
28-Jul-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Eliminate separate enum for operand register type. Use union for alternative data for different operand types. Add iterator over Value* operands in a MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
4bc3daaa3f3c9f22d5dd695e987e8d20f999791c |
|
23-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Eliminated the Unique class in favor of NonCopyable and NonCopyableV git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
57dbb3ad63b6a0e77798edb156ef43daa3bfc67e |
|
23-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Moved inline/llvm/Tools/* to include/llvm/Support/* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
d8fa8e2aa1fe30747bf2860cc9f7f226eda42666 |
|
23-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Nonpolymorphic class, doesn't need a virtual dtor! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
68498cefe602bf5364168b4acd0bd5806cdd72ec |
|
22-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Eliminate lots of unnecessary #includes and forward decls there are probably more to kill git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
7e583cfafeb07713e5ceadcfe28b70111a528d97 |
|
21-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Renamed include/llvm/Codegen to include/llvm/CodeGen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|
23ee550765232e22d0daf6407141ecef4c55c06f |
|
21-Jul-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Header files for the target architecture description and for instruction selection, and instances of these for the SPARC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CodeGen/MachineInstr.h
|