summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Implement AArch64 SISD intrinsics for vget_high and vget_low.Jiangning Liu2013-11-192-0/+183
| | | | llvm-svn: 195073
* ObjectiveC objc_bridge. Minor refactoring.Fariborz Jahanian2013-11-191-2/+2
| | | | | | // rdar://15454846 llvm-svn: 195070
* Add predicate for AArch64 crypto instructions.Jiangning Liu2013-11-193-1/+27
| | | | llvm-svn: 195069
* Clean up predefined macros for AArch64 to follow ACLE 2.0.Jiangning Liu2013-11-193-27/+37
| | | | llvm-svn: 195068
* ObjectiveC 'objc_bridging'. Assorment of improvements Fariborz Jahanian2013-11-196-45/+17
| | | | | | per Doug/Jordan comments. // rdar://15454846. llvm-svn: 195066
* ObjectiveC ARC. Adopt objc_bridge attributeFariborz Jahanian2013-11-195-62/+71
| | | | | | | on struct/union/class instead of typedef of such types. // rdar://15454846 llvm-svn: 195061
* DebugInfo: Update caller based on DIType's MDNode* ctor becoming explicit in ↵David Blaikie2013-11-181-1/+2
| | | | | | r195055. llvm-svn: 195056
* Change the clang driver with the use of -no-integrated-as for darwin to useKevin Enderby2013-11-182-3/+8
| | | | | | | | | | | | | | | the -Q flag to the as(1) assembler driver. We will soon be switching the darwin as(1) assembler driver to call clang(1) and use the intergated assembler by default. To do this and still support clang(1)'s -no-integrated-as flag, when clang(1) runs the as(1) assembler driver and -no-integrated-as is used it needs to pass the -Q flag to as(1) so it uses its GNU based assembler, and not turn around and call clag(1)'s integrated assembler. rdar://15495921 llvm-svn: 195054
* The attached patch is a follow up from my previous one. The existingRafael Espindola2013-11-182-3/+14
| | | | | | | | | | logic was not handling typedefs as free functions. This was not causing problems with the existing tests, but does with the microsoft abi where they have to get a different calling convention. I will try to refactor this into a method on Declarator in a second. llvm-svn: 195050
* Remove period at end of "optimization level is unsupported" diagnosticHans Wennborg2013-11-183-3/+3
| | | | llvm-svn: 195048
* Make test/Driver/clang_f_opts.c not write to the test dirHans Wennborg2013-11-182-2/+2
| | | | | | | After r195009, the test would write a .o file to the test dir. Send that to /dev/null instead. Also fix the typo in test/Frontend/invalid-o-level.c. llvm-svn: 195047
* The code using the StmtPrinterHelper object failed to account for a null ↵Aaron Ballman2013-11-181-44/+39
| | | | | | object in many cases, which could have led to crashes were it ever to be null. Now passing the object by reference instead of by pointer because it is never null in practice. No functional changes intended. llvm-svn: 195043
* Use the default method CC in GetFullTypeForDeclarator.Rafael Espindola2013-11-182-130/+148
| | | | | | | | | | | | | Before this patch explicit template instatiations of member function templates were failing with the microsoft abi and 32 bits. This was happening because the expected and computed function types had different calling conventions. This patch fixes it by considering the default calling convention in GetFullTypeForDeclarator. This fixes pr17973. llvm-svn: 195032
* Remove clang man page reference to --analyze, and point people to the ↵Ted Kremenek2013-11-181-5/+2
| | | | | | analyzer website. llvm-svn: 195027
* Adding an assert to help catch possible buffer underruns.Aaron Ballman2013-11-181-0/+4
| | | | llvm-svn: 195024
* Make helper function static.Benjamin Kramer2013-11-181-1/+1
| | | | llvm-svn: 195017
* Add partial support for the hasDeclaration() matcher in the dynamic layer.Samuel Benzaquen2013-11-187-70/+335
| | | | | | | | | | | | | | Summary: Add partial support for the hasDeclaration() matcher in the dynamic layer. This matcher has some special logic to allow any type that has a getDecl() method. We do not support this right now. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1889 llvm-svn: 195013
* Using an invalid -O falls back on -O3 instead of an errorSylvestre Ledru2013-11-186-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20' With the patch: $ clang -O20 foo.c warning: optimization level '-O20' is unsupported; using '-O3' instead. 1 warning generated. This matches the gcc behavior (with a warning added) Pass all tests: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 94.14s Expected Passes : 6721 Expected Failures : 20 Unsupported Tests : 17 (which was not the case of http://llvm-reviews.chandlerc.com/D2125) Differential Revision: http://llvm-reviews.chandlerc.com/D2212 llvm-svn: 195009
* clang/test/CXX/drs/dr2xx.cpp: Suppress this for targeting LLP64 due to ↵NAKAMURA Takumi2013-11-181-0/+3
| | | | | | | | | | | | __SIZE_TYPE__. Line 559: 'long long' is a C++11 extension Line 566: 'long long' is a C++11 extension Line 674: 'long long' is a C++11 extension See also PR13819. llvm-svn: 195005
* clang/Parse/Parser.h: Fix annotations properly in SkipUntilFlags. ↵NAKAMURA Takumi2013-11-181-3/+3
| | | | | | | | [-Wdocumentation] Use ///< after member. llvm-svn: 195000
* Replaced bool parameters in SkipUntil function with single bit-based parameter.Alexey Bataev2013-11-1813-235/+271
| | | | llvm-svn: 194994
* clang/test/Tooling/multi-jobs.cpp: Mark this as XFAIL:msvc for now. It has ↵NAKAMURA Takumi2013-11-181-0/+3
| | | | | | | | been failing since r194968. MSVC targeted drivers (*-win32) are incapable of invoking external assembler. llvm-svn: 194992
* Implement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors.Hao Liu2013-11-185-1/+1248
| | | | | | The functions are like: vst1_s8_x2 ... llvm-svn: 194991
* Tests for core issues 251-270.Richard Smith2013-11-182-13/+206
| | | | llvm-svn: 194989
* Remove method that always returns true.Rafael Espindola2013-11-172-6/+1
| | | | llvm-svn: 194984
* Remove two unused #ifdefs.Rafael Espindola2013-11-171-11/+0
| | | | llvm-svn: 194983
* RewriteBuffer::write(): Add a doc comment about non-portable useAlp Toker2013-11-171-0/+3
| | | | | | | | | | The function isn't strictly at fault but there are callers using it incorrectly, causing crashes with in-place edits of 64KB or larger files on Windows. See PR17960 for details. llvm-svn: 194972
* Tooling/CompilationDatabase.cpp: Use \return here instead of \param[out]. ↵NAKAMURA Takumi2013-11-171-3/+2
| | | | | | [-Wdocumentation] llvm-svn: 194971
* Remove a bad string compare from r194968Alp Toker2013-11-171-1/+0
| | | | | | | | lib/Tooling/CompilationDatabase.cpp:275:34: warning: result of comparison against a string literal is unspecified (use strncmp instead) [-Wstring-compare] This assert() should probably be fixed and added back at some point. llvm-svn: 194969
* Relax some preconditions for using FixedCompilationDatabase.Edwin Vane2013-11-172-5/+226
| | | | | | | | FixedCompilationDatabase (FCD) requires that the arguments it consumes after '--' must not include positional parameters or the argv[0] of the tool. This patch relaxes those restrictions. llvm-svn: 194968
* Add -freroll-loops to enable loop rerollingHal Finkel2013-11-176-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds -freroll-loops (and -fno-reroll-loops in the usual way) to enable loop rerolling as part of the optimization pass manager. This transformation can enable vectorization, reduce code size (or both). Briefly, loop rerolling can transform a loop like this: for (int i = 0; i < 3200; i += 5) { a[i] += alpha * b[i]; a[i + 1] += alpha * b[i + 1]; a[i + 2] += alpha * b[i + 2]; a[i + 3] += alpha * b[i + 3]; a[i + 4] += alpha * b[i + 4]; } into this: for (int i = 0; i < 3200; ++i) { a[i] += alpha * b[i]; } Loop rerolling is currently disabled by default at all optimization levels. llvm-svn: 194967
* Fixes a typo and changes references to the function clang_displayDiagnostic ↵Sylvestre Ledru2013-11-171-3/+3
| | | | | | | | (which was removed in r96823) to clang_formatDiagnostics. Patch by David Wiberg llvm-svn: 194956
* Implement vreinterpret ACLE functions in Clang.Hao Liu2013-11-172-0/+2192
| | | | llvm-svn: 194954
* [analyzer] Better modeling of memcpy by the CStringChecker (PR16731).Anton Yartsev2013-11-176-19/+95
| | | | | | | | | | | | | | New rules of invalidation/escape of the source buffer of memcpy: the source buffer contents is invalidated and escape while the source buffer region itself is neither invalidated, nor escape. In the current modeling of memcpy the information about allocation state of regions, accessible through the source buffer, is not copied to the destination buffer and we can not track the allocation state of those regions anymore. So we invalidate/escape the source buffer indirect regions in anticipation of their being invalidated for real later. This eliminates false-positive leaks reported by the unix.Malloc and alpha.cplusplus.NewDeleteLeaks checkers for the cases like char *f() { void *x = malloc(47); char *a; memcpy(&a, &x, sizeof a); return a; } llvm-svn: 194953
* Fix the problem that the arm_neon.h can't be used in a cpp file. Also fix a ↵Hao Liu2013-11-171-3/+3
| | | | | | minor bug with poly64 name mangling. llvm-svn: 194952
* Tests for core issue 241-250.Richard Smith2013-11-174-12/+139
| | | | llvm-svn: 194951
* Tests for core issues 224-240.Richard Smith2013-11-172-14/+202
| | | | llvm-svn: 194946
* ObjectiveC ARC. More validation of toll-free bridging ofFariborz Jahanian2013-11-162-3/+14
| | | | | | | CF objects with objc_bridge'ing annotaiton. // rdar://15454846 llvm-svn: 194938
* ObjectiveC ARC. Validate toll free bridge castingFariborz Jahanian2013-11-163-6/+60
| | | | | | | of ObjectiveC objects to CF types when CF type has the objc_bridge attribute. llvm-svn: 194930
* Remove unused but set variable.Benjamin Kramer2013-11-161-4/+0
| | | | llvm-svn: 194920
* Move remaining %clang_cc1 tests out of test/DriverAlp Toker2013-11-164-0/+4
| | | | | | | | | | | | | | clang -cc1 skips the driver so it never made sense to include these with the Driver tests. Basic type tests and flag tests generally both go in Frontend. Now that the final -cc1 tests have been moved out of test/Driver, add a local substitution to enforce and detect future mistakes. These miscategorized tests were probably the source of confusion in r194817. llvm-svn: 194919
* If a replaceable global operator new/delete is marked inline, don't warn ifRichard Smith2013-11-162-11/+21
| | | | | | | it's also __attribute__((used)), since that undoes the problematic part of 'inline'. llvm-svn: 194916
* ObjetiveC ARC. Start diagnosing invalid toll free bridging.Fariborz Jahanian2013-11-164-12/+27
| | | | | | // rdar://15454846. llvm-svn: 194915
* X86: Make specifying avx2 simpler on Darwin with '-arch'Jim Grosbach2013-11-164-6/+49
| | | | | | | | Teach the '-arch' command line option to enable the compiler-friendly features of core-avx2 CPUs on Darwin. Pass the information along in the target triple like Darwin+ARM does. llvm-svn: 194907
* Downgrade the Error on an 'inline' operator new or delete to an ExtWarn. SomeRichard Smith2013-11-163-4/+5
| | | | | | | projects are relying on such (questionable) practices, so we should give them a way to opt out of this diagnostic. llvm-svn: 194905
* Consumed analysis: track state of temporary objects.DeLesley Hutchins2013-11-163-163/+319
| | | | | | | | Earlier versions discarded the state too soon, and did not track state changes, e.g. when passing a temporary to a move constructor. Patch by chris.wailes@gmail.com; review and minor fixes by delesley. llvm-svn: 194900
* Corrected comment about MS prgama warning.John Thompson2013-11-161-1/+1
| | | | llvm-svn: 194897
* Implemented aarch64 Neon scalar vmulx_lane intrinsicsAna Pazos2013-11-155-14/+356
| | | | | | | | | | | | | | Implemented aarch64 Neon scalar vfma_lane intrinsics Implemented aarch64 Neon scalar vfms_lane intrinsics Implemented legacy vmul_n_f64, vmul_lane_f64, vmul_laneq_f64 intrinsics (v1f64 parameter type) using Neon scalar instructions. Implemented legacy vfma_lane_f64, vfms_lane_f64, vfma_laneq_f64, vfms_laneq_f64 intrinsics (v1f64 parameter type) using Neon scalar instructions. llvm-svn: 194889
* Updated comment - testing commit rightsAna Pazos2013-11-151-0/+1
| | | | llvm-svn: 194884
* ObjectiveC ARC. Only briding of pointer to struct CF object is allowed.Fariborz Jahanian2013-11-154-14/+18
| | | | | | | Improve on wording on illegal objc_bridge argumment. // rdar://15454846 llvm-svn: 194881
OpenPOWER on IntegriCloud