Ted Kremenek
9346a56793
Add FIXME.
...
llvm-svn: 86004
2009-11-04 04:24:44 +00:00
Ted Kremenek
ef910047b2
Catch uses of undefined values when they are used in assignment, thus catching such bugs closer to the source.
...
llvm-svn: 86003
2009-11-04 04:24:16 +00:00
Ted Kremenek
9db38f6f83
Add mising #ifdef guards.
...
llvm-svn: 86002
2009-11-04 04:03:43 +00:00
John McCall
4976fd4ea9
Diagnose the use of 'fastcall' on functions without prototypes or with
...
varargs prototypes.
llvm-svn: 86001
2009-11-04 03:36:09 +00:00
Evan Cheng
2969877eea
Silence implicit conversion warnings.
...
llvm-svn: 86000
2009-11-04 03:08:57 +00:00
John McCall
9eff4e60ae
Diagnose __builtin_offsetof on incomplete types. Fixes
...
rdar://problem/7222956
llvm-svn: 85999
2009-11-04 03:03:43 +00:00
John McCall
28a6aeab7e
Change our basic strategy for avoiding deprecation warnings when the decl use
...
appears in a deprecated context. In the new strategy, we emit the warnings
as usual unless we're currently parsing a declaration, where "declaration" is
restricted to mean a decl group or a few special cases in Objective C. If
we *are* parsing a declaration, we queue up the deprecation warnings until
the declaration has been completely parsed, and then emit them only if the
decl is not deprecated.
We also standardize the bookkeeping for deprecation so as to avoid special cases.
llvm-svn: 85998
2009-11-04 02:18:39 +00:00
Lang Hames
88fa1e6c01
Another spurious friend declaration removed.
...
llvm-svn: 85997
2009-11-04 01:52:40 +00:00
Zhongxing Xu
259d46407a
Merge ZeroSizedVLAChecker and UndefSizedVLAChecker.
...
llvm-svn: 85996
2009-11-04 01:43:07 +00:00
Lang Hames
cd72c7b2b6
Removed an unnecessary friend declaration and some crufty comments from IndexListEntry.
...
llvm-svn: 85995
2009-11-04 01:34:22 +00:00
Douglas Gregor
90790c7781
Fix CMake makefiles
...
llvm-svn: 85994
2009-11-04 01:32:06 +00:00
Tanya Lattner
f9d41df093
Merge constant array and structures. This will create a global variables for arrays and structs that are constant and their initializer is constant. It is on by default but can be disable with the flag -fno-merge-all-constants.
...
llvm-svn: 85991
2009-11-04 01:18:09 +00:00
Mike Stump
b9c9b351e9
Fix 80-col violations.
...
llvm-svn: 85990
2009-11-04 01:11:15 +00:00
Douglas Gregor
71395fa1d5
Implement support for parsing dependent template-ids that refer to
...
overloaded operators, e.g.,
p->template operator+<T>()
llvm-svn: 85989
2009-11-04 00:56:37 +00:00
Mike Stump
71609a2874
Split out return adjustments in thunks from this adjustment in thunks
...
so the optimizer can tailcall into the return value adjustment thunk.
This improves codesize for complex hierarchies.
llvm-svn: 85988
2009-11-04 00:53:51 +00:00
Evan Cheng
8f4e3d99c9
Fix test.
...
llvm-svn: 85986
2009-11-04 00:42:33 +00:00
Daniel Dunbar
caa00adafd
Use unsigned char instead of unsigned : 8 to make the optimizer happier.
...
llvm-svn: 85985
2009-11-04 00:34:40 +00:00
Ted Kremenek
b006b82daf
Refactor StoreManager::BindDecl() to take a VarRegion* instead of a VarDecl*, and modify GRExprEngine::EvalBind() to handle decl initialization as well. This paves the way for adding "checker" visitation in EvalBind().
...
llvm-svn: 85983
2009-11-04 00:09:15 +00:00
Evan Cheng
3f1a92468a
Use ldr.n to workaround a darwin assembler bug.
...
llvm-svn: 85980
2009-11-04 00:00:39 +00:00
Lang Hames
05fb9637f6
The Indexes Patch.
...
This introduces a new pass, SlotIndexes, which is responsible for numbering
instructions for register allocation (and other clients). SlotIndexes numbering
is designed to match the existing scheme, so this patch should not cause any
changes in the generated code.
For consistency, and to avoid naming confusion, LiveIndex has been renamed
SlotIndex.
The processImplicitDefs method of the LiveIntervals analysis has been moved
into its own pass so that it can be run prior to SlotIndexes. This was
necessary to match the existing numbering scheme.
llvm-svn: 85979
2009-11-03 23:52:08 +00:00
Mike Stump
8117848174
Misc cleanups.
...
llvm-svn: 85978
2009-11-03 23:50:34 +00:00
Bob Wilson
53a31ad3c1
Fix branch folding bug for indirect branches: for a block containing only
...
an unconditional branch (possibly from tail merging), this code is
trying to redirect all of its predecessors to go directly to the branch
target, but that isn't feasible for indirect branches. The other
predecessors (that don't end with indirect branches) could theoretically
still be handled, but that is not easily done right now.
The AnalyzeBranch interface doesn't currently let us distinguish jump table
branches from indirect branches, and this code is currently handling
jump tables. To avoid punting on address-taken blocks, we would have to give
up handling jump tables. That seems like a bad tradeoff.
llvm-svn: 85975
2009-11-03 23:44:31 +00:00
Chris Lattner
156b8c7109
reimplement multiple return value handling in IPSCCP, making it
...
more aggressive an correct. This survives building llvm in 64-bit
mode with optimizations and the built llvm passes make check.
llvm-svn: 85973
2009-11-03 23:40:48 +00:00
Mike Stump
6de15a8881
Test case for recent checkin.
...
llvm-svn: 85972
2009-11-03 23:32:42 +00:00
Ted Kremenek
0fbbb0877d
Change GRTransferFuncs::RegisterChecks() to take a GRExprEngine& instead of a BugReporter&. This paves the way for pulling some of the retain/release checker into a "Checker" class.
...
llvm-svn: 85971
2009-11-03 23:30:34 +00:00
Mike Stump
53f9ded62b
Refine volatile handling, specifically, we must have the canonical
...
type to look at the volatile specifier. I found these all from just
hand auditing the code.
llvm-svn: 85967
2009-11-03 23:25:48 +00:00
Douglas Gregor
3cf81317e4
Parsing and semantic analysis for template-ids that name overloaded
...
operators, e.g.,
operator+<int>
which now works in declarators, id-expressions, and member access
expressions. This commit only implements the non-dependent case, where
we can resolve the template-id to an actual declaration.
llvm-svn: 85966
2009-11-03 23:16:33 +00:00
Evan Cheng
b376ce0169
Fix t2Int_eh_sjlj_setjmp. Immediate form of orr is a 32-bit instruction. So it should be 22 bytes instead of 20 bytes long.
...
llvm-svn: 85965
2009-11-03 23:13:34 +00:00
Bill Wendling
2c76d6dcea
Use llvm-gcc on newer Darwins.
...
llvm-svn: 85963
2009-11-03 22:50:10 +00:00
Nuno Lopes
f94d35387e
make 'make clean' work on Solaris, per Gabor Greif comment
...
llvm-svn: 85958
2009-11-03 22:39:56 +00:00
Nuno Lopes
6a20b2df3e
make 'make clean' clean everything
...
llvm-svn: 85957
2009-11-03 22:21:28 +00:00
Mike Stump
96638affa6
We have to ensure we have the canonical type to do this. This is but
...
one instance of a large problem. assert for non-canoical types would
help track down these things.
llvm-svn: 85956
2009-11-03 22:20:01 +00:00
Nuno Lopes
c789dd7d9d
set svn:ignore
...
llvm-svn: 85955
2009-11-03 22:17:39 +00:00
Nuno Lopes
14d524395d
set svn:ignore
...
llvm-svn: 85953
2009-11-03 22:07:07 +00:00
Evan Cheng
0410bced1c
fconsts / fconstd immediate should be proceeded with #.
...
llvm-svn: 85952
2009-11-03 21:59:33 +00:00
Chris Lattner
6e41c79763
fix broken link
...
llvm-svn: 85951
2009-11-03 21:50:09 +00:00
Evan Cheng
f42b5af549
Re-apply 85799. It turns out my code isn't buggy.
...
llvm-svn: 85947
2009-11-03 21:40:02 +00:00
Chris Lattner
9122fa2d1e
fix test
...
llvm-svn: 85946
2009-11-03 21:26:26 +00:00
Chris Lattner
69c523c813
merge a test into ipsccp-basic. running llvm-ld to get one pass is... bad.
...
llvm-svn: 85945
2009-11-03 21:25:50 +00:00
Douglas Gregor
127ea59872
Tweak some comments about unqualified-id and id-expression parsing. No functionality change
...
llvm-svn: 85942
2009-11-03 21:24:04 +00:00
John McCall
5e6253bbd0
CFieldCallback doesn't need to create an ExtensionRAIIObject: it's actually
...
automatically shadowed by the ExtensionRAIIObject created by
ParseStructDeclaration.
llvm-svn: 85941
2009-11-03 21:13:47 +00:00
David Goodwin
8501dbbe10
Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.
...
llvm-svn: 85939
2009-11-03 20:57:50 +00:00
Douglas Gregor
7f4d7ea3a9
Remove a bunch of #if 0'd code made irrelevant by the latest ParseUnqualifiedId changes
...
llvm-svn: 85938
2009-11-03 20:53:48 +00:00
Chris Lattner
2c427233d4
finish half thunk thought
...
llvm-svn: 85937
2009-11-03 20:52:57 +00:00
Victor Hernandez
3318858efd
Changes requested (avoid getFunction(), avoid Type creation via isVoidTy(), and avoid redundant isFreeCall cases) in feedback to r85176
...
llvm-svn: 85936
2009-11-03 20:39:35 +00:00
Fariborz Jahanian
7ad3616659
Remove previous patch for pr5296 due to further clarification
...
of value-initialization and trivial constructors.
llvm-svn: 85935
2009-11-03 20:38:53 +00:00
David Goodwin
a86f919763
<rdar://problem/7352605>. When building schedule graph use mayAlias information to avoid chaining loads/stores of spill slots with non-aliased memory ops.
...
llvm-svn: 85934
2009-11-03 20:15:00 +00:00
Victor Hernandez
5cd73a3470
Changes (* location in pointer variables, avoiding include, and using APInt::getLimitedValue) based on feedback to r85814
...
llvm-svn: 85933
2009-11-03 20:02:35 +00:00
Chris Lattner
e9d7d78ab3
Implement support for the -undef command line option, patch by
...
Roman Divacky! PR5363
llvm-svn: 85932
2009-11-03 19:50:27 +00:00
Chris Lattner
4f10559ba8
silence a warning.
...
llvm-svn: 85931
2009-11-03 19:48:51 +00:00