Commit Graph

42979 Commits

Author SHA1 Message Date
Fariborz Jahanian a591a12ea5 Allow property in base class to be implemented in a
derived class.

llvm-svn: 50074
2008-04-21 23:57:08 +00:00
Ted Kremenek efa92f1dfc Added missing expected-warning.
llvm-svn: 50073
2008-04-21 23:45:26 +00:00
Ted Kremenek 503924bb9c Added null dereference test case looking for null dereferences involving MemberExpr.
llvm-svn: 50072
2008-04-21 23:44:17 +00:00
Ted Kremenek 38213f9573 Added support for detected bad dereferences involving MemberExprs, e.g. x->f where "x" is NULL.
llvm-svn: 50071
2008-04-21 23:43:38 +00:00
Ted Kremenek 405cf2daf9 Remove unused "verbose" argument to compile(). Also unbreaks ccc-analyzer.
llvm-svn: 50066
2008-04-21 21:58:05 +00:00
Fariborz Jahanian c6bec7b6dc More semantics checks of properties. Property implementation can implicitly use
ivar of same name. 
Better diagnostics to bring home this point.

llvm-svn: 50065
2008-04-21 21:57:36 +00:00
Gabor Greif f386da0aec fix some residual old API that fell thru the cracks of the conversion script, closes http://llvm.org/bugs/show_bug.cgi?id=2246
llvm-svn: 50062
2008-04-21 21:31:55 +00:00
Fariborz Jahanian f2a7d7c949 Support for @dynamic AST build.
More property semantics checking.
First test case for ObjC2's property implementation.

llvm-svn: 50057
2008-04-21 21:05:54 +00:00
Ted Kremenek 74a58d780a Pass "-arch" down to clang.
llvm-svn: 50056
2008-04-21 20:28:01 +00:00
Chris Lattner 0dcd9aa8fd Fix pasto, thanks to Anders for pointing this out.
llvm-svn: 50055
2008-04-21 20:19:54 +00:00
Dan Gohman dc90919d2b Fix an out-of-bounds access in -view-sunit-dags in the case of an
empty ScheduleDAG.

llvm-svn: 50054
2008-04-21 20:07:30 +00:00
Dan Gohman db08f5218e Fix the encoding of the MMX movd that moves from MMX to 64-bit GPR.
llvm-svn: 50053
2008-04-21 19:52:29 +00:00
Dan Gohman 79fff7cf85 Fix the way AliasSet::print prints "may alias".
llvm-svn: 50051
2008-04-21 19:48:48 +00:00
Fariborz Jahanian a054e99fa8 Continuation of work on ObjC2's properties.
Added iterators, methods to find property and categories.
Use them in doing semantic analysis on property implementation
declarations. Fixed typos.

llvm-svn: 50050
2008-04-21 19:04:53 +00:00
Chris Lattner 17df24e736 add arm support
llvm-svn: 50049
2008-04-21 18:56:49 +00:00
Chris Lattner bab7bec9c8 fix grammar-o, thanks to Duncan for noticing.
llvm-svn: 50047
2008-04-21 18:25:01 +00:00
Duncan Sands db70198618 Make these structs larger to ensure that they
are returned by struct return.

llvm-svn: 50038
2008-04-21 08:17:05 +00:00
Duncan Sands 568e5c2461 Make the struct bigger, to ensure it is returned
by struct return.

llvm-svn: 50037
2008-04-21 08:12:03 +00:00
Owen Anderson 2988ccad6a Use GVN in LTO instead of GCSE+LoadVN.
llvm-svn: 50036
2008-04-21 07:51:07 +00:00
Owen Anderson a5b96ecef9 Remove unneeded #include's.
llvm-svn: 50035
2008-04-21 07:47:38 +00:00
Owen Anderson 6a7355caa2 Refactor memcpyopt based on Chris' suggestions. Consolidate several functions
and simplify code that was fallout from the separation of memcpyopt and gvn.

llvm-svn: 50034
2008-04-21 07:45:10 +00:00
Duncan Sands 5429033c03 Fix a "large integer implicitly truncated to unsigned type"
warning.

llvm-svn: 50033
2008-04-21 07:35:28 +00:00
Chris Lattner 00cab5b9a6 don't print dominators every time it is computed with -debug.
llvm-svn: 50032
2008-04-21 06:19:02 +00:00
Chris Lattner d5fbc8f0af another bug introduced in r47802 by nicholas, for no apparent reason.
llvm-svn: 50031
2008-04-21 06:12:55 +00:00
Chris Lattner a89143f1e0 Add an ugly note.
llvm-svn: 50029
2008-04-21 04:46:30 +00:00
Chris Lattner 0645b88852 Add jump threading to liblto.
llvm-svn: 50028
2008-04-21 04:31:40 +00:00
Chris Lattner ba994f7cdf run the jump threading pass in llvm-ld also
llvm-svn: 50027
2008-04-21 04:28:40 +00:00
Chris Lattner b15e1f963d enable jump threading pass by default. This causes no miscompilations
and can significantly shrinkify some code, particularly from C++ land.

