Fariborz Jahanian
0ad4d60b8c
modern objc translator: string.h is unavailable on some non-OSX
...
platforms declare memset in rewritten code instead.
llvm-svn: 159454
2012-06-29 19:33:05 +00:00
Manman Ren
c146589aa4
Add getUniqueVRegDef to MachineRegisterInfo.
...
This comes in handy during peephole optimization.
llvm-svn: 159453
2012-06-29 19:16:05 +00:00
Fariborz Jahanian
9699c1ef38
fix a typo in my last commit. I thought I recompiled,
...
but apparently I did not.
llvm-svn: 159452
2012-06-29 19:05:11 +00:00
Duncan Sands
9838286d9e
Rework this to clarify where the removal of nodes from the queue is
...
really happening. No intended functionality change.
llvm-svn: 159451
2012-06-29 19:03:05 +00:00
Fariborz Jahanian
1db30fc071
objc diagnostic: pass IdentifierInfo* to the diagnostic system
...
to produce quotes instead of adding qoute to the test.
llvm-svn: 159450
2012-06-29 18:43:30 +00:00
Dmitry Vyukov
3c5c9e7774
tsan/asan: third try on msvc atomics
...
llvm-svn: 159449
2012-06-29 18:37:45 +00:00
Douglas Gregor
158dec5d20
std::nullptr_t support in MS headers, from João Matos.
...
llvm-svn: 159448
2012-06-29 18:28:41 +00:00
Dmitry Vyukov
b379fe51b4
tsan/asan: second attemp on msvc atomics
...
llvm-svn: 159447
2012-06-29 18:28:02 +00:00
Douglas Gregor
3f568c100e
Patch for handling C99 veriadic macros when using precompiled headers,
...
from Filipe Cabecinhas!
llvm-svn: 159446
2012-06-29 18:27:59 +00:00
Fariborz Jahanian
4a031bdc8f
objective-c modern translator: Translation into objc_msgSend_stret
...
entry point which requires nil check before calling objc_msgSend_stret.
// rdar://11359268 - wip.
llvm-svn: 159445
2012-06-29 18:27:08 +00:00
Dmitri Gribenko
025d518e3e
Factor out a check for block commands (that implicitly start a new paragraph) into a separate function.
...
llvm-svn: 159444
2012-06-29 18:19:20 +00:00
Dmitry Vyukov
e8cee12ce2
tsan/asan: first try on msvc atomics
...
llvm-svn: 159443
2012-06-29 18:00:38 +00:00
David Blaikie
af031a9af7
Avoid redundant error when redefining a function as deleted.
...
Reviewed by Doug Gregor.
llvm-svn: 159442
2012-06-29 18:00:25 +00:00
Nuno Lopes
674acc12d0
RefreshCallGraph: ignore 'invoke intrinsic'. IntrinsicInst doesnt not recognize invoke, and shouldnt at this point, since the rest of LLVM codebase doesnt expect invoke of intrinsics
...
llvm-svn: 159441
2012-06-29 17:49:32 +00:00
Nuno Lopes
b37ef71ce1
ignore 'invoke new' in isInstructionTriviallyDead, since most callers are not ready to handle invokes. instcombine will take care of this.
...
llvm-svn: 159440
2012-06-29 17:37:07 +00:00
Dmitry Vyukov
513f0238d8
tsan/asan: add SpinMutex to sanitizer_common
...
llvm-svn: 159439
2012-06-29 17:32:18 +00:00
Dmitry Vyukov
7a9fa7dbc5
tsan/asan: unify ScopedLock
...
llvm-svn: 159438
2012-06-29 17:10:08 +00:00
Dmitry Vyukov
6fa46f7003
tsan/asan: unify atomics (move atomics from tsan to sanitizer_common)
...
llvm-svn: 159437
2012-06-29 16:58:33 +00:00
Nico Weber
3052abd9c2
Change condition to be the same as in SemaTemplateInstantiate.
...
No functionality change.
llvm-svn: 159436
2012-06-29 16:39:58 +00:00
Dmitry Vyukov
6967083071
tsan: use -Wno-unused-private-field only for clang (gcc does not understand it)
...
llvm-svn: 159435
2012-06-29 16:37:49 +00:00
Greg Clayton
3e3b48e669
Added information on how to get API documentation in a "Documentation" section.
...
llvm-svn: 159434
2012-06-29 16:25:05 +00:00
Alexey Samsonov
6e7e6b646b
Cleanup in DwarfDebug - fix a typo and remove two unused functions
...
llvm-svn: 159433
2012-06-29 16:04:14 +00:00
Kostya Serebryany
92afdb6c31
[tsan] added CombinedAllocator for tsan
...
llvm-svn: 159432
2012-06-29 15:35:18 +00:00
Dmitry Vyukov
ef5a5a5650
tsan: replace struct copies where clang inserts memcpy() calls with explicit internal_memcpy() calls
...
llvm-svn: 159431
2012-06-29 15:26:55 +00:00
Dmitry Vyukov
5bb47a6e0e
tsan: remove own memset/memcpy/memcmp (too messy)
...
llvm-svn: 159430
2012-06-29 15:19:14 +00:00
Kostya Serebryany
5766a9e015
[asan] fix lint
...
llvm-svn: 159429
2012-06-29 14:14:32 +00:00
NAKAMURA Takumi
e791a7ae36
clang/test/Misc/diag-template-diffing-color.cpp: Remove XFAIL:cygwin. Cygwin has some terminal emulation of escape sequences.
...
llvm-svn: 159428
2012-06-29 14:14:25 +00:00
Duncan Sands
369c6d270b
Fix a reassociate crash on sozefx when compiling with dragonegg+gcc-4.7 due to
...
the optimizers producing a multiply expression with more multiplications than
the original (!).
llvm-svn: 159426
2012-06-29 13:25:06 +00:00
Kostya Serebryany
d32d537d63
[asan] get rid of libc's sscanf as it causes infinite recursion on Fedora.
...
llvm-svn: 159424
2012-06-29 13:05:36 +00:00
Chandler Carruth
c55b598dc2
Speculative update to Polly for LLVM r159421 which moved IRBuilder.h.
...
llvm-svn: 159423
2012-06-29 12:39:49 +00:00
Chandler Carruth
6b22da9e89
Update Clang to reflect the new home of IRBuilder.h as of r159421.
...
llvm-svn: 159422
2012-06-29 12:39:08 +00:00
Chandler Carruth
aafe0918bc
Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h
...
This was always part of the VMCore library out of necessity -- it deals
entirely in the IR. The .cpp file in fact was already part of the VMCore
library. This is just a mechanical move.
I've tried to go through and re-apply the coding standard's preferred
header sort, but at 40-ish files, I may have gotten some wrong. Please
let me know if so.
I'll be committing the corresponding updates to Clang and Polly, and
Duncan has DragonEgg.
Thanks to Bill and Eric for giving the green light for this bit of cleanup.
llvm-svn: 159421
2012-06-29 12:38:19 +00:00
Alexey Samsonov
c37ac17629
[ASan] cmake unit tests: explicitly add necessary linker flags when linking unit tests with asan runtime
...
llvm-svn: 159420
2012-06-29 11:29:39 +00:00
Alexey Samsonov
548b7b5b0e
[ASan] cmake-based unit tests: merge instrumented and non-instrumented files into one test binary
...
llvm-svn: 159419
2012-06-29 10:23:31 +00:00
Bill Wendling
098d906dbb
Update the CMake files.
...
llvm-svn: 159417
2012-06-29 09:01:47 +00:00
Bill Wendling
2908947b97
Sphinxify the Atomics documentation.
...
llvm-svn: 159416
2012-06-29 09:00:01 +00:00
Bill Wendling
128f8bdb78
Update based on move of DIBuilder.h to include/llvm.
...
llvm-svn: 159415
2012-06-29 08:32:29 +00:00
Bill Wendling
f799efdedc
The DIBuilder class is just a wrapper around debug info creation
...
(a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore
instead.
llvm-svn: 159414
2012-06-29 08:32:07 +00:00
Axel Naumann
693344b505
From Philippe Canal:
...
Update the two function overloads
void TemplateSpecializationType::PrintTemplateArgumentList(raw_ostream &OS,....
to behave like
std::string TemplateSpecializationType::PrintTemplateArgumentList(const TemplateArgument *Args,...
hence making sure that clang consistently adds a space between two '>' at the end of nested template arguments.
llvm-svn: 159412
2012-06-29 07:30:33 +00:00
Andrew Trick
51a8cf77b8
Revert "Make NumMicroOps a variable in the subtarget's instruction itinerary."
...
This reverts commit r159406. I noticed a performance regression so I'll back out for now.
llvm-svn: 159411
2012-06-29 07:10:41 +00:00
Manman Ren
f865ba0c0e
X86: add more GATHER intrinsics in Clang
...
Support the following intrinsics:
_mm_i32gather_pd, _mm256_i32gather_pd,
_mm_i64gather_pd, _mm256_i64gather_pd,
_mm_i32gather_ps, _mm256_i32gather_ps,
_mm_i64gather_ps, _mm256_i64gather_ps,
_mm_i32gather_epi64, _mm256_i32gather_epi64,
_mm_i64gather_epi64, _mm256_i64gather_epi64,
_mm_i32gather_epi32, _mm256_i32gather_epi32,
_mm_i64gather_epi32, _mm256_i64gather_epi32
llvm-svn: 159410
2012-06-29 05:19:13 +00:00
Rafael Espindola
efdfb1e6b2
In the initial exec mode we always do a load to find the address of a variable.
...
Before this patch in pic 32 bit code we would add the global base register
and not load from that address. This is a really old bug, but before the
introduction of the tls attributes we would never select initial exec for
pic code.
llvm-svn: 159409
2012-06-29 04:22:35 +00:00
Andrew Trick
8c9e6728b3
misched: avoid scheduling instructions that can't be dispatched.
...
llvm-svn: 159408
2012-06-29 03:23:24 +00:00
Andrew Trick
ce27bb999d
misched: count micro-ops toward the issue limit.
...
llvm-svn: 159407
2012-06-29 03:23:22 +00:00
Andrew Trick
1f50152b2d
Make NumMicroOps a variable in the subtarget's instruction itinerary.
...
The TargetInstrInfo::getNumMicroOps API does not change, but soon it
will be used by MachineScheduler. Now each subtarget can specify the
number of micro-ops per itinerary class. For ARM, this is currently
always dynamic (-1), because it is used for load/store multiple which
depends on the number of register operands.
Zero is now a valid number of micro-ops. This can be used for
nop pseudo-instructions or instructions that the hardware can squash
during dispatch.
llvm-svn: 159406
2012-06-29 03:23:18 +00:00
Timur Iskhodzhanov
099ec01569
Fix PR13234 - crash when trying to report an unsupported ABI feature
...
llvm-svn: 159405
2012-06-29 01:14:21 +00:00
Douglas Gregor
98c3cfc3b9
When a builtin that requires a constant is given a type- or
...
value-dependent expression, don't complain that it wasn't the constant
we wanted. Fixes <rdar://problem/11688587> and PR11074.
llvm-svn: 159404
2012-06-29 01:05:22 +00:00
Manman Ren
86c3250b82
X86: add more GATHER intrinsics in Clang
...
Corrected type for index of _mm256_mask_i32gather_pd
from 256-bit to 128-bit
Corrected types for src|dst|mask of _mm256_mask_i64gather_ps
from 256-bit to 128-bit
Support the following intrinsics:
_mm_mask_i32gather_epi64, _mm256_mask_i32gather_epi64,
_mm_mask_i64gather_epi64, _mm256_mask_i64gather_epi64,
_mm_mask_i32gather_epi32, _mm256_mask_i32gather_epi32,
_mm_mask_i64gather_epi32, _mm256_mask_i64gather_epi32
llvm-svn: 159403
2012-06-29 00:54:35 +00:00
Manman Ren
98a5bf24a9
X86: add more GATHER intrinsics in LLVM
...
Corrected type for index of llvm.x86.avx2.gather.d.pd.256
from 256-bit to 128-bit.
Corrected types for src|dst|mask of llvm.x86.avx2.gather.q.ps.256
from 256-bit to 128-bit.
Support the following intrinsics:
llvm.x86.avx2.gather.d.q, llvm.x86.avx2.gather.q.q
llvm.x86.avx2.gather.d.q.256, llvm.x86.avx2.gather.q.q.256
llvm.x86.avx2.gather.d.d, llvm.x86.avx2.gather.q.d
llvm.x86.avx2.gather.d.d.256, llvm.x86.avx2.gather.q.d.256
llvm-svn: 159402
2012-06-29 00:54:20 +00:00
Douglas Gregor
6bd56ca836
Teach the __is_trivially_assignable and __is_trivially_constructible
...
type traits that assignment to/construction of a lifetime-qualified
object under ARC is *not* trivial. Fixes <rdar://problem/11738725>.
llvm-svn: 159401
2012-06-29 00:49:17 +00:00