"llvm/git@repo.hca.bsc.es:rferrer/llvm-epi-0.8.git" did not exist on "91806311c9c94c05057c29689eb2a02a858cd737"
- 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
-
- Mar 05, 2012
-
-
Craig Topper authored
llvm-svn: 152016
-
- Feb 29, 2012
-
-
Jakob Stoklund Olesen authored
Extract a base class and provide four specific sub-classes for iterating over const/non-const bundles/instructions. This eliminates the mystery bool constructor argument. llvm-svn: 151684
-
- Feb 28, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 151607
-
- Feb 27, 2012
-
-
Jakob Stoklund Olesen authored
After the SlotIndex slot names were updated, it is possible to apply stricter checks to live intervals. Also treat bundles as bags of operands when checking live intervals. llvm-svn: 151531
-
- Feb 14, 2012
-
-
Lang Hames authored
llvm-svn: 150496
-
- Dec 14, 2011
-
-
Evan Cheng authored
to finalize MI bundles (i.e. add BUNDLE instruction and computing register def and use lists of the BUNDLE instruction) and a pass to unpack bundles. - Teach more of MachineBasic and MachineInstr methods to be bundle aware. - Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to prevent IT blocks from being broken apart. llvm-svn: 146542
-
- Dec 07, 2011
-
-
Evan Cheng authored
generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. llvm-svn: 146026
-
- Nov 15, 2011
-
-
Benjamin Kramer authored
llvm-svn: 144648
-
- Nov 14, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 144517
-
- Nov 13, 2011
-
-
Jakob Stoklund Olesen authored
The old naming scheme (load/use/def/store) can be traced back to an old linear scan article, but the names don't match how slots are actually used. The load and store slots are not needed after the deferred spill code insertion framework was deleted. The use and def slots don't make any sense because we are using half-open intervals as is customary in C code, but the names suggest closed intervals. In reality, these slots were used to distinguish early-clobber defs from normal defs. The new naming scheme also has 4 slots, but the names match how the slots are really used. This is a purely mechanical renaming, but some of the code makes a lot more sense now. llvm-svn: 144503
-
- Oct 06, 2011
-
-
Jakob Stoklund Olesen authored
PhysReg operands are not allowed to have sub-register indices at all. For virtual registers with sub-reg indices, check that all registers in the register class support the sub-reg index. llvm-svn: 141220
-
- Sep 24, 2011
-
-
Jakob Stoklund Olesen authored
This exposes a -segmented-stacks bug. llvm-svn: 140429
-
- Sep 21, 2011
-
-
Andrew Trick authored
This is still a hack until we can teach tblgen to generate the optional CPSR operand rather than an implicit CPSR def. But the strangeness is now limited to the selection DAG. ADD/SUB MI's no longer have implicit CPSR defs, nor do we allow flag setting variants of these opcodes in machine code. There are several corner cases to consider, and getting one wrong would previously lead to nasty miscompilation. It's not the first time I've debugged one, so this time I added enough verification to ensure it won't happen again. llvm-svn: 140228
-
- Sep 15, 2011
-
-
Jakob Stoklund Olesen authored
There is only one legitimate use remaining, in addIntervalsForSpills(). All other calls to hasPHIKill() are only used to update PHIKill flags. The addIntervalsForSpills() function is part of the old spilling framework, only used by linearscan. llvm-svn: 139783
-
- Jul 30, 2011
-
-
Jakob Stoklund Olesen authored
The ARM target depends on CPSR liveness being tracked after register allocation. llvm-svn: 136548
-
Jakob Stoklund Olesen authored
This includes registers like EFLAGS and ST0-ST7. We don't check for liveness issues in the verifier and scavenger because registers will never be allocated from these classes. While in SSA form, we do care about the liveness of unallocatable unreserved registers. Liveness of EFLAGS and ST0 neds to be correct for MachineDCE and MachineSinking. llvm-svn: 136541
-
Jakob Stoklund Olesen authored
llvm-svn: 136535
-
- Jun 28, 2011
-
-
Evan Cheng authored
sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. llvm-svn: 134021
-
- Jun 27, 2011
-
-
Evan Cheng authored
llvm-svn: 133944
-
- Jun 02, 2011
-
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 132455
-
- May 19, 2011
-
-
Cameron Zwarich authored
on CodeGen/X86/2007-05-07-InvokeSRet.ll. There is probably a bug here that was fixed by r128961, but since there is no test or reference to a source file I have to revert it. llvm-svn: 131618
-
- May 05, 2011
-
-
Bill Wendling authored
landing pad as its successor. SjLj exception handling jumps to the correct landing pad via a switch statement that's generated right before code-gen. Loosen the constraint in the machine instruction verifier to allow for this. Note, this isn't the most rigorous check since we cannot determine where that switch statement came from. But it's marginally better than turning this check off when SjLj exceptions are used. <rdar://problem/9187612> llvm-svn: 130881
-
- Apr 06, 2011
-
-
Jakob Stoklund Olesen authored
Treat the landing pad as a normal successor when that happens. llvm-svn: 128961
-
- Mar 31, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 128643
-