32683 Commits

Author SHA1 Message Date
Owen Anderson
1e1d693893 Comment debug code out that I accidentally uncommented last time.
llvm-svn: 37346
2007-05-29 22:43:03 +00:00
Owen Anderson
707e37c6a6 Add a place where I missed using the maximal set. Note that using the maximal
set this way is _SLOW_.  Somewhere down the line, I'll look at speeding it up.

llvm-svn: 37345
2007-05-29 22:35:41 +00:00
Evan Cheng
b1ba206831 If there is an empty block between a source and its successor block, it still requires a unconditional branch.
llvm-svn: 37344
2007-05-29 22:31:16 +00:00
Owen Anderson
83bd7bcf6c Very first part of a GVN-PRE implementation. It currently performs a bunch of analysis, and nothing more. It is also quite slow for the moment. However,
it should give a sense of what's going on.

llvm-svn: 37343
2007-05-29 21:53:49 +00:00
Evan Cheng
ff31eed2be Add missing const qualifiers.
llvm-svn: 37342
2007-05-29 18:42:18 +00:00
Evan Cheng
d8b25a2091 Add missing const qualifiers.
llvm-svn: 37341
2007-05-29 18:35:22 +00:00
Nicolas Geoffray
fff14eecb5 Implementation of compilation callback in PPC ELF32
llvm-svn: 37340
2007-05-29 16:33:18 +00:00
Chris Lattner
dc15e2779b more fixes to C code.
llvm-svn: 37339
2007-05-29 15:43:56 +00:00
Bill Wendling
1b255037d2 Fixed some formatting.
llvm-svn: 37338
2007-05-29 09:42:13 +00:00
Bill Wendling
597521d1f5 Added "llvmc" to the FAQ.
llvm-svn: 37337
2007-05-29 09:35:34 +00:00
Bill Wendling
0245081678 Added "doc_class" div tags to code segments.
llvm-svn: 37336
2007-05-29 09:24:33 +00:00
Bill Wendling
486876da86 Fix for PR1452. Removed "define" keyword from the C code. Added "<div
class="doc_code">" to code examples.

llvm-svn: 37335
2007-05-29 09:04:49 +00:00
Chris Lattner
da86fddf1f Add a new LLVMBuilder class, which makes it simpler and more uniform to
create large amounts of instructions by separating the insertion point
logic from the logic of what to create.

llvm-svn: 37332
2007-05-27 15:09:34 +00:00
Zhou Sheng
3e018c3e3e Correct the logic in LowerPartSet which cleared the bits from 0 to low-1.
llvm-svn: 37331
2007-05-26 03:43:13 +00:00
Chris Lattner
5161203d52 tighten up recursion depth again
llvm-svn: 37330
2007-05-25 02:19:06 +00:00
Devang Patel
3eb349409f Disable Tail Merging for now.
llvm-svn: 37329
2007-05-25 01:00:24 +00:00
Evan Cheng
36164f93fd Silly boog.
llvm-svn: 37328
2007-05-25 00:59:01 +00:00
Chris Lattner
4b6160d0da remove contradiction owen noticed
llvm-svn: 37327
2007-05-24 19:13:27 +00:00
Chris Lattner
8d43dc619d Fix PR1446 by not scalarrepl'ing giant structures.
llvm-svn: 37326
2007-05-24 18:43:04 +00:00
Chris Lattner
5743ab17d4 testcase for PR1446
llvm-svn: 37325
2007-05-24 18:42:47 +00:00
Dale Johannesen
86fb3a132a Blocks that cond-br and uncond-br/fallthrough to same block should have
only one successor.

llvm-svn: 37324
2007-05-24 18:31:55 +00:00
Dale Johannesen
ecaa8a0fb4 Fix for PR1444: do not create two successors to the same block.
Temporarily, this breaks CodeGen/Generic/2006-02-12-InsertLibraryCall.ll
by exposing an unrelated latent problem; working on that.

