History log of /llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp (Results 501 – 525 of 552)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 8147d7a6 06-Aug-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add more verification of LiveIntervals.

llvm-svn: 110454


# 0e775240 06-Aug-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Don't try to verify LiveIntervals for physical registers.

When a physical register is in use, some alias of that register has a live
interval with a relevant live range. That is the sad state of int

Don't try to verify LiveIntervals for physical registers.

When a physical register is in use, some alias of that register has a live
interval with a relevant live range. That is the sad state of intervals after
physreg coalescing of subregs, and it is good enough for correct register
allocation.

llvm-svn: 110452

show more ...


# bda59bd2 06-Aug-2010 Owen Anderson <resistor@mac.com>

Revert r110396 to fix buildbots.

llvm-svn: 110410


# b4ef4a96 05-Aug-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Don't verify LiveVariables if LiveIntervals is available.

LiveVariables becomes horribly wrong while the coalescer is running, but the
analysis is not zapped until after the coalescer pass has run.

Don't verify LiveVariables if LiveIntervals is available.

LiveVariables becomes horribly wrong while the coalescer is running, but the
analysis is not zapped until after the coalescer pass has run. This causes tons
of false reports when calling verify form the coalescer.

llvm-svn: 110402

show more ...


# 755aceb5 05-Aug-2010 Owen Anderson <resistor@mac.com>

Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.

llvm-svn: 110396


# e7709ebb 05-Aug-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add basic verification of LiveIntervals.

We verify that the LiveInterval is live at uses and defs, and that all
instructions have a SlotIndex.

Stuff we don't check yet:

- Is the LiveInterval minim

Add basic verification of LiveIntervals.

We verify that the LiveInterval is live at uses and defs, and that all
instructions have a SlotIndex.

Stuff we don't check yet:

- Is the LiveInterval minimal?
- Do all defs correspond to instructions or phis?
- Do all defs dominate all their live ranges?
- Are all live ranges continually reachable from their def?

llvm-svn: 110386

show more ...


# 4583355a 05-Aug-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Remove double-def checking from MachineVerifier, so a register does not have to
be killed before being redefined.

These checks are usually disabled, and usually fail when enabled. We de facto
allow

Remove double-def checking from MachineVerifier, so a register does not have to
be killed before being redefined.

These checks are usually disabled, and usually fail when enabled. We de facto
allow live registers to be redefined without a kill, the corresponding
assertions in RegScavenger were removed long ago.

llvm-svn: 110362

show more ...


# 2d51c7c5 18-Jun-2010 Evan Cheng <evan.cheng@apple.com>

Allow ARM if-converter to be run after post allocation scheduling.
- This fixed a number of bugs in if-converter, tail merging, and post-allocation
scheduler. If-converter now runs branch folding /

Allow ARM if-converter to be run after post allocation scheduling.
- This fixed a number of bugs in if-converter, tail merging, and post-allocation
scheduler. If-converter now runs branch folding / tail merging first to
maximize if-conversion opportunities.
- Also changed the t2IT instruction slightly. It now defines the ITSTATE
register which is read by instructions in the IT block.
- Added Thumb2 specific hazard recognizer to ensure the scheduler doesn't
change the instruction ordering in the IT block (since IT mask has been
finalized). It also ensures no other instructions can be scheduled between
instructions in the IT block.

This is not yet enabled.

llvm-svn: 106344

show more ...


# 4843178d 18-May-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Teach the machine code verifier to use getSubRegisterRegClass().

The old approach was wrong. It had an off-by-one error.

llvm-svn: 104034


# 670492c8 14-May-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

When verifying two-address instructions, check the following:

- Kill is implicit when use and def registers are identical.
- Only virtual registers can differ.

Add a -verify-fast-regalloc to run th

When verifying two-address instructions, check the following:

- Kill is implicit when use and def registers are identical.
- Only virtual registers can differ.

Add a -verify-fast-regalloc to run the verifier before the fast allocator.

llvm-svn: 103797

