Fariborz Jahanian
1f78a9ad56
Clean up of my last patch.
...
llvm-svn: 110290
2010-08-05 00:19:48 +00:00
Ted Kremenek
1d08fd9b79
Correctly handle 'Class<...>' when examining Cocoa conventions in the static analyzer. Fixes a crash reported in <rdar://problem/8272168>. Patch by Henry Mason!
...
llvm-svn: 110289
2010-08-05 00:19:24 +00:00
Ted Kremenek
8a297e9f27
Remove bonehead redeclaration.
...
llvm-svn: 110288
2010-08-05 00:03:46 +00:00
Fariborz Jahanian
9659f6b540
Block variable layout bitmap API generation.
...
llvm-svn: 110287
2010-08-04 23:55:24 +00:00
Ted Kremenek
60fa657aa2
Fix CFGBuilder to not blow out the stack when processing deeply nested CaseStmts. Fixes <rdar://problem/8268753>.
...
llvm-svn: 110286
2010-08-04 23:54:30 +00:00
John McCall
c8bd9c277b
Extend the visibility-hidden optimization to linkonce_odr thunks for
...
functions with in-line definitions, since such thunks will be emitted at any
use of the function.
Completes the feature work for rdar://problem/7523229.
llvm-svn: 110285
2010-08-04 23:46:35 +00:00
Dan Gohman
6b67ee425d
svn:ignore
...
llvm-svn: 110284
2010-08-04 23:44:23 +00:00
Dan Gohman
48ec2f7422
svn:ignore
...
llvm-svn: 110283
2010-08-04 23:43:55 +00:00
Dan Gohman
109561845b
The trouble with testing for "ModRef" and "NoModRef" is that
...
one is a suffix of the other, and FileCheck accepts superstrings.
Adjust the output to avoid this problem.
llvm-svn: 110280
2010-08-04 23:37:55 +00:00
Bill Wendling
ca1cb13646
The lower invoke pass needs to have unreachable code elimination run after it
...
because it could create such things. This fixes a MingW buildbot test failure.
llvm-svn: 110279
2010-08-04 23:36:02 +00:00
Blaine Garst
be67b4aa20
add unit tests
...
llvm-svn: 110278
2010-08-04 23:34:21 +00:00
Dan Gohman
a1c0f8b5c8
Delete obsolete comments.
...
llvm-svn: 110277
2010-08-04 23:08:15 +00:00
Eric Christopher
2db8464282
Make x86-64 membarriers work without sse and clean up some of the
...
uses.
llvm-svn: 110274
2010-08-04 23:03:04 +00:00
Bruno Cardoso Lopes
fc2320fd73
Logical AVX instrinsics can be matched directly, no need to use builtins here.
...
llvm-svn: 110271
2010-08-04 22:56:42 +00:00
Dan Gohman
bd33dab633
The two-callsite form of AliasAnalysis::getModRefInfo is documented
...
to return Ref if the left callsite only reads memory read or written
by the right callsite; fix BasicAliasAnalysis to implement this.
Add AliasAnalysisEvaluator support for testing the two-callsite
form of getModRefInfo.
llvm-svn: 110270
2010-08-04 22:56:29 +00:00
Jim Grosbach
8aaadea8ef
and back in. false alarm on the tests from another unrelated local change.
...
llvm-svn: 110269
2010-08-04 22:46:09 +00:00
Eli Friedman
39d0f57cab
PR7814: Truncates cannot be ignored for signed comparisons.
...
llvm-svn: 110268
2010-08-04 22:40:58 +00:00
Devang Patel
a52ddc496a
Implement target specific getDebugValueLocation().
...
llvm-svn: 110267
2010-08-04 22:39:39 +00:00
Jakob Stoklund Olesen
7fd4905f08
Coalesce stack slot accesses that arise when spilling both sides of a COPY.
...
This helps avoid silly code:
%R0<def = LOAD <fi#5>
STORE <fi#5>, %R0<kill>
llvm-svn: 110266
2010-08-04 22:35:11 +00:00
Bruno Cardoso Lopes
d81ef1c85c
Add -mavx and -mno-avx command line support
...
llvm-svn: 110265
2010-08-04 22:29:13 +00:00
Sebastian Redl
51c79d8740
Activate selectors in chained PCH. Chained PCH now works for Objective-C.
...
llvm-svn: 110262
2010-08-04 22:21:29 +00:00
Jim Grosbach
8732d966e1
oops. revert for a moment to clean up tests first.
...
llvm-svn: 110259
2010-08-04 22:12:43 +00:00
Jim Grosbach
22be317fe4
Reserve a stack slot if the function adjusts the stack but doesn't
...
simplify the call frame pseudo instructions. In that situation, the
calculations for estimating the stack size will be way off, leading to
not having an emergency spill slot when we need one. It should be possible
to be more precise about tracking the adjustment values, but not really
necessary for correctness. Upcoming cleanups for PEI in general will
render that moot.
llvm-svn: 110258
2010-08-04 22:10:15 +00:00
Jakob Stoklund Olesen
dc96e28d70
Checkpoint SplitKit progress.
...
We are now at a point where we can split around simple single-entry, single-exit
loops, although still with some bugs.
llvm-svn: 110257
2010-08-04 22:08:39 +00:00
Devang Patel
6e9a979414
Implement target specific getDebugValueLocation().
...
llvm-svn: 110256
2010-08-04 22:07:50 +00:00
Devang Patel
6c378ac473
Use location entry only of the location described by DBG_VALUE is valid.
...
llvm-svn: 110255
2010-08-04 22:07:27 +00:00
Stuart Hastings
49af1ebf2e
Test case for r110250. Radar 8264670. Test case by Fariborz Jahanian!
...
llvm-svn: 110254
2010-08-04 22:05:38 +00:00
Bruno Cardoso Lopes
7c4b513a3f
Add AVX intrinsics header
...
llvm-svn: 110253
2010-08-04 22:03:36 +00:00
Bill Wendling
26feb849a4
Testcase for r110248.
...
llvm-svn: 110249
2010-08-04 21:56:30 +00:00
Bill Wendling
b87f3e5a7d
The EH prepare passes really want to be the last passes run before code-gen.
...
llvm-svn: 110248
2010-08-04 21:44:13 +00:00
Sebastian Redl
6e1a2a0693
Bring stats for the method pool back.
...
llvm-svn: 110247
2010-08-04 21:22:45 +00:00
Torok Edwin
31e90d2dd1
Use indirect calls in PowerPC JIT.
...
See PR5201. There is no way to know if direct calls will be within the allowed
range for BL. Hence emit all calls as indirect when in JIT mode.
Without this long-running applications will fail to JIT on PowerPC with a
relocation failure.
llvm-svn: 110246
2010-08-04 20:47:44 +00:00
Sebastian Redl
ada023c5d6
Implement per-file reading of the selector table. This disables statistics about method pool hits for the moment.
...
llvm-svn: 110245
2010-08-04 20:40:17 +00:00
Devang Patel
6d21f61b3f
Fix typo in comment.
...
llvm-svn: 110244
2010-08-04 20:32:36 +00:00
Ted Kremenek
b786156b01
Teach SemaChecking::CheckReturnStackAddr about ImplicitCastExprs that convert values to an lvalue. This allows us to warn (again) about returning references to stack variables. (fixes PR 7812).
...
llvm-svn: 110242
2010-08-04 20:01:07 +00:00
Dan Gohman
db764c6e3b
Fix a minor bug which resulted in intermediate calculations
...
using wider types than are necessary.
llvm-svn: 110241
2010-08-04 19:52:50 +00:00
Dan Gohman
2392287306
Change this llvm_unreachable to report_fatal_error, since it can
...
be triggered by valid, if dubious, IR.
llvm-svn: 110240
2010-08-04 18:51:09 +00:00
Fariborz Jahanian
afa3c0a875
More objc block variable layout info. work.
...
llvm-svn: 110239
2010-08-04 18:44:59 +00:00
Devang Patel
5c1f56b78f
Test case for combination of r110234 & r110235.
...
llvm-svn: 110238
2010-08-04 18:42:46 +00:00
Devang Patel
d71bc1ae4e
While spilling live registers at the end of block check whether they are used by DBG_VALUE machine instructions or not. If a spilled register is used by DBG_VALUE machine instruction then insert a new DBG_VALUE machine instruction to encode variable's new location on stack.
...
llvm-svn: 110235
2010-08-04 18:42:02 +00:00
Devang Patel
0e60e67efb
If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.
...
llvm-svn: 110234
2010-08-04 18:40:52 +00:00
Owen Anderson
9f2bca02d7
Experiments show that we can safely increase our unrolling threshold without unduly impacting code size, particularly
...
since unrolling is not enabled at -Os.
llvm-svn: 110233
2010-08-04 18:32:46 +00:00
Owen Anderson
f16eb37b54
Add a note about the changing pass registration interface.
...
llvm-svn: 110231
2010-08-04 18:27:08 +00:00
Ted Kremenek
0950212b50
Add CFGStmtMap, which defines a mapping from Stmt* to CFGBlock*. The immediate intended use is in the unreachable code analysis.
...
llvm-svn: 110230
2010-08-04 18:23:15 +00:00
Sebastian Redl
d95a56e50d
When chaining, only write interesting selectors to the PCH.
...
llvm-svn: 110229
2010-08-04 18:21:41 +00:00
Dale Johannesen
21f13209f8
Remove switch for disabling ARM tail calls. They
...
seem to be working correctly. No functional change.
llvm-svn: 110226
2010-08-04 18:07:17 +00:00
Devang Patel
2bf0f3ceff
Add DEBUG message.
...
llvm-svn: 110224
2010-08-04 18:06:05 +00:00
Dan Gohman
ba81fc16a5
Fix whitespace.
...
llvm-svn: 110223
2010-08-04 17:43:57 +00:00
Sebastian Redl
834bb971f6
Store the IDs of selectors in the PCH file explicitly.
...
llvm-svn: 110219
2010-08-04 17:20:04 +00:00
Douglas Gregor
d8a5dba9c2
When performing in-process code completion, don't free the remapped
...
file buffers until the code completion results are destroyed;
diagnostics may end up referring into the source.
llvm-svn: 110216
2010-08-04 17:07:00 +00:00