History log of /llvm-project/llvm/lib/CodeGen/MachineInstr.cpp (Results 551 – 575 of 809)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


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

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

llvm-svn: 74087


# 38f24538 24-Jun-2009 Evan Cheng <evan.cheng@apple.com>

Fix support for inline asm input / output operand tying when operand spans across multiple registers (e.g. two i64 operands in 32-bit mode).

llvm-svn: 74053


# d9ef48a7 05-Jun-2009 Dan Gohman <gohman@apple.com>

Remove some unnecessary #includes.

llvm-svn: 72948


# a5037484 30-Apr-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com>

Make DebugLoc independent of DwarfWriter.

-Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable*
-Remove DwarfWriter::getOrCreateSourceID
-Make necessary changes for the above (fix ca

Make DebugLoc independent of DwarfWriter.

-Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable*
-Remove DwarfWriter::getOrCreateSourceID
-Make necessary changes for the above (fix callsites, etc.)

llvm-svn: 70520

show more ...


# 1971dc70 29-Apr-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const.

llvm-svn: 70408


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

Fix MachineInstr::getNumExplicitOperands to count
variadic operands correctly. Patch by Jakob Stoklund Olesen!

llvm-svn: 69190


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

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

llvm-svn: 69124


# 66ab904f 09-Apr-2009 Chris Lattner <sabre@nondot.org>

ignore register zero in isRegTiedToUseOperand, following the example of
isRegTiedToDefOperand. Thanks to Bob for pointing this out!

llvm-svn: 68734


# 51856173 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 inli

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

llvm-svn: 68714

show more ...


# a725028d 09-Apr-2009 Chris Lattner <sabre@nondot.org>

reg0 references are not real registers. This fixes a crash on the
attached testcase.

llvm-svn: 68712


# 968c3b0d 23-Mar-2009 Evan Cheng <evan.cheng@apple.com>

Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register al

Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies.

llvm-svn: 67512

show more ...


# 1361cbbb 19-Mar-2009 Evan Cheng <evan.cheng@apple.com>

Added MachineInstr::isRegTiedToDefOperand to check for two-addressness.

llvm-svn: 67335


Revision tags: llvmorg-2.5.0
# 1a0a3d0f 19-Feb-2009 Bill Wendling <isanbard@gmail.com>

Print out debug info when printing the machine instruction.

llvm-svn: 65067


# 4e04ef3c 27-Jan-2009 Dale Johannesen <dalej@apple.com>

Add a DebugLoc field and some simple accessors.

llvm-svn: 63152


# 072e52f1 23-Dec-2008 Dan Gohman <gohman@apple.com>

Use isTerminator() instead of isBranch()||isReturn() in
several places. isTerminator() returns true for a superset
of cases, and includes things like FP_REG_KILL, which are
nither return or branch bu

Use isTerminator() instead of isBranch()||isReturn() in
several places. isTerminator() returns true for a superset
of cases, and includes things like FP_REG_KILL, which are
nither return or branch but aren't safe to move/remat/etc.

llvm-svn: 61373

show more ...


# 0ab1144c 18-Dec-2008 Dan Gohman <gohman@apple.com>

Print subreg information in MachineInstr::dump.

llvm-svn: 61213


# 9356d8f7 09-Dec-2008 Dan Gohman <gohman@apple.com>

Minor code simplification.

llvm-svn: 60804


# d24be45d 05-Dec-2008 Dan Gohman <gohman@apple.com>

Drop the reg argument to isRegReDefinedByTwoAddr, which was redundant.

llvm-svn: 60586


# 0b273259 18-Nov-2008 Dan Gohman <gohman@apple.com>

Add more const qualifiers. This fixes build breakage from r59540.

llvm-svn: 59542


# 0d9d8ae4 18-Nov-2008 Dan Gohman <gohman@apple.com>

Make some methods const.

llvm-svn: 59540


Revision tags: llvmorg-2.4.0
# dfcc1ff8 10-Oct-2008 Mon P Wang <wangmp@apple.com>

Added missing print functions that take a raw_ostream

llvm-svn: 57339


# 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


# 88536398 02-Oct-2008 Dan Gohman <gohman@apple.com>

Fix a think-o in isSafeToMove. This fixes it from thinking that
volatile memory references are safe to move.

llvm-svn: 56948


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


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