Jordan Rose
9844ab8992
[analyzer] Make BlockDataRegions typed, so that they have DynamicTypeInfo.
...
Fixes <rdar://problem/12119814>
llvm-svn: 162123
2012-08-17 20:16:34 +00:00
Benjamin Kramer
34764fe2e4
MemoryBuiltins: Properly guard ObjectSizeOffsetVisitor against cycles in the IR.
...
The previous fix only checked for simple cycles, use a set to catch longer
cycles too.
Drop the broken check from the ObjectSizeOffsetEvaluator. The BoundsChecking
pass doesn't have to deal with invalid IR like InstCombine does.
llvm-svn: 162120
2012-08-17 19:26:41 +00:00
Fariborz Jahanian
dbd89aedd2
Remove -Wbad-function-cast from -Wall.
...
llvm-svn: 162117
2012-08-17 18:50:02 +00:00
Daniel Dunbar
455a0496b2
darwin/driver: Support using SDKROOT to define the default for -isysroot.
...
- The SDKROOT environment variable is the de facto way to set the default SDK
for a number of tools, join forces with them.
llvm-svn: 162116
2012-08-17 18:43:50 +00:00
Dmitri Gribenko
d394c8a83e
AST Matchers: introduce functionTemplate(), classTemplate() and
...
isExplicitTemplateSpecialization() matchers which do what their name says.
llvm-svn: 162115
2012-08-17 18:42:47 +00:00
Bill Wendling
34bc34ecae
Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to
...
make it more consistent with its intended semantics.
The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.
The intended semantic is more like the `linkonce_odr' linkage type.
Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.
Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>
llvm-svn: 162114
2012-08-17 18:33:14 +00:00
Rafael Espindola
9a16735e22
Assert that dominates is not given a multiple edge. Finding out if we have
...
multiple edges between two blocks is linear. If the caller is iterating all
edges leaving a BB that would be a square time algorithm. It is more efficient
to have the callers handle that case.
Currently the only callers are:
* GVN: already avoids the multiple edge case.
* Verifier: could only hit this assert when looking at an invalid invoke. Since
it already rejects the invoke, just avoid computing the dominance for it.
llvm-svn: 162113
2012-08-17 18:21:28 +00:00
Dmitry Vyukov
e2b5b5c4ac
tsan: Non-executable stack for hand-coded assembly
...
llvm-svn: 162112
2012-08-17 18:05:28 +00:00
Howard Hinnant
a0b42cacbf
Apply patches supplied by Michel Morin in http://llvm.org/bugs/show_bug.cgi?id=13601 to correct bugs in is_convertible for the case that the intrinsic __is_convertible_to is not available.
...
llvm-svn: 162111
2012-08-17 17:54:11 +00:00
Alexander Kornienko
2018618b4d
Fixed crash and added a test and a minor output problem
...
llvm-svn: 162110
2012-08-17 17:38:39 +00:00
Fariborz Jahanian
91f548b04b
c: implement gcc's -Wbad-function-cast which warns
...
on unsafe cast of a c-function call. This is
a C-only option.
llvm-svn: 162109
2012-08-17 17:22:34 +00:00
Howard Hinnant
7ee271360d
Consistently label __bit_array as a struct, not a class.
...
llvm-svn: 162108
2012-08-17 17:10:18 +00:00
Jakob Stoklund Olesen
c1dee482c8
Add comment, clean up code. No functional change.
...
llvm-svn: 162107
2012-08-17 16:59:09 +00:00
Benjamin Kramer
0e72d5c3e5
Define __builtin_ffs[ll] with a signed argument instead of unsigned.
...
GCC documents these as unsigned, but defines them as signed.
llvm-svn: 162106
2012-08-17 16:39:13 +00:00
Chad Rosier
2da9d6d6cf
[ms-inline asm] Instantiate the MCStreamer as a NullStream. We're parsing
...
instruction, not emitting them, so a NullStream is fine.
llvm-svn: 162105
2012-08-17 16:38:04 +00:00
Sean Callanan
433c8a1f44
Committed a simple dtrace script that tracks
...
process termination, which can be useful to track
debugserver's delivery of signals.
llvm-svn: 162104
2012-08-17 16:30:13 +00:00
Alexander Potapenko
dffbb3b330
Intercept siglongjmp and _longjmp under "#if ASAN_INTERCEPT_*"
...
llvm-svn: 162103
2012-08-17 16:27:38 +00:00
Dmitri Gribenko
546481170c
Add release notes for type safety attributes.
...
llvm-svn: 162102
2012-08-17 16:01:54 +00:00
Benjamin Kramer
ca7ca4f6c6
TargetLowering: Use the large shift amount during legalize types. The legalizer may call us with an overly large type.
...
llvm-svn: 162101
2012-08-17 15:54:21 +00:00
Jakob Stoklund Olesen
714f595c98
Use standard pattern for iterate+erase.
...
Increment the MBB iterator at the top of the loop to properly handle the
current (and previous) instructions getting erased.
This fixes PR13625.
llvm-svn: 162099
2012-08-17 14:38:59 +00:00
Benjamin Kramer
4901f0d2a2
Guard MemoryBuiltins against self-looping GEPs, which can occur in unreachable code due to constant propagation.
...
Fixes PR13621.
llvm-svn: 162098
2012-08-17 14:16:37 +00:00
Benjamin Kramer
2f47a3fb07
Fix broken check lines.
...
I really need to find a way to automate this, but I can't come up with a regex
that has no false positives while handling tricky cases like custom check
prefixes.
llvm-svn: 162097
2012-08-17 12:28:26 +00:00
Benjamin Kramer
e0b3f44ffc
Fix broken check lines.
...
llvm-svn: 162096
2012-08-17 12:28:21 +00:00
Tim Northover
f66181530f
Implement NEON domain switching for scalar <-> S-register vmovs on ARM
...
llvm-svn: 162094
2012-08-17 11:32:52 +00:00
Hans Wennborg
e1fdb059c6
Warn about self-initialization of references.
...
Initializing a reference with itself, e.g. "int &a = a;" seems like a
very bad idea.
llvm-svn: 162093
2012-08-17 10:12:33 +00:00
Alexander Potapenko
5f487de8a3
Fix lint warnings.
...
llvm-svn: 162092
2012-08-17 10:08:51 +00:00
Alexander Potapenko
c62210e3ff
Commit the source and CMake changes that will allow to build ASan runtime
...
as a shared library on Mac OS. This will provide an alternative to
mach_override.
llvm-svn: 162091
2012-08-17 09:00:08 +00:00
Jin-Gu Kang
c4540bc6a3
Insertion of NoFolder functions to avoid ambiguous overload warnings or errors about whether to convert Idx to ArrayRef<Constant *> or ArrayRef<Value *> like ConstantFolder and TargetFolder.
...
llvm-svn: 162090
2012-08-17 08:54:57 +00:00
Craig Topper
31625574db
Use nested switch to select arguments to reduce calls to EmitPCMP.
...
llvm-svn: 162089
2012-08-17 07:15:56 +00:00
Craig Topper
602e1abe0d
Make ReplaceATOMIC_BINARY_64 a static function. Use a nested switch to reduce to only a single call to it thus allowing it to be inlined by the compiler.
...
llvm-svn: 162088
2012-08-17 06:55:11 +00:00
Pranav Bhandarkar
69567e7eec
Test commit.
...
include/llvm/IntrinsicsHexagon.td: Hexagon_Intrinsic is the base class
for all Hexagon intrinsics and not altivec intrinsics.
llvm-svn: 162087
2012-08-17 06:36:26 +00:00
Craig Topper
f6add7e667
Remove unnecessary include of ARMGenInstrInfo.inc.
...
llvm-svn: 162086
2012-08-17 06:21:09 +00:00
Craig Topper
29688ab27c
Declare some for loop indices inside the for loop statement.
...
llvm-svn: 162085
2012-08-17 05:42:16 +00:00
Douglas Gregor
e3eb777415
Make the spacing of the code completion result for NSDictionary
...
literals match the spacing introduced by the ObjC modernizer. Fixes
the rest of <rdar://problem/11889572>.
llvm-svn: 162084
2012-08-17 05:40:05 +00:00
Douglas Gregor
cda209a944
When we need the complete set of visible declarations from a
...
declaration context, check whether the primary context---not the
current context---has any external visible declarations. Fixes
PR13616.
llvm-svn: 162083
2012-08-17 05:26:33 +00:00
Craig Topper
ebc3aa250b
Fix up indentation of outputted decode function for readability.
...
llvm-svn: 162082
2012-08-17 05:16:15 +00:00
Douglas Gregor
5d944dbf1a
Don't do jump-scope checking when code completion is enabled. It's
...
both a waste of time, and prone to crash due to the use of the
error-recovery path in parser. Fixes <rdar://problem/12103608>, which
has been driving me nuts.
llvm-svn: 162081
2012-08-17 05:12:08 +00:00
Eric Christopher
8d9ccdc7a5
Temporarily revert r162066 and r162062 to see if it brings the gdb
...
bots back.
llvm-svn: 162080
2012-08-17 04:42:07 +00:00
Richard Smith
122a3a8e6f
Fix undefined behavior in debug info emission: operator* on WeakVH returns a
...
reference, so &* on an empty WeakVH binds a reference to a dereferenced null
pointer. So don't do that; we have a perfectly good implicit conversion to
Value*.
llvm-svn: 162079
2012-08-17 04:17:54 +00:00
NAKAMURA Takumi
ab6151d6c4
lit: Show actually created count of threads. The incorrect threads count is printed if the number of tests are less than the number of default threads.
...
Thanks to Vinson Lee, reported in PR13620.
llvm-svn: 162078
2012-08-17 04:15:41 +00:00
Richard Smith
43b550f7fe
Fix test so that it doesn't keep failing forever when it's failed once.
...
llvm-svn: 162077
2012-08-17 04:05:25 +00:00
Richard Smith
2683b4c0fd
Switch PTH format from a 7 byte magic number to an 8 byte one, to avoid
...
misaligned reads throughout the file. Bump PTH format version to 10.
llvm-svn: 162076
2012-08-17 03:55:43 +00:00
Nick Lewycky
2fe6aab788
Fix -Wl,--no-demangle to actually pass the flag to the linker on Linux instead
...
of silently dropping it on the floor.
llvm-svn: 162075
2012-08-17 03:39:16 +00:00
Richard Smith
034b94a557
Don't forget to apply #pragma pack to partial and explicit specializations of
...
class templates. This fixes misalignment issues in llvm/Support/Endian.h when
built by Clang.
llvm-svn: 162074
2012-08-17 03:20:55 +00:00
Jordan Rose
0564c75e7b
[analyzer] Add an internal reference document describing IPA and CallEvent.
...
This attempts to be a higher-level description of our inlining heuristics
and decision trees than the source, where the work is spread out between
ExprEngine (mostly in ExprEngineCallAndReturn.cpp) and CallEvent, with a
few other classes participating as well.
llvm-svn: 162073
2012-08-17 02:11:35 +00:00
Chandler Carruth
9b9cec24b8
Flatten the aligned-char-array utility template to be a directly
...
templated union at the request of Richard Smith. This makes it
substantially easier to type. =]
llvm-svn: 162072
2012-08-17 01:47:25 +00:00
Anna Zaks
af3ae3cbbd
[analyzer] Unbreak the static analyzer buildbot.
...
We no longer associate the correct HTML file with plist diagnostic.
Fall out from r162028.
llvm-svn: 162071
2012-08-17 01:09:13 +00:00
Richard Smith
99eff01fa2
Avoid binding a reference to a dereferenced null pointer, if we try to emit a
...
diagnostic before we have a source manager.
llvm-svn: 162070
2012-08-17 00:55:32 +00:00
Richard Smith
39fc5b42a6
Fix misaligned DeclGroup allocation.
...
llvm-svn: 162069
2012-08-17 00:34:00 +00:00
Richard Smith
80b3c5a00e
Don't form a null reference when checking for validity of an anonymous
...
elaborated type specifier in template instantiation: such a specifier is always
valid because it must be specified within the definition of the type.
llvm-svn: 162068
2012-08-17 00:12:27 +00:00