- Dec 18, 2008
-
-
Dan Gohman authored
that of INSERT_SUBREG and SUBREG_TO_REG. llvm-svn: 61218
-
Dan Gohman authored
llvm-svn: 61217
-
Dan Gohman authored
llvm-svn: 61216
-
Dan Gohman authored
used, mark the defs as dead. llvm-svn: 61215
-
Dan Gohman authored
non-entry blocks, so that it doesn't appear use-before-def anywhere. llvm-svn: 61214
-
Dan Gohman authored
llvm-svn: 61213
-
Douglas Gregor authored
llvm-svn: 61212
-
Mon P Wang authored
llvm-svn: 61211
-
Mon P Wang authored
llvm-svn: 61210
-
Mon P Wang authored
llvm-svn: 61209
-
Douglas Gregor authored
become useful or correct until we (1) parse template arguments correctly, (2) have some way to turn template-ids into types, declarators, etc., and (3) have a real representation of templates. llvm-svn: 61208
-
Ted Kremenek authored
llvm-svn: 61205
-
Fariborz Jahanian authored
code gen which did not belong there. llvm-svn: 61203
-
-
Evan Cheng authored
llvm-svn: 61201
-
Chris Lattner authored
array size declarators. No need to go through all the trouble of parsing crazy things like [static const 4] when most code doesn't need it. llvm-svn: 61200
-
Chris Lattner authored
llvm-svn: 61199
-
Chris Lattner authored
these completely ignore parsed attributes anyway, so don't try to read them. llvm-svn: 61198
-
Chris Lattner authored
emit duplicate diags (some in parser and some in sema) and to warn about use of typequals in array sizes. This implements PR2759. llvm-svn: 61197
-
Nick Lewycky authored
Simplifying the sdiv might allow further simplifications for our users. llvm-svn: 61196
-
Nick Lewycky authored
llvm-svn: 61195
-
Chris Lattner authored
bit from the original function to the cloned one. llvm-svn: 61194
-
Zhongxing Xu authored
llvm-svn: 61193
-
Daniel Dunbar authored
- Update comment to reflect fact that StructRet is now supported for any type (modulo LLVM support). - No functionality change, no scalar types currently use this feature. llvm-svn: 61192
-
Mikhail Glushenkov authored
llvm-svn: 61191
-
Nick Lewycky authored
llvm-svn: 61189
-
Chris Lattner authored
void foo() { return foo(); } llvm-svn: 61188
-
Chris Lattner authored
Fix PR2790 by making a warning an EXTWARN instead of EXTENSION. Add a new EXTENSION warning for "return (some void expression);" llvm-svn: 61187
-
Dan Gohman authored
llvm-svn: 61184
-
Dan Gohman authored
folding's tail merging doesn't currently preserve liveness information which post-RA scheduling requires. llvm-svn: 61183
-
Owen Anderson authored
llvm-svn: 61182
-
Dale Johannesen authored
llvm-svn: 61181
-
Chris Lattner authored
llvm-svn: 61180
-
Dan Gohman authored
and the RegisterScavenger not to expect traditional liveness techniques are applicable to these registers, since we don't fully modify the effects of push and pop after stackification. llvm-svn: 61179
-
Dale Johannesen authored
my last patch to this file. The issue there was that all uses of an IV inside a loop are actually references to Base[IV*2], and there was one use outside that was the same but LSR didn't see the base or the scaling because it didn't recurse into uses outside the loop; thus, it used base+IV*scale mode inside the loop instead of pulling base out of the loop. This was extra bad because register pressure later forced both base and IV into memory. Doing that recursion, at least enough to figure out addressing modes, is a good idea in general; the change in AddUsersIfInteresting does this. However, there were side effects.... It is also possible for recursing outside the loop to introduce another IV where there was only 1 before (if the refs inside are not scaled and the ref outside is). I don't think this is a common case, but it's in the testsuite. It is right to be very aggressive about getting rid of such introduced IVs (CheckForIVReuse and the handling of nonzero RewriteFactor in StrengthReduceStridedIVUsers). In the testcase in question the new IV produced this way has both a nonconstant stride and a nonzero base, neither of which was handled before. (This patch does not handle all the cases where this can happen.) And when inserting new code that feeds into a PHI, it's right to put such code at the original location rather than in the PHI's immediate predecessor(s) when the original location is outside the loop (a case that couldn't happen before) (RewriteInstructionToUseNewBase); better to avoid making multiple copies of it in this case. Everything above is exercised in CodeGen/X86/lsr-negative-stride.ll (and ifcvt4 in ARM which is the same IR). llvm-svn: 61178
-
Chris Lattner authored
and safe and orthogonal from turning off load pre. llvm-svn: 61177
-
Bill Wendling authored
llvm-svn: 61176
-
Chris Lattner authored
llvm-svn: 61175
-
Bill Wendling authored
llvm-svn: 61174
-
Ted Kremenek authored
llvm-svn: 61173
-