llvm-svn: 50025
2008-04-21 04:22:09 +00:00
Chris Lattner 67bec133b2 fix a bug introduced by Nicholas' "unwinds to" stuff: we
lost newlines between blocks.

llvm-svn: 50024
2008-04-21 04:20:33 +00:00
Chris Lattner ad0d42ba15 don't assume that the argument passed to fprintf("%s" is a string. This
fixes a crash in opt on 433.milc.

llvm-svn: 50023
2008-04-21 03:18:33 +00:00
Chris Lattner f6236cc2e9 Use the new SplitBlockPredecessors to implement a todo.
llvm-svn: 50022
2008-04-21 02:57:57 +00:00
Douglas Gregor 89f238cbe1 Clean up handling of function redeclarations
llvm-svn: 50021
2008-04-21 02:02:58 +00:00
Chris Lattner a5b11705b6 Move SplitBlockPredecessors out of loopsimplify into BasicBlockUtils.h
as a global helper function.  At the same type, switch it from taking
a vector of predecessors to an arbitrary sequential input.  This allows
us to switch LoopSimplify to use a SmallVector for various temporary
vectors that it passed into SplitBlockPredecessors.

llvm-svn: 50020
2008-04-21 01:28:02 +00:00
Chris Lattner d418b06abf Move domtree/frontier updating earlier, allowing us to use it to update phi
nodes, removing a hack.

llvm-svn: 50019
2008-04-21 01:05:08 +00:00
Chris Lattner 96e9e22269 Factor dominator tree and frontier updating into SplitBlockPredecessors
instead of doing it after every call.

llvm-svn: 50018
2008-04-21 00:54:38 +00:00
Chris Lattner 559c867ece fit some more code in 80 cols.
llvm-svn: 50016
2008-04-21 00:25:49 +00:00
Chris Lattner aca912d793 simplify code, fit in 80 cols.
llvm-svn: 50015
2008-04-21 00:23:14 +00:00
Chris Lattner 38806c3e9c fit in 80 cols
llvm-svn: 50014
2008-04-21 00:19:16 +00:00
Ted Kremenek 5fa90e49a9 Fix improper dereference of end() iterator. Patch by Argiris Kirtzidis!
llvm-svn: 50012
2008-04-20 23:54:24 +00:00
Nicolas Geoffray 481f44e12f Be pessimistic in computing the buffer size when aligning.
llvm-svn: 50008
2008-04-20 23:39:44 +00:00
Nicolas Geoffray 984e7199cc Don't forget to update the current operand when getting the size of an instruction.
llvm-svn: 50007
2008-04-20 23:36:47 +00:00
Chris Lattner ff1c6e388c finish the first cut of a jump threading pass implementation.
llvm-svn: 50006
2008-04-20 22:39:42 +00:00
Chris Lattner 567166c0a8 replace a slow and verbose version of Instruction::isUsedOutsideOfBlock with
a call to Instruction::isUsedOutsideOfBlock.

llvm-svn: 50005
2008-04-20 22:18:22 +00:00
Chris Lattner 8ec6e8af60 add a handy helper method to instruction, useful for determining
whether it is used outside of some block.  This can be used to see
if there are any non-local references, for example.

llvm-svn: 50004
2008-04-20 22:11:30 +00:00
Chris Lattner 9c1f1a82bf we can only thread blocks when there is a pred we can determine the succ of.
llvm-svn: 50003
2008-04-20 21:18:09 +00:00
Chris Lattner 2115722ffa improve comments, infrastructure, and add some validity checks for threading.
Add a cost function.

llvm-svn: 50002
2008-04-20 21:13:06 +00:00
Nate Begeman 1c906206b8 Fix PR2236
Add test
Implement feedback from Chris re: PR1998

llvm-svn: 50001
2008-04-20 20:38:08 +00:00
Chris Lattner b3b6007c8b Add a new Jump Threading pass, which will handle cases
such as those in PR2235.  Right now the pass is not very
effective. :)

llvm-svn: 50000
2008-04-20 20:35:01 +00:00
Chris Lattner 912bec79ca hopefully resolve PR2240
llvm-svn: 49999
2008-04-20 19:59:12 +00:00
Chris Lattner 14cd1ee95f Two improvements to initializer parsing:
1. If we hit a semantic error, try harder to recover to emit
   diagnostics for later initializer errors (PR2241).
2. Don't leak parsed initializers on an error.

llvm-svn: 49998
2008-04-20 19:07:56 +00:00