#
29c27719 |
| 18-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Verify bundle flags for consistency in MachineVerifier.
The new bidirectional bundle flags are redundant, so inadvertent bundle tearing can be detected in the machine code verifier.
llvm-svn: 170463
|
Revision tags: llvmorg-3.2.0-rc3 |
|
#
ed0881b2 |
| 03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented.
Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =]
llvm-svn: 169131
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
9e1274fb |
| 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
[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
llvm-svn: 167040
show more ...
|
#
244beb42 |
| 16-Oct-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove unused BitVectors from getAllocatableSet().
llvm-svn: 165999
|
#
c30a9af2 |
| 15-Oct-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Switch most getReservedRegs() clients to the MRI equivalent.
Using the cached bit vector in MRI avoids comstantly allocating and recomputing the reserved register bit vector.
llvm-svn: 165983
|
#
ad06cee2 |
| 05-Sep-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Stop casting away const qualifier needlessly.
llvm-svn: 163258
|
#
c7579cdd |
| 04-Sep-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move tie checks into MachineVerifier::visitMachineOperand.
llvm-svn: 163152
|
#
7a837b9a |
| 29-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Verify the consistency of inline asm operands.
The operands on an INLINEASM machine instruction are divided into groups headed by immediate flag operands. Verify this structure.
Extract verifyTiedO
Verify the consistency of inline asm operands.
The operands on an INLINEASM machine instruction are divided into groups headed by immediate flag operands. Verify this structure.
Extract verifyTiedOperands(), and only call it for non-inlineasm instructions.
llvm-svn: 162849
show more ...
|
#
dbbff789 |
| 29-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Verify the tied operand flags.
WHen running with -verify-machineinstrs, check that tied operands come in matching use/def pairs, and that they are consistent with MCInstrDesc when it applies.
llvm-
Verify the tied operand flags.
WHen running with -verify-machineinstrs, check that tied operands come in matching use/def pairs, and that they are consistent with MCInstrDesc when it applies.
llvm-svn: 162816
show more ...
|
#
a538d831 |
| 22-Aug-2012 |
Craig Topper <craig.topper@gmail.com> |
Add a getName function to MachineFunction. Use it in places that previously did getFunction()->getName(). Remove includes of Function.h that are no longer needed.
llvm-svn: 162347
|
#
7d33c573 |
| 20-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't add CFG edges for redundant conditional branches.
IR that hasn't been through SimplifyCFG can look like this:
br i1 %b, label %r, label %r
Make sure we don't create duplicate Machine CFG e
Don't add CFG edges for redundant conditional branches.
IR that hasn't been through SimplifyCFG can look like this:
br i1 %b, label %r, label %r
Make sure we don't create duplicate Machine CFG edges in this case.
Fix the machine code verifier to accept conditional branches with a single CFG edge.
llvm-svn: 162230
show more ...
|
#
de31b52c |
| 20-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add CFG checks to MachineVerifier.
Verify that the predecessor and successor lists are consistent and free of duplicates.
llvm-svn: 162223
|
#
8f3447c0 |
| 15-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix undefined behavior: don't perform array indexing through a potentially null pointer.
llvm-svn: 161919
|
#
637c4675 |
| 02-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Verify regunit intervals along with virtreg intervals.
Don't cause regunit intervals to be computed just to verify them. Only check the already cached intervals.
llvm-svn: 161183
|
#
bde5dc5e |
| 02-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add report() functions that take a LiveInterval argument.
llvm-svn: 161178
|
#
e736b97e |
| 02-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Extract some methods from verifyLiveIntervals.
No functional change.
llvm-svn: 161149
|
#
a766b474 |
| 01-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Also verify RegUnit intervals at uses.
llvm-svn: 161147
|
#
c6fd3dee |
| 25-Jul-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Verify two-address constraints more carefully.
Include <undef> operands and virtual registers after leaving SSA form.
llvm-svn: 160734
|
#
dcf94db6 |
| 19-Jul-2012 |
Pete Cooper <peter_cooper@apple.com> |
Fix crash in machine verifier when trying to print the def of a register which has no def
llvm-svn: 160531
|
#
d163405d |
| 19-Jul-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove tabs.
llvm-svn: 160475
|
#
da9ea1d6 |
| 29-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Check for extra kill flags on live-out virtual registers.
This would previously get reported as the misleading "Virtual register def doesn't dominate all uses."
llvm-svn: 159460
|
#
a57fc12e |
| 25-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Enforce stricter liveness rules for PHIs.
Verify that all paths from the entry block to a virtual register read pass through a def. Enable this check even when MRI->isSSA() is false.
Verify that th
Enforce stricter liveness rules for PHIs.
Verify that all paths from the entry block to a virtual register read pass through a def. Enable this check even when MRI->isSSA() is false.
Verify that the live range of a virtual register is live out of all predecessor blocks, even for PHI-values.
This requires that PHIElimination sometimes inserts IMPLICIT_DEF instruction in predecessor blocks.
llvm-svn: 159150
show more ...
|
#
b033dede |
| 22-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Also verify the def index for early clobbers.
llvm-svn: 159039
|
#
781e0b9f |
| 20-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix some more LiveInterval enumerations.
Deterministically enumerate the virtual registers instead.
llvm-svn: 158872
|
#
1b420ac4 |
| 14-Jun-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Make machine verifier check the first instruction of the last bundle instead of the last instruction of a basic block.
llvm-svn: 158468
|