Evan Cheng
c298ccb998
- Avoid the longer SIB encoding on x86_64 when it's not needed.
...
- Synchronize instruction length computation code in X86InstrInfo with code in X86CodeEmitter.cpp
Patch by Zoltan Varga.
llvm-svn: 70929
2009-05-04 22:49:16 +00:00
Dan Gohman
48f8222293
Re-apply 70645, converting ScalarEvolution to use
...
CallbackVH, with fixes. allUsesReplacedWith need to
walk the def-use chains and invalidate all users of a
value that is replaced. SCEVs of users need to be
recalcualted even if the new value is equivalent. Also,
make forgetLoopPHIs walk def-use chains, since any
SCEV that depends on a PHI should be recalculated when
more information about that PHI becomes available.
llvm-svn: 70927
2009-05-04 22:30:44 +00:00
Dan Gohman
fc2a8d1eb0
Fix an 80-column violation.
...
llvm-svn: 70925
2009-05-04 22:23:18 +00:00
Dan Gohman
4b56fab92b
Fix doxygen comment syntax.
...
llvm-svn: 70924
2009-05-04 22:20:30 +00:00
Chris Lattner
354b12259f
Make DBG_STOPPOINT nodes, and therefore DBG_LABEL labels, get a DebugLoc, so that it
...
shows up in -print-machineinstrs. This doesn't appear to affect anything, but it was
weird for some DBG_LABELs to have DebugLocs but not all of them.
llvm-svn: 70921
2009-05-04 22:10:05 +00:00
Dan Gohman
a30370bc33
Constify a bunch of SCEV-using code.
...
llvm-svn: 70919
2009-05-04 22:02:23 +00:00
Fariborz Jahanian
c46fff0f5f
Adding more test to ivar-layout-64.m.
...
llvm-svn: 70918
2009-05-04 21:46:27 +00:00
Daniel Dunbar
9252ee1779
Compute interface instanceStart and instanceSize using the record
...
layout.
- This is much simpler / more efficient.
- This also properly computes the size in the presence of bit-fields.
llvm-svn: 70916
2009-05-04 21:26:30 +00:00
Daniel Dunbar
a8aa586a72
Add ASTRecordLayout::getFieldCount accessor, change NextOffset field to 64-bits.
...
llvm-svn: 70914
2009-05-04 21:10:32 +00:00
Daniel Dunbar
228895d56a
Add ASTRecordLayout::getNextOffset accessor, and some doxygen comments.
...
llvm-svn: 70909
2009-05-04 21:00:40 +00:00
Daniel Dunbar
45bfd982f1
Initialize NextOffset correctly, otherwise tight layout fails for
...
empty classes.
llvm-svn: 70905
2009-05-04 20:52:37 +00:00
Dan Gohman
bb525f7e02
X86FastISel doesn't support the -tailcallopt ABI.
...
llvm-svn: 70902
2009-05-04 19:50:33 +00:00
Fariborz Jahanian
60637985de
ignore weak_import attribute on objc method decls.
...
llvm-svn: 70901
2009-05-04 19:35:12 +00:00
Argyrios Kyrtzidis
71fb950b73
Restore a comment.
...
llvm-svn: 70900
2009-05-04 19:23:45 +00:00
Anton Korobeynikov
2d1e7321f6
Fix code emission for conditional branches.
...
Patch by Collin Winter!
llvm-svn: 70898
2009-05-04 19:10:38 +00:00
Ted Kremenek
0836a19931
Rename attributes 'objc_ownership...' to 'ns_ownership...'.
...
llvm-svn: 70897
2009-05-04 19:10:19 +00:00
Ted Kremenek
a4a81c0ac7
Increase scan-view max timeout to 1 minute.
...
llvm-svn: 70896
2009-05-04 19:02:41 +00:00
Chris Lattner
23d5a39195
"Fix" a problem with debug info in the presence of always_inline
...
function calls. For a program like this:
#include <stdio.h>
static __inline__ __attribute__((always_inline))
int bar(int x) { return 4; }
int main() {
int X = bar(4);
printf("%d\n", X);
}
clang was not outputing any debug info for the body of main(). This is
because the backend is getting confused by the region_start/end that clang
is emitting for block scopes. For now, just disable these (matching llvm-gcc),
this stuff is in progress of rework anyway.
llvm-svn: 70889
2009-05-04 18:27:04 +00:00
Ted Kremenek
e396f72ec7
BugReporter (extensive diagnostics): don't mark location contexts that are
...
control-flow expressions as dead.
llvm-svn: 70887
2009-05-04 18:15:17 +00:00
Bill Wendling
357e03cede
Use %llvmgcc instead of llvm-gcc.
...
llvm-svn: 70886
2009-05-04 18:00:27 +00:00
Ted Kremenek
250d59f33f
Fix false positive null dereference by unifying code paths in GRSimpleVals for
...
'==' and '!=' (some code in the '!=' was not replicated in the '==' code,
causing some constraints to get lost).
llvm-svn: 70885
2009-05-04 17:53:11 +00:00
Ted Kremenek
5dbfa3fadd
Rename attributes:
...
'objc_ownership_cfretain' -> 'cf_ownership_retain'
'objc_ownership_cfrelease' -> 'cf_ownership_release'
Motivation: Core Foundation objects can be used in isolation from Objective-C,
and this forces users to reason about the separate semantics of CF objects. More
Sema support pending.
llvm-svn: 70884
2009-05-04 17:29:57 +00:00
Ted Kremenek
0b0ee3c49d
Update test case.
...
llvm-svn: 70883
2009-05-04 17:27:32 +00:00
Dan Gohman
3f02595048
Use true instead of 1 for a boolean value. And fix a copy+pasto
...
in a comment.
llvm-svn: 70882
2009-05-04 17:25:21 +00:00
Dan Gohman
d05ae1af8a
Add an svn:ignore property.
...
llvm-svn: 70881
2009-05-04 17:12:00 +00:00
Dan Gohman
630f4e1eb3
Trim unnecessary #includes.
...
llvm-svn: 70880
2009-05-04 17:11:06 +00:00
Dan Gohman
cfd6941cf9
Quotes are used for including llvm headers, rather than angles.
...
llvm-svn: 70879
2009-05-04 17:09:51 +00:00
Ted Kremenek
bc76c72f94
Remove support for ObjCMethodDecl attributes that appear between the
...
return type and the selector. This is inconsistent with C functions
(where such attributes would be placed on the return type, not the the
FunctionDecl), and is inconsistent with what people are use to seeing.
llvm-svn: 70878
2009-05-04 17:04:30 +00:00
Chris Lattner
bef2ee4322
"The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working)."
...
Patch by David Chisnall!
llvm-svn: 70877
2009-05-04 16:56:33 +00:00
Duncan Sands
50c70336b0
Teach capture tracking that readonly functions can
...
only capture their arguments by returning them or
throwing an exception or not based on the argument
value. Patch essentially by Frits van Bommel.
llvm-svn: 70876
2009-05-04 16:50:29 +00:00
Duncan Sands
b88227ef4c
Check that pure/const functions are marked nounwind.
...
llvm-svn: 70875
2009-05-04 16:47:11 +00:00
Ted Kremenek
49a844e1a6
retain checker: Add checker support for FunctionDecl ownership annotations. Need to add Sema support.
...
llvm-svn: 70873
2009-05-04 16:43:50 +00:00
Chris Lattner
fa552d728d
fix some problems spotted by Duncan and Nicolas Geoffray
...
llvm-svn: 70872
2009-05-04 16:29:24 +00:00
Argyrios Kyrtzidis
9ae29b2d8f
-Remove the DwarfWriter::RecordSourceLine calls from the instruction selectors.
...
-Depend on DebugLocs for source line info.
(Comes with Regression-Be-Gone(tm))
llvm-svn: 70871
2009-05-04 16:23:49 +00:00
Ted Kremenek
863f68aa06
retain checker: Pull out logic for parameter annotations into a
...
separate method.
llvm-svn: 70870
2009-05-04 15:40:58 +00:00
Ted Kremenek
df76e6d09d
retain checker: Don't treat function's declared in macros differently.
...
llvm-svn: 70869
2009-05-04 15:34:07 +00:00
Daniel Dunbar
566421c8a3
Patch from David Chisnall:
...
The attached diff fixes the //FIXME in message send to super. This
should now be faster, and works in the presence of class posing. This
is now the same approach as used in GCC (the earlier code was a quick
hack to get something working).
llvm-svn: 70868
2009-05-04 15:31:17 +00:00
Ted Kremenek
a68556c4cc
Add array index assertion: BasicStore should not expect any fancy
...
ElementRegions that have non-zero array indices.
llvm-svn: 70867
2009-05-04 15:25:46 +00:00
Daniel Dunbar
c1fd2284c1
Update test case... the location given for this error makes it look
...
rather odd when truncated.
llvm-svn: 70866
2009-05-04 15:18:44 +00:00
Ted Kremenek
d795b02be7
Rename 'makeZeroIndex' to 'makeZeroArrayIndex'.
...
llvm-svn: 70865
2009-05-04 15:17:38 +00:00
Ted Kremenek
629a43ffa1
Zhongxing already implemented this FIXME.
...
llvm-svn: 70864
2009-05-04 15:14:27 +00:00
Ted Kremenek
238d0b6ecd
Rename no-outofbounds.c to xfail-no-outofbounds.c and split off that
...
test into a separate file to monitor the fact that BasicStoreManager
passes the test.
llvm-svn: 70859
2009-05-04 14:31:19 +00:00
Ted Kremenek
66f8fe18ef
Update checker build.
...
llvm-svn: 70858
2009-05-04 14:24:29 +00:00
Duncan Sands
d84881ec53
Testcase for PR3967.
...
llvm-svn: 70856
2009-05-04 12:54:02 +00:00
Anton Korobeynikov
0a0cc2d7b7
Workaround libstdc++ bug when crosscompiling to mingw.
...
Patch by Jay Foad!
llvm-svn: 70849
2009-05-04 10:25:30 +00:00
Anton Korobeynikov
dad5871f84
It turns out that this version of gcc is broken (cygwin is well-known in shipping
...
of broken/buggy/snapshot-based compilers)
llvm-svn: 70848
2009-05-04 10:24:46 +00:00
Zhongxing Xu
6ebde279ae
array indexes are unsigned integers of the same width as pointer.
...
no-outofbounds.c still fails. Previously it passed because the array index
is mistakenly a loc::ConcreteInt.
llvm-svn: 70844
2009-05-04 08:52:47 +00:00
Ted Kremenek
2d9fa1b4b7
Test now passes. I'll hold off merging it with the BasicStore test until we know this is a stable change.
...
llvm-svn: 70837
2009-05-04 07:11:21 +00:00
Ted Kremenek
758fda4274
BasicStore: 'ElementRegion' is the new 'TypedViewRegion'.
...
StoreManager: Handle casts from one element region to another.
Update test cases.
llvm-svn: 70836
2009-05-04 07:04:36 +00:00
Daniel Dunbar
d53e07b396
Remove unnecessary copy of constraint info.
...
llvm-svn: 70835
2009-05-04 06:56:16 +00:00