History log of /llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h (Results 151 – 175 of 181)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c4195953 01-Jul-2009 Devang Patel <dpatel@apple.com>

Add machine operand for MDNodes. This will be used to communicate debug info.

llvm-svn: 74628


# 0dc101b8 30-Jun-2009 Evan Cheng <evan.cheng@apple.com>

Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can fee

Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them.

The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing.

This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def.

llvm-svn: 74518

show more ...


# 8a088663 25-Jun-2009 Chris Lattner <sabre@nondot.org>

ad MachineInstrBuilder support for target flags on operands.

llvm-svn: 74155


# fd682802 24-Jun-2009 Chris Lattner <sabre@nondot.org>

Rearrange some stuff in MachineOperand and add a new TargetFlags field.

llvm-svn: 74087


# 98b13ac6 21-Jun-2009 Chris Lattner <sabre@nondot.org>

fit in 80 cols

llvm-svn: 73838


# 89892b05 15-Apr-2009 Dan Gohman <gohman@apple.com>

Give RemoveRegOperandFromRegInfo a comment and move the
code out of line.

llvm-svn: 69124


Revision tags: llvmorg-2.5.0
# 76da281a 23-Dec-2008 Dan Gohman <gohman@apple.com>

Comment MO_FPImmediate and doxygenate surrounding comments.

llvm-svn: 61374


Revision tags: llvmorg-2.4.0
# 2fe6bee5 18-Oct-2008 Dan Gohman <gohman@apple.com>

Teach DAGCombine to fold constant offsets into GlobalAddress nodes,
and add a TargetLowering hook for it to use to determine when this
is legal (i.e. not in PIC mode, etc.)

This allows instruction s

Teach DAGCombine to fold constant offsets into GlobalAddress nodes,
and add a TargetLowering hook for it to use to determine when this
is legal (i.e. not in PIC mode, etc.)

This allows instruction selection to emit folded constant offsets
in more cases, such as the included testcase, eliminating the need
for explicit arithmetic instructions.

This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp
that attempted to achieve the same effect, but wasn't as effective.

Also, fix handling of offsets in GlobalAddressSDNodes in several
places, including changing GlobalAddressSDNode's offset from
int to int64_t.

The Mips, Alpha, Sparc, and CellSPU targets appear to be
unaware of GlobalAddress offsets currently, so set the hook to
false on those targets.

llvm-svn: 57748

show more ...


# 0d1e9a8e 03-Oct-2008 Dan Gohman <gohman@apple.com>

Switch the MachineOperand accessors back to the short names like
isReg, etc., from isRegister, etc.

llvm-svn: 57006


# c36660d7 24-Sep-2008 Dale Johannesen <dalej@apple.com>

Next round of earlyclobber handling. Approach the
RA problem by expanding the live interval of an
earlyclobber def back one slot. Remove
overlap-earlyclobber throughout. Remove
earlyclobber bits

Next round of earlyclobber handling. Approach the
RA problem by expanding the live interval of an
earlyclobber def back one slot. Remove
overlap-earlyclobber throughout. Remove
earlyclobber bits and their handling from
live internals.

llvm-svn: 56539

show more ...


# 4d7445b3 21-Sep-2008 Chris Lattner <sabre@nondot.org>

explain what earlyclobber actually is.

llvm-svn: 56415


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


# ec270fb6 12-Sep-2008 Dan Gohman <gohman@apple.com>

Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and
ConstantFP* instead of APInt and APFloat directly.

This reduces the amount of time to create ConstantSDNode
and ConstantFPSDNode no

Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and
ConstantFP* instead of APInt and APFloat directly.

This reduces the amount of time to create ConstantSDNode
and ConstantFPSDNode nodes when ConstantInt* and ConstantFP*
respectively are already available, as is the case in
SelectionDAGBuild.cpp. Also, it reduces the amount of time
to legalize constants into constant pools, and the amount of
time to add ConstantFP operands to MachineInstrs, due to
eliminating ConstantInt::get and ConstantFP::get calls.

It increases the amount of work needed to create new constants
in cases where the client doesn't already have a ConstantInt*
or ConstantFP*, such as legalize expanding 64-bit integer constants
to 32-bit constants. And it adds a layer of indirection for the
accessor methods. But these appear to be outweight by the benefits
in most cases.

It will also make it easier to make ConstantSDNode and
ConstantFPNode more consistent with ConstantInt and ConstantFP.

llvm-svn: 56162

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


# 9371964f 21-Aug-2008 Owen Anderson <resistor@mac.com>

Use raw_ostream throughout the AsmPrinter.

llvm-svn: 55092


# 84b6cc9c 10-Jul-2008 Dan Gohman <gohman@apple.com>

Fix a copy+pasto in an assertion string.

llvm-svn: 53419


Revision tags: llvmorg-2.3.0
# 18e29d07 29-May-2008 Dan Gohman <gohman@apple.com>

Prune and tidy #includes.

llvm-svn: 51697


# 31715f1a 14-Mar-2008 Evan Cheng <evan.cheng@apple.com>

Back out r48353. Not needed.

llvm-svn: 48375


# 3108798e 14-Mar-2008 Evan Cheng <evan.cheng@apple.com>

Add an MO_Undef MachineOperandType, intended for INSERT_SUBREG. Next up MO_Undead.

llvm-svn: 48353


# 26b76b69 14-Feb-2008 Nate Begeman <natebegeman@mac.com>

Support a new type of MachineOperand, MO_FPImmediate, used for holding
FP Immediates, crazily enough

llvm-svn: 47117


Revision tags: llvmorg-2.2.0
# 242223ab 29-Jan-2008 Dan Gohman <gohman@apple.com>

Add explicit keywords.

llvm-svn: 46506


# 8a497053 01-Jan-2008 Chris Lattner <sabre@nondot.org>

add efficient iteration support for register use/def's
within a machine function.

llvm-svn: 45479


# 961e7427 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.

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.

llvm-svn: 45477

show more ...


12345678