- May 23, 2013
-
-
Chad Rosier authored
llvm-svn: 182531
-
- Apr 19, 2013
-
-
Jakob Stoklund Olesen authored
This checks the sanity of the register use lists in the MI intermediate representation. llvm-svn: 179895
-
- Jan 02, 2013
-
-
Chandler Carruth authored
into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
-
- Dec 19, 2012
-
-
Dmitri Gribenko authored
No testcase because it is apparently not so trivial to construct. llvm-svn: 170595
-
- Dec 18, 2012
-
-
Jakob Stoklund Olesen authored
The new bidirectional bundle flags are redundant, so inadvertent bundle tearing can be detected in the machine code verifier. llvm-svn: 170463
-
- Dec 03, 2012
-
-
Chandler Carruth authored
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
-
- Oct 30, 2012
-
-
Chad Rosier authored
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
-
- Oct 16, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 165999
-
- Oct 15, 2012
-
-
Jakob Stoklund Olesen authored
Using the cached bit vector in MRI avoids comstantly allocating and recomputing the reserved register bit vector. llvm-svn: 165983
-
- Sep 06, 2012
-
-
Roman Divacky authored
llvm-svn: 163258
-
- Sep 04, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 163152
-
- Aug 29, 2012
-
-
Jakob Stoklund Olesen authored
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
-
Jakob Stoklund Olesen authored
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
-
- Aug 22, 2012
-
-
Craig Topper authored
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
-
- Aug 20, 2012
-
-
Jakob Stoklund Olesen authored
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
-
Jakob Stoklund Olesen authored
Verify that the predecessor and successor lists are consistent and free of duplicates. llvm-svn: 162223
-
- Aug 15, 2012
-
-
Richard Smith authored
pointer. llvm-svn: 161919
-
- Aug 02, 2012
-
-
Jakob Stoklund Olesen authored
Don't cause regunit intervals to be computed just to verify them. Only check the already cached intervals. llvm-svn: 161183
-
Jakob Stoklund Olesen authored
llvm-svn: 161178
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 161149
-
Jakob Stoklund Olesen authored
llvm-svn: 161147
-
- Jul 25, 2012
-
-
Jakob Stoklund Olesen authored
Include <undef> operands and virtual registers after leaving SSA form. llvm-svn: 160734
-
- Jul 20, 2012
-
-
Pete Cooper authored
llvm-svn: 160531
-
- Jul 19, 2012
-
-
Bill Wendling authored
llvm-svn: 160475
-
- Jun 29, 2012
-
-
Jakob Stoklund Olesen authored
This would previously get reported as the misleading "Virtual register def doesn't dominate all uses." llvm-svn: 159460
-
- Jun 25, 2012
-
-
Jakob Stoklund Olesen authored
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
-
- Jun 23, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 159039
-
- Jun 21, 2012
-
-
Jakob Stoklund Olesen authored
Deterministically enumerate the virtual registers instead. llvm-svn: 158872
-
- Jun 14, 2012
-
-
Akira Hatanaka authored
the last instruction of a basic block. llvm-svn: 158468
-
- Jun 07, 2012
-
-
Pete Cooper authored
Move terminator machine verification to check MachineBasicBlock::instr_iterator instead of MBB::iterator llvm-svn: 158154
-
Jakob Stoklund Olesen authored
Bundles should be treated as one atomic transaction when checking liveness. That is how the register allocator (and VLIW targets) treats bundles. llvm-svn: 158116
-
- Jun 02, 2012
-
-
Jakob Stoklund Olesen authored
No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). llvm-svn: 157854
-
- May 29, 2012
-
-
Evan Cheng authored
llvm-svn: 157640
-
- May 17, 2012
-
-
Jakob Stoklund Olesen authored
Make sure useless (def-only) intervals also get verified. llvm-svn: 157000
-
- May 08, 2012
-
-
Jakob Stoklund Olesen authored
The getPointerRegClass() hook can return register classes that depend on the calling convention of the current function (ptr_rc_tailcall). So far, we have been able to infer the calling convention from the subtarget alone, but as we add support for multiple calling conventions per target, that no longer works. Patch by Yiannis Tsiouris! llvm-svn: 156328
-
- Mar 29, 2012
-
-
Jakob Stoklund Olesen authored
The late scheduler depends on accurate liveness information if it is breaking anti-dependencies, so we should be able to verify it. Relax the terminator checking in the machine code verifier so it can handle the basic blocks created by if conversion. llvm-svn: 153614
-
- Mar 28, 2012
-
-
Jakob Stoklund Olesen authored
Extract the liveness verification into its own method. This makes it possible to run the machine code verifier after liveness information is no longer required to be valid. llvm-svn: 153596
-
- Mar 10, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 152460
-
Jakob Stoklund Olesen authored
Somehow we never verified SSA dominance before. llvm-svn: 152458
-
Jakob Stoklund Olesen authored
llvm-svn: 152457
-