- Jun 20, 2011
-
-
Jay Foad authored
Change PHINodes to store simple pointers to their incoming basic blocks, instead of full-blown Uses. Note that this loses an optimization in SplitCriticalEdge(), because we can no longer walk the use list of a BasicBlock to find phi nodes. See the comment I removed starting "However, the foreach loop is slow for blocks with lots of predecessors". Extend replaceAllUsesWith() on a BasicBlock to also update any phi nodes in the block's successors. This mimics what would have happened when PHINodes were proper Users of their incoming blocks. (Note that this only works if OldBB->replaceAllUsesWith(NewBB) is called when OldBB still has a terminator instruction, so it still has some successors.) llvm-svn: 133435
-
Jay Foad authored
Change various bits of code to make better use of the existing PHINode API, to insulate them from forthcoming changes in how PHINodes store their operands. llvm-svn: 133434
-
Jay Foad authored
I don't think the AugmentedUse struct buys us much, either in correctness or in ease of use. Ditch it, and simplify Use::getUser() and User::allocHungoffUses(). llvm-svn: 133433
-
Rafael Espindola authored
* Don't introduce a duplicated bb in the CFG * When making a branch unconditional, clear the PredCond array so that it is really unconditional. llvm-svn: 133432
-
Duncan Sands authored
dragonegg buildbots back to life. Original commit message: Teach early dup how to duplicate basic blocks with one successor and only phi instructions into more complex blocks. llvm-svn: 133430
-
Nadav Rotem authored
source vector type is to be split while the target vector is to be promoted. (eg: <4 x i64> -> <4 x i8> ) llvm-svn: 133424
-
Francois Pichet authored
Fix MSVC build. next() function already exists in the MSVC headers. This create a overload conflict. Make sure we pick up the llvm one. llvm-svn: 133416
-
Rafael Espindola authored
into more complex blocks. llvm-svn: 133415
-
Chris Lattner authored
all over the place in different styles and variants. Standardize on two preferred entrypoints: one that takes a StructType and ArrayRef, and one that takes StructType and varargs. In cases where there isn't a struct type convenient, we now add a ConstantStruct::getAnon method (whose name will make more sense after a few more patches land). It would be "really really nice" if the ConstantStruct::get and ConstantVector::get methods didn't make temporary std::vectors. llvm-svn: 133412
-
- Jun 19, 2011
-
-
Jay Foad authored
const Constant *. llvm-svn: 133400
-
Nadav Rotem authored
llvm-svn: 133389
-
Nadav Rotem authored
llvm-svn: 133388
-
Nadav Rotem authored
instead of scalarizing, and doing an element-by-element truncat. llvm-svn: 133382
-
Chris Lattner authored
top level type without a specified number. This syntax isn't documented and blocks forward progress. llvm-svn: 133371
-
Chris Lattner authored
llvm-svn: 133369
-
Chris Lattner authored
top level type without a specified number. This asmprinter has never generated this, as you can tell by no tests being updated. It also isn't documented. llvm-svn: 133368
-
Chris Lattner authored
much cleaner. llvm-svn: 133364
-
Chris Lattner authored
llvm-svn: 133363
-
- Jun 18, 2011
-
-
Chris Lattner authored
llvm-svn: 133362
-
Chris Lattner authored
now that Type::getDescription() is dead, the TypePrinting class can move from Assembly/Writer.h to being a private class in AsmWriter.cpp. llvm-svn: 133361
-
Chris Lattner authored
removes some gunk from LLVMContext. llvm-svn: 133360
-
Chris Lattner authored
temporary std::string for every function being checked. llvm-svn: 133355
-
Benjamin Kramer authored
llvm-svn: 133352
-
Benjamin Kramer authored
llvm-svn: 133351
-
Benjamin Kramer authored
llvm-svn: 133350
-
Hans Wennborg authored
llvm-svn: 133349
-
Benjamin Kramer authored
llvm-svn: 133348
-
Benjamin Kramer authored
llvm-svn: 133347
-
Hans Wennborg authored
In cases such as the attached test, where the case value for a switch destination is used in a phi node that follows the destination, it might be better to replace that value with the condition value of the switch, so that more blocks can be folded away with TryToSimplifyUncondBranchFromEmptyBlock because there are less conflicts in the phi node. llvm-svn: 133344
-
Cameron Zwarich authored
type's bitwidth matches the (allocated) size of the alloca. This severely pessimizes vector scalar replacement when the only vector type being used is something like <3 x float> on x86 or ARM whose allocated size matches a <4 x float>. I hope to fix some of the flawed assumptions about allocated size throughout scalar replacement and reenable this in most cases. llvm-svn: 133338
-
Chris Lattner authored
for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the target indep prefetch change. As usual, updating the testsuite is a PITA. llvm-svn: 133337
-
Cameron Zwarich authored
alloca. Fixes part of <rdar://problem/9580800>. llvm-svn: 133336
-
Cameron Zwarich authored
unless ScalarKind is Vector. llvm-svn: 133335
-
Jakob Stoklund Olesen authored
llvm-svn: 133331
-
Jakob Stoklund Olesen authored
This slightly changes the GPR allocation order on Darwin where R9 is not a callee-saved register: Before: %R0 %R1 %R2 %R3 %R12 %R9 %LR %R4 %R5 %R6 %R8 %R10 %R11 After: %R0 %R1 %R2 %R3 %R9 %R12 %LR %R4 %R5 %R6 %R8 %R10 %R11 llvm-svn: 133326
-
Jakob Stoklund Olesen authored
llvm-svn: 133325
-
Jakob Stoklund Olesen authored
llvm-svn: 133321
-
Bill Wendling authored
* Make this used only if CFI is used. llvm-svn: 133319
-
Eric Christopher authored
range without a libcall to a new mulo<mode> libcall that we'd have to create. Finishes the rest of rdar://9090077 and rdar://9210061 llvm-svn: 133318
-
Bill Wendling authored
llvm-svn: 133314
-