History log of /llvm-project/llvm/lib/CodeGen/MachineInstr.cpp (Results 576 – 600 of 809)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7c59ed6f 24-Sep-2008 Dan Gohman <gohman@apple.com>

Add a method to MachineInstr for testing whether it makes
any volatile memory references.

llvm-svn: 56528


# f8610ebe 17-Sep-2008 Dale Johannesen <dalej@apple.com>

Add a bit to mark operands of asm's that conflict
with an earlyclobber operand elsewhere. Propagate
this bit and the earlyclobber bit through SDISel.
Change linear-scan RA not to allocate regs in a

Add a bit to mark operands of asm's that conflict
with an earlyclobber operand elsewhere. Propagate
this bit and the earlyclobber bit through SDISel.
Change linear-scan RA not to allocate regs in a way
that conflicts with an earlyclobber. See also comments.

llvm-svn: 56290

show more ...


# c0d712d9 14-Sep-2008 Dale Johannesen <dalej@apple.com>

adjust last patch per review feedback

llvm-svn: 56194


# 38453eeb 13-Sep-2008 Dan Gohman <gohman@apple.com>

Remove isImm(), isReg(), and friends, in favor of
isImmediate(), isRegister(), and friends, to avoid confusion
about having two different names with the same meaning. I'm
not attached to the longer

Remove isImm(), isReg(), and friends, in favor of
isImmediate(), isRegister(), and friends, to avoid confusion
about having two different names with the same meaning. I'm
not attached to the longer names, and would be ok with
changing to the shorter names if others prefer it.

llvm-svn: 56189

show more ...


# 1f3ab868 12-Sep-2008 Dale Johannesen <dalej@apple.com>

Pass "earlyclobber" bit through to machine
representation; coalescer and RA need to know
about it. No functional change.

llvm-svn: 56161


# c7367b45 03-Sep-2008 Dan Gohman <gohman@apple.com>

Fix addRegisterDead and addRegisterKilled to be more thorough
when searching for redundant subregister dead/kill bits.

Previously it was common to see instructions marked like this:
"RET %EAX<imp-

Fix addRegisterDead and addRegisterKilled to be more thorough
when searching for redundant subregister dead/kill bits.

Previously it was common to see instructions marked like this:
"RET %EAX<imp-use,kill>, %AX<imp-use,kill>"

With this change, addRegisterKilled continues scanning after
finding the %EAX operand, so it proceeds to discover the
redundant %AX kill and eliminates it, producing this:
"RET %EAX<imp-use,kill>"

This currently has no effect on the generated code.

llvm-svn: 55698

show more ...


# 542ac629 30-Aug-2008 Evan Cheng <evan.cheng@apple.com>

Fold isRematerializable checks into isSafeToReMat.

llvm-svn: 55563


# f016b263 27-Aug-2008 Evan Cheng <evan.cheng@apple.com>

Move the check whether it's worth remating to caller.

llvm-svn: 55434


# 57dc0785 27-Aug-2008 Evan Cheng <evan.cheng@apple.com>

Refactor isSafeToReMat out of 2addr pass.

llvm-svn: 55430


# a078d83e 24-Aug-2008 Chris Lattner <sabre@nondot.org>

simplify PseudoSourceValue printing a bit. Unnest all of PseudoSourceValue.cpp from the llvm namespace.

llvm-svn: 55293


# 72e7d915 24-Aug-2008 Evan Cheng <evan.cheng@apple.com>

Print PseudoSourceValue.

llvm-svn: 55291


# 2da2bedc 20-Aug-2008 Dan Gohman <gohman@apple.com>

Change the FoldingSetNodeID usage for objects which carry
alignment and volatility information, such as loads and
stores, to reduce the number of integer values added to
the FoldingSetNodeID.

llvm-s

Change the FoldingSetNodeID usage for objects which carry
alignment and volatility information, such as loads and
stores, to reduce the number of integer values added to
the FoldingSetNodeID.

llvm-svn: 55058

show more ...


# 96631091 14-Aug-2008 Owen Anderson <resistor@mac.com>

Move MachineInstr::getOpcode inline.

llvm-svn: 54807


# fa8b2ea4 14-Aug-2008 Owen Anderson <resistor@mac.com>

Speed up addRegisterDead by adding more fast checks before performing the expensive
subregister query, and by increasing the size of the subregister hashtable so
that there are fewer collisions.

ll

Speed up addRegisterDead by adding more fast checks before performing the expensive
subregister query, and by increasing the size of the subregister hashtable so
that there are fewer collisions.

llvm-svn: 54781

show more ...


# 804c95df 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 asso

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.

llvm-svn: 54146

show more ...


# 3e9ad4d8 21-Jul-2008 Dan Gohman <gohman@apple.com>

Now that the MachineInstr leaks are fixed, enable leak checking
in the MachineInstr clone code.

llvm-svn: 53868


# a7a20c49 19-Jul-2008 Evan Cheng <evan.cheng@apple.com>

Fix a memory leak in LiveIntervalAnalysis.

llvm-svn: 53779


# 0ece9438 17-Jul-2008 Dan Gohman <gohman@apple.com>

Re-introduce LeakDetector support for MachineInstrs and MachineBasicBlocks.
Fix a leak that this turned up in LowerSubregs.cpp.
And, comment a leak in LiveIntervalAnalysis.cpp.

llvm-svn: 53746


# bf98f682 16-Jul-2008 Dan Gohman <gohman@apple.com>

Add an assert to check for empty flags for MachineMemOperand.

llvm-svn: 53680


# 0597e5b6 11-Jul-2008 Dan Gohman <gohman@apple.com>

Trim unnecessary #includes.

llvm-svn: 53471


# e9ba28dd 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 registe

- 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.

llvm-svn: 53394

show more ...


# f188fa44 08-Jul-2008 Dan Gohman <gohman@apple.com>

It's no longer necessary to test if a MachineBasicBlock's
parent is non-null. It now always is.

llvm-svn: 53263


# 8293650d 08-Jul-2008 Dan Gohman <gohman@apple.com>

Verify that MachineMemOperand alignment is a non-zero power of 2.

llvm-svn: 53262


# 3b460303 07-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 "E

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.

llvm-svn: 53212

show more ...


# aedb4a61 07-Jul-2008 Dan Gohman <gohman@apple.com>

Move MachineMemOperand's constructor out of line, to avoid a
#include dependency on Support/MathExtras.h in the header file.

llvm-svn: 53200


1...<<21222324252627282930>>...33