Matt Beaumont-Gay
54db64e2e4
Silence warnings in -asserts build
...
llvm-svn: 148715
2012-01-23 18:46:04 +00:00
Kostya Serebryany
f9418f9679
[asan] test that -fno-optimize-sibling-calls helps to get sane stack traces
...
llvm-svn: 148714
2012-01-23 18:44:34 +00:00
Howard Hinnant
53418916fc
I'm beginning to be able to throw/catch a wide variety of objects.
...
llvm-svn: 148713
2012-01-23 18:39:47 +00:00
Devang Patel
880bc1644b
Intel syntax: Parse segment registers.
...
llvm-svn: 148712
2012-01-23 18:31:58 +00:00
Bob Wilson
51897ec79b
Fix a typo: _MM_FLUSH_ZERO_OFF has the wrong value. rdar://10716672
...
llvm-svn: 148711
2012-01-23 18:27:24 +00:00
Argyrios Kyrtzidis
5c4e065a9a
Introduce CXXRecordDecl::isCLike() that is true if the class is C-like,
...
without C++-specific features.
Use it to set the language to C++ when indexing non-C-like structs.
rdar://10732579
llvm-svn: 148708
2012-01-23 16:58:45 +00:00
Argyrios Kyrtzidis
7e614d7dce
[libclang] Index C++ template specializations, rdar://10732708
...
llvm-svn: 148707
2012-01-23 16:58:41 +00:00
Argyrios Kyrtzidis
9f777356a3
[libclang] Index namespaces in C++ qualified lookup of members, rdar://10732798
...
llvm-svn: 148706
2012-01-23 16:58:38 +00:00
Argyrios Kyrtzidis
84bd164862
[libclang] Index C++ constructor initializers, rdar://10732164
...
llvm-svn: 148705
2012-01-23 16:58:36 +00:00
Argyrios Kyrtzidis
abff5f1271
Improve Lexer::getImmediateMacroName to take into account inner macros
...
of macro arguments.
For "MAC1( MAC2(foo) )" and location of 'foo' token it would return
"MAC1" instead of "MAC2".
llvm-svn: 148704
2012-01-23 16:58:33 +00:00
Douglas Gregor
1cc88a977c
Handle pseudo-object expressions (and any other placeholder
...
expression) when code-completing member access expressions. Fixes
<rdar://problem/10717172>.
llvm-svn: 148703
2012-01-23 15:59:30 +00:00
Douglas Gregor
c7ee2013d9
Add -Wnarrowing as an alias for -Wc++11-narrowing, for better GCC
...
compatibility.
llvm-svn: 148702
2012-01-23 15:52:03 +00:00
Douglas Gregor
84585ab48e
Downgrade C++11 narrowing conversion errors to warnings default-mapped
...
to an error, so that users can turn them off if necessary. Note that
this does *not* change the behavior of in a SFINAE context, where we
still flag an error even if the warning is disabled. This matches
GCC's behavior.
llvm-svn: 148701
2012-01-23 15:29:33 +00:00
Chris Lattner
c7f9fd4da8
convert CAZ, UndefValue, and CPN to use DenseMap's again, this time without
...
using OwningPtr. OwningPtr would barf when the densemap had to reallocate,
which doesn't appear to happen on the regression test suite, but obviously
happens in real life :)
llvm-svn: 148700
2012-01-23 15:20:12 +00:00
Chris Lattner
de0132a763
revert r148688 too, this isn't safe for DenseMap use. When DenseMap resizes, it will need to copy around arbitrary pointers
...
llvm-svn: 148699
2012-01-23 15:10:41 +00:00
Chris Lattner
962c272f95
revert r148691 and 148693
...
llvm-svn: 148698
2012-01-23 15:09:44 +00:00
Alexander Potapenko
c94cf8faf6
Implemented AddressSanitizer::getPassName()
...
llvm-svn: 148697
2012-01-23 11:22:43 +00:00
Alexander Potapenko
046ecc06be
Wrap CFStringCreateCopy to prevent copying constant CF strings.
...
This should fix http://code.google.com/p/address-sanitizer/issues/detail?id=10
llvm-svn: 148696
2012-01-23 10:09:54 +00:00
Alexander Potapenko
f9392011c8
Add a test for CFStringCreateCopy.
...
Normally this function should not create copies of constant strings, but it does when the default CFAllocator
is replaced (e.g. under AddressSanitizer)
This test is related to http://code.google.com/p/address-sanitizer/issues/detail?id=10
llvm-svn: 148695
2012-01-23 10:06:14 +00:00
NAKAMURA Takumi
28ea8f523b
ARMAsmPrinter.cpp: Try to fix up r148686. EnableARMEHABI was also here.
...
llvm-svn: 148694
2012-01-23 09:14:42 +00:00
Chris Lattner
4494e1ae25
switch UndefValue and ConstantPointerNull over to DenseMap's for uniquing.
...
llvm-svn: 148693
2012-01-23 08:52:32 +00:00
Nick Lewycky
75499f5d04
Fix broken link.
...
llvm-svn: 148692
2012-01-23 08:47:21 +00:00
Chris Lattner
1910c9c3a0
Replace a use of ConstantUniqueMap for CAZ constants with a simple DenseMap.
...
Now that the type system rewrite has landed, there is no need for its
complexity and std::map'ness.
llvm-svn: 148691
2012-01-23 08:42:38 +00:00
Nick Lewycky
1c8c436a85
Add support for -fno-optimize-sibling-calls. Currently only implemented in the
...
X86 backend in LLVM.
llvm-svn: 148689
2012-01-23 08:29:12 +00:00
Chris Lattner
ff1049146d
allow OwningPtr to be copy constructed if null, which is required to
...
make them be a valuetype in a DenseMap.
llvm-svn: 148688
2012-01-23 08:19:57 +00:00
Craig Topper
edd1d0acfc
Custom lower PCMPEQ/PCMPGT intrinsics to target specific nodes and remove the intrinsic patterns.
...
llvm-svn: 148687
2012-01-23 08:18:28 +00:00
Evgeniy Stepanov
482cdc4ebd
An option to selectively enable parts of ARM EHABI support.
...
This change adds an new value to the --arm-enable-ehabi option that
disables emitting unwinding descriptors. This mode gives a working
backtrace() without the (currently broken) exception support.
llvm-svn: 148686
2012-01-23 07:57:39 +00:00
Craig Topper
6b90c5d03e
Update more places to use target specific nodes for vector shifts instead of intrinsics.
...
llvm-svn: 148685
2012-01-23 06:46:22 +00:00
Craig Topper
5e80db4e4f
Custom lower vector shift intrinsics to target specific nodes and remove the patterns that are no longer needed.
...
llvm-svn: 148684
2012-01-23 06:16:53 +00:00
Nico Weber
4bc649943f
Add a source range to the ms path. Spotted by David Blaikie.
...
llvm-svn: 148683
2012-01-23 06:08:16 +00:00
Nico Weber
5882927d7a
In microsoft mode, downgrade pseudo-destructors on void from error to warning.
...
This matches cl.exe's behavior and fixes PR11791.
llvm-svn: 148682
2012-01-23 05:50:57 +00:00
Rafael Espindola
624e30894a
Avoid using an invalidated iterator.
...
llvm-svn: 148681
2012-01-23 05:07:16 +00:00
David Blaikie
aebe36046d
Rename -Wswitch-enum-redundant-default to -Wswitch-redundant-default.
...
This is for consistency, since the flag is actually under -Wswitch now, rather
than -Wswitch-enum (since it's really valuable for the former and rather
orthogonal to the latter)
llvm-svn: 148680
2012-01-23 04:58:54 +00:00
David Blaikie
60ac6382e0
Implement -Wswitch-enum correctly.
...
Clang previously implemented -Wswitch-enum the same as -Wswitch. This patch
corrects the behavior to match GCC's. The critical/only difference being that
-Wswitch-enum is not silenced by the presence of a default case in the switch.
llvm-svn: 148679
2012-01-23 04:46:12 +00:00
Nico Weber
33a362e0af
Convert file from 60% unix 40% dos line endings to 100% unix line endings.
...
No other changes.
llvm-svn: 148678
2012-01-23 04:08:13 +00:00
Nico Weber
323076f439
Eli says this should check MicrosoftMode instead.
...
Also change a || that I accidentally changed to && back to ||.
llvm-svn: 148677
2012-01-23 04:01:33 +00:00
Rafael Espindola
abf456e320
The iteration order over a std::set<Module*> depends on the addresses of the
...
modules. Avoid that to make the order the linker sees the modules deterministic.
llvm-svn: 148676
2012-01-23 03:41:53 +00:00
Nico Weber
94e746d5e5
In ms mode, a move assignment operator shouldn't mark a copy ctor as deleted.
...
MSVC2010's pair class has a move assignment operator but no explicit copy
constructor, which makes it unusable without this change.
For symmetry, let move copy constructors not mark the default assignment
operator as deleted either. Both changes match cl.exe's behavior. Fixes
pr11826.
Also update the standard excerpt to point to the right paragraph.
llvm-svn: 148675
2012-01-23 03:19:29 +00:00
Eli Friedman
844f945963
Make sure the AST correctly represents lvalue-to-rvalue conversions where appropriate.
...
llvm-svn: 148673
2012-01-23 02:35:22 +00:00
Craig Topper
20c98df340
Remove pattern fragments for v32i8, v16i16, v8i32, v16i8, v8i16, and v4i32 loads. All integer vector loads are promoted to v2i64 or v4i64 so these pattern fragments can never match. Fix or remove patterns that used these fragments.
...
llvm-svn: 148672
2012-01-23 00:06:44 +00:00
Nick Lewycky
c31ceda7d9
Make Value::isDereferenceablePointer() handle unreachable code blocks. (This
...
returns false in the event the computation feeding into the pointer is
unreachable, which maybe ought to be true -- but this is at least consistent
with undef->isDereferenceablePointer().) Fixes PR11825!
llvm-svn: 148671
2012-01-23 00:05:17 +00:00
Craig Topper
0b7ad76bd0
Combine X86 CMPPD and CMPPS node types. Simplifies selection code and pattern matching.
...
llvm-svn: 148670
2012-01-22 23:36:02 +00:00
Craig Topper
bd4884371b
Merge PCMPEQB/PCMPEQW/PCMPEQD/PCMPEQQ and PCMPGTB/PCMPGTW/PCMPGTD/PCMPGTQ X86 ISD node types into only two node types. Simplifying opcode selection and pattern matching.
...
llvm-svn: 148667
2012-01-22 22:42:16 +00:00
Howard Hinnant
699692a04c
Getting started on matching a thrown exception to a catch clause, and setting the adjusted pointer to the caught object appearing in the catch clause.
...
llvm-svn: 148666
2012-01-22 21:47:40 +00:00
Nicolas Geoffray
e197d943f3
Use Attributes::None instead of 0 after r148553 change on Attributes from unsigned to their own class.
...
llvm-svn: 148665
2012-01-22 20:05:26 +00:00
Craig Topper
094626414d
Add target specific ISD node types for SSE/AVX vector shuffle instructions and change all the code that used to create intrinsic nodes to create the new nodes instead.
...
llvm-svn: 148664
2012-01-22 19:15:14 +00:00
Howard Hinnant
afcf7ac5f6
I kept getting confused among the __cxa_exception*, the _Unwind_Exception* and the void* to the thrown object. So I've gone through these two files and attempted to institute a consistent variable naming scheme, and in a few instances, turned void* into a concrete* to have the type system help me out. No change in functionality for this commit is intended.
...
llvm-svn: 148663
2012-01-22 19:14:27 +00:00
Anton Korobeynikov
0251f20ad1
Add an option to disable buggy copy propagation pass
...
llvm-svn: 148662
2012-01-22 14:08:34 +00:00
NAKAMURA Takumi
3119440239
unittests/Support/Casting.cpp: [PR8226] Workaround for MSVC|Debug.
...
llvm-svn: 148659
2012-01-22 12:14:35 +00:00
Anton Korobeynikov
5482b9f535
Add fused multiple+add instructions from VFPv4.
...
Patch by Ana Pazos!
llvm-svn: 148658
2012-01-22 12:07:33 +00:00