show more ...


Revision tags: llvmorg-2.7.0
# b29cda9b 15-Apr-2010 Dan Gohman <gohman@apple.com>

Fix a bunch of namespace polution.

llvm-svn: 101376


# 9d2d053e 13-Apr-2010 Dan Gohman <gohman@apple.com>

Eliminate MachineBasicBlock::const_livein_iterator and make
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein se

Eliminate MachineBasicBlock::const_livein_iterator and make
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein set.

llvm-svn: 101147

show more ...


# 2104b8d3 07-Apr-2010 Chris Lattner <sabre@nondot.org>

rename llvm::llvm_report_error -> llvm::report_fatal_error

llvm-svn: 100709


# b06015aa 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 u

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.

llvm-svn: 95687

show more ...


# 4cb7702c 05-Jan-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Remove livein checks from machine code verifier.

A phi operand that is implicitly defined in a predecessor becomes an undefined
register after phi elimination. This causes a lot of false positives w

Remove livein checks from machine code verifier.

A phi operand that is implicitly defined in a predecessor becomes an undefined
register after phi elimination. This causes a lot of false positives when the
verifier is checking if live-in registers are live-out from all predecessors.

Removing the verifier checks seems like a better solution than insisting on
IMPLICIT_DEF instructions in predecessor blocks.

llvm-svn: 92769

show more ...


# 200f82c8 22-Dec-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Remove minimal CFG sanity checks from verifier.

These checks would often trigger on unreachable statements inserted by
bugpoint, leading it astray.

It would be nice if we could distinguish unreacha

Remove minimal CFG sanity checks from verifier.

These checks would often trigger on unreachable statements inserted by
bugpoint, leading it astray.

It would be nice if we could distinguish unreachable blocks from errors.

llvm-svn: 91923

show more ...


# 3db49523 22-Dec-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Allow explicit %reg0 operands beyond what the .td file describes.

ARM uses these to indicate predicates.

llvm-svn: 91922


# 047a767d 05-Dec-2009 Dan Gohman <gohman@apple.com>

Remove the target hook TargetInstrInfo::BlockHasNoFallThrough in favor of
MachineBasicBlock::canFallThrough(), which is target-independent and more
thorough.

llvm-svn: 90634


# 2bbeaa87 20-Nov-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add MachineBasicBlock::getName, and use it in place of getBasicBlock()->getName.

Fix debug code that assumes getBasicBlock never returns NULL.

llvm-svn: 89428


# 9cbffd21 18-Nov-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Allow the machine verifier to be run outside the PassManager.

Verify LiveVariables information when present.

llvm-svn: 89241


# 27440e71 13-Nov-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add MachineFunction::verify() to call the machine code verifier directly.

llvm-svn: 88706


# 1ecc8b2d 13-Nov-2009 Jakob Stoklund Olesen <stoklund@2pi.dk>

Fix polarity of a CFG check in machine verifier.

llvm-svn: 88704


# 34341e69 31-Oct-2009 Dan Gohman <gohman@apple.com>

Make -print-machineinstrs more readable.
- Be consistent when referring to MachineBasicBlocks: BB#0.
- Be consistent when referring to virtual registers: %reg1024.
- Be consistent when referring t

Make -print-machineinstrs more readable.
- Be consistent when referring to MachineBasicBlocks: BB#0.
- Be consistent when referring to virtual registers: %reg1024.
- Be consistent when referring to unknown physical registers: %physreg10.
- Be consistent when referring to known physical registers: %RAX
- Be consistent when referring to register 0: %reg0
- Be consistent when printing alignments: align=16
- Print jump table contents.
- Don't print host addresses, in general.
- and various other cleanups.

llvm-svn: 85682

show more ...


# 974e12b2 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca>

Remove includes of Support/Compiler.h that are no longer needed after the
VISIBILITY_HIDDEN removal.

llvm-svn: 85043


# 02d5f77d 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca>

Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit

Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.

llvm-svn: 85042

show more ...


1...<<212223