- Jun 28, 2010
-
-
Gabor Greif authored
llvm-svn: 107017
-
Gabor Greif authored
llvm-svn: 107016
-
Gabor Greif authored
llvm-svn: 107015
-
Gabor Greif authored
llvm-svn: 107014
-
Dan Gohman authored
interprocedurally. Note that as of this writing, existing alias analysis passes are not prepared to be used interprocedurally. llvm-svn: 107013
-
Daniel Dunbar authored
block, not...", it caused a bunch of nightly test regressions. llvm-svn: 107009
-
Gabor Greif authored
llvm-svn: 107004
-
Gabor Greif authored
llvm-svn: 107003
-
Gabor Greif authored
llvm-svn: 107002
-
Gabor Greif authored
llvm-svn: 107000
-
Devang Patel authored
llvm-svn: 106990
-
Devang Patel authored
Use named MDNode, llvm.dbg.sp, to collect subprogram info. This will be used to emit local variable's debug info of deleted functions. llvm-svn: 106989
-
Jim Grosbach authored
llvm-svn: 106988
-
- Jun 27, 2010
-
-
Devang Patel authored
Do not forget last element, function, while creating Subprogram definition MDNode from subprogram declare MDNode. llvm-svn: 106985
-
Chris Lattner authored
large integers, the first inserted value would always create an 'or X, 0'. Even though this is trivially zapped by instcombine, don't bother creating this pointless instruction. llvm-svn: 106979
-
- Jun 26, 2010
-
-
Rafael Espindola authored
This produces terrible but correct code. llvm-svn: 106952
-
Bob Wilson authored
regressions. --- Reverse-merging r106939 into '.': U test/CodeGen/Thumb2/thumb2-ifcvt3.ll U lib/CodeGen/IfConversion.cpp llvm-svn: 106951
-
Duncan Sands authored
the returned value after the tail call if it differs from other return values. The optimal thing to do would be to introduce a phi node for the return value, but for the moment just fix the miscompile. llvm-svn: 106947
-
Gabor Greif authored
llvm-svn: 106946
-
Gabor Greif authored
llvm-svn: 106945
-
Gabor Greif authored
llvm-svn: 106944
-
Benjamin Kramer authored
llvm-svn: 106943
-
Gabor Greif authored
llvm-svn: 106942
-
Eli Friedman authored
llvm-svn: 106940
-
Bob Wilson authored
if-conversion. The RemoveExtraEdges function doesn't work for blocks that end with unanalyzable branches, so in those cases, the "extra" edges must be explicitly removed. The CopyAndPredicateBlock and MergeBlocks methods can also avoid copying successor edges due to branches that have already been removed. The latter case is especially helpful when MergeBlocks is called for handling "diamond" if-conversions, where otherwise you can end up with some weird intermediate states in the CFG. Unfortunately I've been unable to find cases where this cleanup actually makes a significant difference in the code. There is one test where we manage to remove an empty block at the end of a function. Radar 6911268. llvm-svn: 106939
-
Bob Wilson authored
llvm-svn: 106938
-
Evan Cheng authored
llvm-svn: 106935
-
Jakob Stoklund Olesen authored
CopyFromReg nodes for aliasing registers (AX and AL). This confuses the fast register allocator. Instead of CopyFromReg(AL), use ExtractSubReg(CopyFromReg(AX), sub_8bit). This fixes PR7312. llvm-svn: 106934
-
Bob Wilson authored
llvm-svn: 106927
-
Bob Wilson authored
"N..." instead of "NEON..." for consistency with the other NEON format names. llvm-svn: 106921
-
Bruno Cardoso Lopes authored
llvm-svn: 106917
-
Bob Wilson authored
Renumber MiscFrm to 25. llvm-svn: 106916
-
Bruno Cardoso Lopes authored
Add several AVX MOV flavors Support VEX encoding for MRMDestReg llvm-svn: 106912
-
Daniel Dunbar authored
introduced in r106343, but only showed up recently (with a particular compiler & linker combination) because of the particular check, and because we have no builtin checking for dereferencing the end of an array, which is truly unfortunate. llvm-svn: 106908
-
Jim Grosbach authored
just at the head, when doing diamond if-conversion. rdar://7797940 llvm-svn: 106907
-
Bruno Cardoso Lopes authored
llvm-svn: 106906
-
Jakob Stoklund Olesen authored
The VNInfo.kills vector was almost unused except for all the code keeping it updated. The few places using it were easily rewritten to check for interval ends instead. The two new methods LiveInterval::killedAt and killedInRange are replacements. This brings us down to 3 independent data structures tracking kills. llvm-svn: 106905
-
Evan Cheng authored
llvm-svn: 106901
-
Bob Wilson authored
emitNEON2RegInstruction's handling of 2-address operands. llvm-svn: 106900
-
Dan Gohman authored
SCEVUnknown values which are loop-variant, as LSR can't do anything interesting with these values in any case. This fixes very slow compile times on loops which have large numbers of such values. llvm-svn: 106897
-