- Dec 20, 2012
-
-
Eric Christopher authored
llvm-svn: 170771
-
Eric Christopher authored
into the DwarfUnits class. llvm-svn: 170770
-
Jakob Stoklund Olesen authored
llvm-svn: 170766
-
Jakob Stoklund Olesen authored
llvm-svn: 170716
-
Jakob Stoklund Olesen authored
This is supposed to be a mechanical change with no functional effects. InstrEmitter can generate all types of MachineOperands which revealed that MachineInstrBuilder was missing a few methods, added by this patch. Besides providing a context pointer to MI::addOperand(), MachineInstrBuilder seems like a better fit for this code. llvm-svn: 170712
-
Jakob Stoklund Olesen authored
This automatically passes a context pointer to MI->addOperand(). llvm-svn: 170711
-
Bob Wilson authored
<rdar://problem/12879313> llvm-svn: 170630
-
- Dec 19, 2012
-
-
Dmitri Gribenko authored
No testcase because it is apparently not so trivial to construct. llvm-svn: 170595
-
Eric Christopher authored
the abbreviations. Part of implementing split dwarf. llvm-svn: 170589
-
Jakob Stoklund Olesen authored
Use the version that also takes an MF reference instead. It would technically be possible to extract an MF reference from the MI as MI->getParent()->getParent(), but that would not work for MIs that are not inserted into any basic block. Given the reasonably small number of places this constructor was used at all, I preferred the compile time check to a run time assertion. llvm-svn: 170588
-
Patrik Hagglund authored
Accordingly, add MVT::getVT. llvm-svn: 170550
-
Patrik Hagglund authored
llvm-svn: 170540
-
Patrik Hagglund authored
instead of EVTs. llvm-svn: 170538
-
Patrik Hagglund authored
MVTs, instead of EVTs. llvm-svn: 170537
-
Patrik Hagglund authored
from EVT. llvm-svn: 170536
-
Patrik Hagglund authored
EVTs. llvm-svn: 170535
-
Patrik Hagglund authored
EVTs. llvm-svn: 170534
-
Patrik Hagglund authored
of EVT. llvm-svn: 170532
-
Patrik Hagglund authored
instead of EVTs. llvm-svn: 170529
-
Patrik Hagglund authored
llvm-svn: 170524
-
Patrik Hagglund authored
EVT. llvm-svn: 170522
-
Patrik Hagglund authored
llvm-svn: 170510
-
Elena Demikhovsky authored
llvm-svn: 170506
-
Nadav Rotem authored
bitwidth op back to the original size. If we reduce ANDs then this can cause an endless loop. This patch changes the ZEXT to ANY_EXTEND if the demanded bits are equal or smaller than the size of the reduced operation. llvm-svn: 170505
-
Bill Wendling authored
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. llvm-svn: 170502
-
Craig Topper authored
llvm-svn: 170497
-
Craig Topper authored
llvm-svn: 170496
-
Craig Topper authored
Teach SimplifySetCC that comparing AssertZext i1 against a constant 1 can be rewritten as a compare against a constant 0 with the opposite condition. llvm-svn: 170495
-
Jakob Stoklund Olesen authored
The bundle_iterator::operator++ function now doesn't need to dig out the basic block and check against end(). It can use the isBundledWithSucc() flag to find the last bundled instruction safely. Similarly, MachineInstr::isBundled() no longer needs to look at iterators etc. It only has to look at flags. llvm-svn: 170473
-
Jakob Stoklund Olesen authored
Now that the bundle flag aware APIs are all in place, it is possible to continuously verify the flag consistency. llvm-svn: 170465
-
- 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
-
Jakob Stoklund Olesen authored
The bundle-related MI flags need to be kept in sync with the neighboring instructions. Don't allow the bulk flag-setting setFlags() function to change them. Also don't copy MI flags when cloning an instruction. The clone's bundle flags will be set when it is explicitly inserted into a bundle. llvm-svn: 170459
-
Jakob Stoklund Olesen authored
Remove the instr_iterator versions of the splice() functions. It doesn't seem useful to be able to splice sequences of instructions that don't consist of full bundles. The normal splice functions that take MBB::iterator arguments are not changed, and they can move whole bundles around without any problems. llvm-svn: 170456
-
Andrew Trick authored
llvm-svn: 170454
-
Andrew Trick authored
llvm-svn: 170453
-
Andrew Trick authored
llvm-svn: 170452
-
Andrew Trick authored
llvm-svn: 170451
-
Andrew Trick authored
llvm-svn: 170450
-
Andrew Trick authored
llvm-svn: 170449
-
Jakob Stoklund Olesen authored
The normal insert() function takes an MBB::iterator position, and inserts a stand-alone MachineInstr as before. The insert() function that takes an MBB::instr_iterator position can insert instructions inside a bundle, and will now update the bundle flags correctly when that happens. When the insert position is between two bundles, it is unclear whether the instruction should be appended to the previous bundle, prepended to the next bundle, or stand on its own. The MBB::insert() function doesn't bundle the instruction in that case, use the MIBundleBuilder class for that. llvm-svn: 170437
-