Commit Graph

41628 Commits

Author SHA1 Message Date
Bill Wendling 92e52c636f Add testcase.
llvm-svn: 48005
2008-03-06 23:34:22 +00:00
Bill Wendling 55bfd8c3f7 When setting the "unused" info, take into account something like this:
%r3<def> = OR %x3<kill>, %x3

We don't want to mark the %r3 as unused even though it's a sub-register of %x3.

llvm-svn: 48003
2008-03-06 23:22:43 +00:00
Evan Cheng 34173f0a43 80 col violation.
llvm-svn: 47998
2008-03-06 17:42:34 +00:00
Gabor Greif 636ab19205 some more spelling changes
llvm-svn: 47996
2008-03-06 10:51:21 +00:00
Gabor Greif 3a8edd8536 fix typos
llvm-svn: 47995
2008-03-06 10:40:09 +00:00
Gabor Greif ad19df0687 fix typos
llvm-svn: 47994
2008-03-06 10:36:00 +00:00
Evan Cheng a3cb090446 Constant fold SIGN_EXTEND_INREG with ashr not lshr.
llvm-svn: 47992
2008-03-06 08:20:51 +00:00
Ted Kremenek f458289484 Fixed mismatched deallocation in GRBlockCounter::Factory::~Factory.
Reported by Zhongxing Xu!

llvm-svn: 47991
2008-03-06 08:09:22 +00:00
Nick Lewycky b2e3c31587 Exercise the new CFG change.
llvm-svn: 47990
2008-03-06 06:55:58 +00:00
Nick Lewycky 19b0df202e Treat BBs that use BBs as proper predecessors and successors in the CFG.
llvm-svn: 47989
2008-03-06 06:54:53 +00:00
Nick Lewycky 3e2d7c9f85 Commit the testcase too.
llvm-svn: 47988
2008-03-06 06:50:03 +00:00
Nick Lewycky d0b62a1552 Don't try to simplify urem and srem using arithmetic rules that don't work
under modulo (overflow). Fixes PR1933.

llvm-svn: 47987
2008-03-06 06:48:30 +00:00
Chris Lattner 54ee63886e remove two obsolete tests, not sure why my previous commit didn't commit the removal.
llvm-svn: 47986
2008-03-06 05:47:17 +00:00
Scott Michel e9b690b7f1 Refine Cell's i64 constant generation code to cover more constants where the
upper and lower 32-bits are the same (in addition to 0 and -1 previously.)