llvm-svn: 37323
2007-05-24 17:39:32 +00:00
Zhou Sheng
377a4d443b Compute the correct word number.
llvm-svn: 37322
2007-05-24 15:03:18 +00:00
Dan Gohman
2c5d31ee81 Minor comment cleanups.
llvm-svn: 37321
2007-05-24 14:36:04 +00:00
Dan Gohman
1b1932dda5 Add explicit qualification for namespace MVT members.
llvm-svn: 37320
2007-05-24 14:33:05 +00:00
Dan Gohman
a98a5763f9 Add cases for v2f32.
llvm-svn: 37319
2007-05-24 14:29:12 +00:00
Evan Cheng
439bf58dc2 Fix a typo that caused combiner to create mal-formed pre-indexed store where value store is the same as the base pointer.
llvm-svn: 37318
2007-05-24 02:35:39 +00:00
Evan Cheng
e69eb98312 Add a new test case.
llvm-svn: 37317
2007-05-24 02:31:15 +00:00
Dale Johannesen
54db6d2e4d tail merging shrinks this code a bit. Could do more in future.
llvm-svn: 37316
2007-05-23 21:09:26 +00:00
Dale Johannesen
d0b7bbe261 Two tail merging improvements:
When considering blocks with more than 2 predecessors, merge the block with
the largest number of matching insns, rather than the first block found.
Considering that 1 matching insn is enough to show a win for candidates that
already end with a branch.

llvm-svn: 37315
2007-05-23 21:07:20 +00:00
Devang Patel
bf5c49f62c Add dump() routines for debugging assistance.
llvm-svn: 37314
2007-05-23 19:55:36 +00:00
Anton Korobeynikov
0f184e86ab Mark all calls as "could throw", when exceptions are enabled. Emit necessary LP info too. This fixes PR1439
llvm-svn: 37311
2007-05-23 11:08:31 +00:00
Chris Lattner
d540c6429f prevent exponential recursion in isNegatibleForFree
llvm-svn: 37310
2007-05-23 07:35:22 +00:00
Evan Cheng
3f44824179 Preliminary iterative if-conversion support.
llvm-svn: 37309
2007-05-23 07:23:16 +00:00
Evan Cheng
80122ab529 Hooks for predication support.
llvm-svn: 37308
2007-05-23 07:22:05 +00:00
Evan Cheng
9f763bd3fd Rename a parameter.
llvm-svn: 37307
2007-05-23 07:21:11 +00:00
Evan Cheng
f2d1d0124e Add a couple of target hooks for predication.
llvm-svn: 37306
2007-05-23 07:19:12 +00:00
Chris Lattner
d339f51afd when merging two alias sets together, be sure to propagate the volatility of
the inner set.  This fixes PR1435 and Transforms/LICM/2007-05-22-VolatileSink.ll

llvm-svn: 37305
2007-05-23 06:36:35 +00:00
Chris Lattner
79251e9dcc new testcase for PR1435
llvm-svn: 37304
2007-05-23 06:35:52 +00:00
Chris Lattner
3928e8e16d make these accessors private.
llvm-svn: 37302
2007-05-23 05:46:04 +00:00
Devang Patel
c81283a894 If user wants to run instcombine twice, do not block it.
llvm-svn: 37301
2007-05-23 05:08:52 +00:00
Chris Lattner
022e599e9f final updates
llvm-svn: 37299
2007-05-23 04:39:32 +00:00
Chris Lattner
4cc07421ee fix a miscompilation when passing a float through varargs
llvm-svn: 37297
2007-05-23 01:17:04 +00:00
Reid Spencer
31622dd4a9 The Intrinsic::getDeclaration function's Tys parameter only contains the
types of the iAny types involved in the overloaded intrinsic. Thus, we
can't use the argument number as the index but have to count them separately
in order to index Tys correctly. This patch rectifies this situation.

llvm-svn: 37296
2007-05-22 19:30:31 +00:00
Reid Spencer
c60a73917d Reinstate the patch for escaping non-printing characters and allow for
\\ to escape \. All these cases are now handled by the AsmParser.

llvm-svn: 37295
2007-05-22 19:27:35 +00:00
Reid Spencer
b989fcc157 Regenerate.
llvm-svn: 37294
2007-05-22 19:08:16 +00:00
Reid Spencer
e7aa6d1247 Don't allow the UnEscape code to read or write beyond the end of yytext.
Make sure we convert \\ into \.

llvm-svn: 37293
2007-05-22 19:07:45 +00:00
Reid Spencer
c0e0e864b3 Regenerate.
llvm-svn: 37292
2007-05-22 18:52:55 +00:00
Reid Spencer
4c7237fdca Implement full unescaping of escaped hex characters in all quoted identifiers
and strings.

llvm-svn: 37291
2007-05-22 18:52:21 +00:00
Dale Johannesen
29f7ee3855 Document boolOrDefault and its parser.
llvm-svn: 37290
2007-05-22 18:32:34 +00:00