llvm-svn: 47985
2008-03-06 04:02:54 +00:00
Ted Kremenek ea6507fe04 Added boilerplate to execute the CF reference count checker (which isn't yet implemented).
llvm-svn: 47982
2008-03-06 00:08:09 +00:00
Andrew Lenharth dcabdb1b38 gcc likes things spelled correctly
llvm-svn: 47981
2008-03-05 23:41:37 +00:00
Devang Patel 26cabc447c Skip, for now, callsites where use of sret argument is not dominated by callsite.
llvm-svn: 47980
2008-03-05 23:39:23 +00:00
Ted Kremenek 82d506de29 Added "CheckerState" field to ValueState.
llvm-svn: 47979
2008-03-05 23:32:23 +00:00
Dale Johannesen 0d235052d1 Next bit of PPC ByVal handling; call-site code seems
correct now.

llvm-svn: 47978
2008-03-05 23:31:27 +00:00
Anton Korobeynikov 2609888f29 Missed patch from my last commit
llvm-svn: 47977
2008-03-05 23:21:39 +00:00
Anton Korobeynikov e43711d392 Resolve aliases to aliasees, where possible
llvm-svn: 47975
2008-03-05 23:08:47 +00:00
Anton Korobeynikov 24f65c3ab7 Handle functions as targets during linking of aliases as well
llvm-svn: 47974
2008-03-05 23:08:16 +00:00
Scott Michel 42f56b4838 - Fix support for "special" i64 immediates that can be loaded
using IL, ILA, et. al. v2i64 and i64 are now supported by
  the select bits (SELB) instruction.

- Add missing comparison operations (testcase forthcoming)

- More multiclass refactoring.

llvm-svn: 47973
2008-03-05 23:02:02 +00:00
Scott Michel 48072bf179 - Expand tabs to spaces.
- select_bits.ll now fully functional now that PR1993 is closed. It was
  previously broken by refactoring in SPUInstrInfo.td and using multiclasses.
- Same for eqv.ll

llvm-svn: 47972
2008-03-05 23:00:19 +00:00
Ted Kremenek 4c38955dab Added transfer function support for __builtin_expect.
llvm-svn: 47971
2008-03-05 22:59:42 +00:00
Ted Kremenek 9743b3913f Small bug fix when handling CallExprs that generate sink nodes.
llvm-svn: 47970
2008-03-05 22:49:16 +00:00
Steve Naroff 1c703ef97f Update vcproj file.
llvm-svn: 47969
2008-03-05 22:30:39 +00:00
Anton Korobeynikov dac5fa94ef Try hard to link aliases. Checks can be too strict by now.
llvm-svn: 47968
2008-03-05 22:22:46 +00:00
Steve Naroff 93bcc7a6d2 Update vcproj files.
llvm-svn: 47967
2008-03-05 22:16:33 +00:00
Evan Cheng 29b502e0e0 Fix a coalescer bug wrt how dead copy interval is shortened.
llvm-svn: 47966
2008-03-05 22:09:42 +00:00
Devang Patel 3b1c95f885 Handle 'ret' with multiple values.
llvm-svn: 47965
2008-03-05 21:50:24 +00:00
Ted Kremenek 7034236366 Fixed bug that could case unwanted bifurcation of states when evaluating calls.
llvm-svn: 47964
2008-03-05 21:15:02 +00:00
Andrew Lenharth 7fbece5d8a test for something more interesting than not crashing
llvm-svn: 47962
2008-03-05 20:24:26 +00:00
Andrew Lenharth 04bd14db4d sync ops on ptrs, was breaking libgomp
llvm-svn: 47960
2008-03-05 19:48:27 +00:00
Daniel Berlin c3d98074a9 Add Hybrid Cycle Detection to Andersen's analysis.
Patch by Curtis Dunham.

llvm-svn: 47959
2008-03-05 19:31:47 +00:00
Ted Kremenek 0c04606d1f Fixed bogus assumption mistakenly introduced in r47955.
llvm-svn: 47958
2008-03-05 19:26:46 +00:00
Dale Johannesen 8ee39c61f2 Clarify that CALLSEQ_START..END may not be nested,
and add some protection against creating such.

llvm-svn: 47957
2008-03-05 19:14:03 +00:00
Ted Kremenek c156f1ffc6 Fixed a horribly insidious bit-masking bug in the implementation of
ExplodedNode that would occasionally result in heap corruption.

llvm-svn: 47956
2008-03-05 19:08:55 +00:00
Ted Kremenek df4a5b9047 Minor cleanups (mainly indentation).
llvm-svn: 47955
2008-03-05 19:08:15 +00:00
Chris Lattner 37e0587839 remove the source location arguments to various target query methods.
llvm-svn: 47954
2008-03-05 18:54:05 +00:00
Chris Lattner ae3429f5f1 add analysis source files to project.
llvm-svn: 47953
2008-03-05 18:22:36 +00:00
Chris Lattner 0e26639bb4 Add the various pathsensitive headers to the project.
llvm-svn: 47952
2008-03-05 18:20:02 +00:00
Chris Lattner 4cb0b08be7 ProgramEdge.h doesn't exist anymore.
llvm-svn: 47951
2008-03-05 18:18:31 +00:00
Scott Michel 944207423b This patch fixes a problem encountered by the CellSPU backend where variants
were being pruned in patterns where a variable was used more than once, e.g.:

  (or (and R32C:$rA, R32C:$rC), (and R32C:$rB, (not R32C:$rC)))

In this example, $rC is used more than once and is actually significant to
instruction selection pattern matching when commuted variants are produced.
This patch scans the pattern's clauses and collects the variables, creating
a set of variables that are used more than once. TreePatternNode::isIsomorphicTo()
also understands that multiply-used variables are significant.

llvm-svn: 47950
2008-03-05 17:49:05 +00:00
Chris Lattner 7c08a01698 evan implemented this.
llvm-svn: 47948
2008-03-05 17:11:51 +00:00
Anton Korobeynikov 6be42d2e23 Fix test not to emit junk into source directory
llvm-svn: 47947
2008-03-05 15:44:25 +00:00
Anton Korobeynikov f8e03a9b3b Testcase for PR2054
llvm-svn: 47946
2008-03-05 15:43:58 +00:00
Anton Korobeynikov 2e13597f9d Remember the source->dest mapping when copying aliases. This fixes PR2054
llvm-svn: 47945
2008-03-05 15:27:21 +00:00
Anton Korobeynikov 12cee7195f Clarify the state-of-the-art
llvm-svn: 47944
2008-03-05 15:11:00 +00:00
Bill Wendling 5ddd03d88b Use AC_PATH_PROG correctly:
http://www.gnu.org/software/autoconf/manual/autoconf.html#Generic-Programs

llvm-svn: 47943
2008-03-05 09:28:02 +00:00