summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix use of uninitialized value exposed by r267802. Accessors of an invalidRichard Smith2016-04-284-11/+14
| | | | | | PresumedLoc should not be called. llvm-svn: 267914
* Make the test exercise all paths modified in r267746.Paul Robinson2016-04-281-1/+7
| | | | llvm-svn: 267909
* [OpenCL] Fix bug in mergeTypes which causes equivalent types treated as ↵Yaxun Liu2016-04-282-2/+11
| | | | | | | | | | different. When comparing unqualified types, canonical types should be used, otherwise equivalent types may be treated as different type. Differential Revision: http://reviews.llvm.org/D19662 llvm-svn: 267906
* Debug info: Apply an artificial debug location to __cyg_profile_func.* calls.Adrian Prantl2016-04-282-3/+4
| | | | | | | | | The LLVM Verifier expects all inlinable calls in debuggable functions to have a location. rdar://problem/25818489 llvm-svn: 267904
* Re-apply r267784, r267824 and r267830.Peter Collingbourne2016-04-2835-209/+435
| | | | | | I have updated the compiler-rt tests. llvm-svn: 267903
* Fix build.Manuel Klimek2016-04-281-1/+1
| | | | llvm-svn: 267883
* Reland r267691 fixing PR27535.Vassil Vassilev2016-04-2812-41/+132
| | | | llvm-svn: 267882
* Add accidentally dropped test to r267880.Tim Northover2016-04-281-0/+10
| | | | | | Forgot "git add". llvm-svn: 267881
* ARMv7k: define __ARM_PCS_VFP since we're hard-float.Tim Northover2016-04-281-3/+4
| | | | | | | | It's a little debateable because we're not truly AAPCS, so I'm certainly not going to define __ARM_PCS, but __ARM_PCS_VFP seems to be really an "hard-float" define, which is a useful thing to have. llvm-svn: 267880
* [SystemZ] Support Swift calling conventionBryan Chan2016-04-282-2/+18
| | | | | | | | | | | | | | | Summary: Port rL265324 to SystemZ to allow using the 'swiftcall' attribute on that architecture. Depends on D19414. Reviewers: kbarton, rjmccall, uweigand Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19432 llvm-svn: 267879
* Fix spuriously dematerializing reference bug. Fixes PR26612.Manuel Klimek2016-04-281-2/+4
| | | | llvm-svn: 267877
* [Clang][BuiltIn][AVX512] Adding intrinsics fot align{d|q} and palignr ↵Michael Zuckerman2016-04-289-2/+323
| | | | | | | | instruction set Differential Revision: http://reviews.llvm.org/D19588 llvm-svn: 267876
* [OPENMP 4.5] Initial codegen for 'taskloop simd' directive.Alexey Bataev2016-04-283-17/+217
| | | | | | | | | OpenMP 4.5 defines 'taskloop simd' directive, which is combined directive for 'taskloop' and 'simd' directives. Patch adds initial codegen support for this directive and its 2 basic clauses 'safelen' and 'simdlen'. llvm-svn: 267872
* Revert r267784, r267824 and r267830.Benjamin Kramer2016-04-2835-435/+209
| | | | | | | | | | It makes compiler-rt tests fail if the gold plugin is enabled. Revert "Rework interface for bitset-using features to use a notion of LTO visibility." Revert "Driver: only produce CFI -fvisibility= error when compiling." Revert "clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be non-cfi." llvm-svn: 267871
* Revert "[MS] Improved implementation of MS stack pragmas (vtordisp, *_seg)"Denis Zobnin2016-04-287-133/+86
| | | | | | This reverts commit r267866. llvm-svn: 267870
* PR27216: Only define __ARM_FEATURE_FMA when the target has VFPv4Silviu Baranga2016-04-284-6/+9
| | | | | | | | | | | | | | | | | | | | | Summary: According to the ACLE spec, "__ARM_FEATURE_FMA is defined to 1 if the hardware floating-point architecture supports fused floating-point multiply-accumulate". This changes clang's behaviour from emitting this macro for v7-A and v7-R cores to only emitting it when the target has VFPv4 (and therefore support for the floating point multiply-accumulate instruction). Fixes PR27216 Reviewers: t.p.northover, rengolin Subscribers: aemerson, rengolin, cfe-commits Differential Revision: http://reviews.llvm.org/D18963 llvm-svn: 267869
* [MS] Improved implementation of MS stack pragmas (vtordisp, *_seg)Denis Zobnin2016-04-287-86/+133
| | | | | | | | | | | Rework implementation of several MS pragmas that use internal stack: vtordisp, {bss|code|const|data}_seg. This patch: 1. Makes #pragma vtordisp use PragmaStack class as *_seg pragmas do; 2. Fixes "#pragma vtordisp()" behavior: it shouldn't affect stack; 3. Saves/restores the stacks on enter/exit a C++ method body. llvm-svn: 267866
* Revert "[MSVC] PR27337: allow static_cast from private base to derived for WTL"Dmitry Polukhin2016-04-283-48/+4
| | | | | | This reverts commit r267534. llvm-svn: 267865
* [OPENMP] Simplified interface for codegen of tasks, NFC.Alexey Bataev2016-04-284-245/+144
| | | | | | | Reduced number of arguments in member functions of runtime support library for task-based directives. llvm-svn: 267863
* [OPENMP 4.5] Codegen for 'grainsize/num_tasks' clauses of 'taskloop'Alexey Bataev2016-04-284-21/+42
| | | | | | | | | | | | | | | | | | | | | | | directive. OpenMP 4.5 defines 'taskloop' directive and 2 additional clauses 'grainsize' and 'num_tasks' for this directive. Patch adds codegen for these clauses. These clauses are generated as arguments of the '__kmpc_taskloop' libcall and are encoded the following way: void __kmpc_taskloop(ident_t *loc, int gtid, kmp_task_t *task, int if_val, kmp_uint64 *lb, kmp_uint64 *ub, kmp_int64 st, int nogroup, int sched, kmp_uint64 grainsize, void *task_dup); If 'grainsize' is specified, 'sched' argument must be set to '1' and 'grainsize' argument must be set to the value of the 'grainsize' clause. If 'num_tasks' is specified, 'sched' argument must be set to '2' and 'grainsize' argument must be set to the value of the 'num_tasks' clause. It is possible because these 2 clauses are mutually exclusive and can't be used at the same time on the same directive. If none of these clauses is specified, 'sched' argument must be set to '0'. llvm-svn: 267862
* removed redundant '#'Eric Liu2016-04-281-1/+0
| | | | llvm-svn: 267860
* Addressed reviewer's post-submission comments from ↵Eric Liu2016-04-285-70/+61
| | | | | | | | | | | | | | http://reviews.llvm.org/D18551. Summary: Make SourceManager in Environment, WhitespaceManager, and FormatTokenAnalyzer etc constant members. Reviewers: djasper, klimek Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D19587 llvm-svn: 267859
* Addressed review's comments.Eric Liu2016-04-282-2/+4
| | | | llvm-svn: 267858
* CGOpenMPRuntime.h: Prune extra comma in \param. [-Wdocumentation]NAKAMURA Takumi2016-04-281-1/+1
| | | | llvm-svn: 267845
* [analyzer] Move Checkers.inc to clang/include/...Chih-Hung Hsieh2016-04-286-7/+7
| | | | | | | | Simplify sharing of Checkers.inc with other files like ClangTidy.cpp. Differential Revision: http://reviews.llvm.org/19393 llvm-svn: 267832
* clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be ↵NAKAMURA Takumi2016-04-281-2/+2
| | | | | | non-cfi. llvm-svn: 267830
* Driver: only produce CFI -fvisibility= error when compiling.Peter Collingbourne2016-04-282-10/+14
| | | | | | | The -fvisibility= flag only affects compile jobs, so there's no need to error out because of it if we aren't compiling (e.g. if we are only linking). llvm-svn: 267824
* [OpenMP] Code generation for target exit data directiveSamuel Antao2016-04-274-12/+258
| | | | | | | | | | | | | | | Summary: This patch adds support for the target exit data directive code generation. Given that, apart from the employed runtime call, target exit data requires the same code generation pattern as target enter data, the OpenMP codegen entry point was renamed and reused for both. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev Subscribers: cfe-commits, fraggamuffin, caomhin Differential Revision: http://reviews.llvm.org/D17369 llvm-svn: 267814
* [OpenMP] Code generation for target enter data directiveSamuel Antao2016-04-274-1/+311
| | | | | | | | | | | | Summary: This patch adds support for the target enter data directive code generation. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev Subscribers: cfe-commits, fraggamuffin, caomhin Differential Revision: http://reviews.llvm.org/D17368 llvm-svn: 267812
* [OpenMP] Code generation for target data directiveSamuel Antao2016-04-274-140/+609
| | | | | | | | | | | | | | | Summary: This patch adds support for the target data directive code generation. Part of the already existent functionality related with data maps is moved to a new function so that it could be reused. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev Subscribers: cfe-commits, fraggamuffin, caomhin Differential Revision: http://reviews.llvm.org/D17367 llvm-svn: 267811
* [OpenMP] Map clause codegeneration.Samuel Antao2016-04-274-90/+3891
| | | | | | | | | | | | | | | Summary: Implement codegen for the map clause. All the new list items in 4.5 specification are supported. Fix bug in the generation of array sections that was exposed by some of the map clause tests: for pointer types the offsets have to be calculated from the pointee not the pointer. Reviewers: hfinkel, kkwli0, carlo.bertolli, arpith-jacob, ABataev Subscribers: ABataev, cfe-commits, caomhin, fraggamuffin Differential Revision: http://reviews.llvm.org/D16749 llvm-svn: 267808
* Remove unused LangOpts private variable in HeaderSearch.Samuel Antao2016-04-272-4/+1
| | | | | | Was causing warnings during the build. llvm-svn: 267805
* Minor test simplification (per David Blaikie suggestion).Paul Robinson2016-04-271-14/+5
| | | | llvm-svn: 267804
* [modules] When diagnosing a missing module import, suggest adding a #include ifRichard Smith2016-04-2726-15/+237
| | | | | | | the current language doesn't have an import syntax and we can figure out a suitable file to include. llvm-svn: 267802
* Revert unnecessary tblgen change.Peter Collingbourne2016-04-271-1/+0
| | | | llvm-svn: 267788
* Rework interface for bitset-using features to use a notion of LTO visibility.Peter Collingbourne2016-04-2736-209/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bitsets, and the compiler features they rely on (vtable opt, CFI), only have visibility within the LTO'd part of the linkage unit. Therefore, only enable these features for classes with hidden LTO visibility. This notion is based on object file visibility or (on Windows) dllimport/dllexport attributes. We provide the [[clang::lto_visibility_public]] attribute to override the compiler's LTO visibility inference in cases where the class is defined in the non-LTO'd part of the linkage unit, or where the ABI supports calling classes derived from abstract base classes with hidden visibility in other linkage units (e.g. COM on Windows). If the cross-DSO CFI mode is enabled, bitset checks are emitted even for classes with public LTO visibility, as that mode uses a separate mechanism to cause bitsets to be exported. This mechanism replaces the whole-program-vtables blacklist, so remove the -fwhole-program-vtables-blacklist flag. Because __declspec(uuid()) now implies [[clang::lto_visibility_public]], the support for the special attr:uuid blacklist entry is removed. Differential Revision: http://reviews.llvm.org/D18635 llvm-svn: 267784
* Set the default C standard to C99 when targeting the PS4.Sunil Srivastava2016-04-277-6/+42
| | | | | | | | Patch by Douglas Yung! Differential Revision: http://reviews.llvm.org/D19003 llvm-svn: 267772
* Call TargetMachine::addEarlyAsPossiblePasses from BackendUtil.Justin Lebar2016-04-271-0/+8
| | | | | | | | | | | | | | | Summary: As of D18614, TargetMachine exposes a hook to add a set of passes that should be run as early as possible. Invoke this hook from clang when setting up the pass manager. Reviewers: chandlerc Subscribers: rnk, cfe-commits, tra Differential Revision: http://reviews.llvm.org/D18617 llvm-svn: 267764
* [CMake] On Darwin bootstrap LTO builds set DYLD_LIBRARY_PATH instead of ↵Chris Bieneman2016-04-271-8/+13
| | | | | | | | | | using llvm-ar llvm-ar isn't really supported for Darwin, instead the host tools will load libLTO, so we can use the just-built libLTO. This actually makes Darwin bootstrap builds a little faster because you don't need to build llvm-ar before starting the next stage. llvm-svn: 267756
* PR21823: 'nodebug' attribute on global/static variables.Paul Robinson2016-04-274-1/+71
| | | | | | | | | | Make 'nodebug' on a global/static variable suppress all debug info for the variable. Previously it would only suppress info for the associated initializer function, if any. Differential Revision: http://reviews.llvm.org/D19567 llvm-svn: 267746
* Revert r267691, it caused PR27535.Nico Weber2016-04-2711-128/+41
| | | | llvm-svn: 267744
* Module debugging: Fix the DWO filename for PCH in a relative path.Adrian Prantl2016-04-272-2/+79
| | | | | | | | | | | PCH in a relative location had a redundant relative path on the DWO filename and the DW_AT_compilation_dir. This patch fixes this and adds testcases for PCH in the same directory, in a relative, and an absolute location. rdar://problem/25537947 llvm-svn: 267740
* [Clang][Builtin][AVX512] Adding intrisnics for the vpconflict{q|d} ↵Michael Zuckerman2016-04-273-0/+174
| | | | | | | | instruction set Differential Revision: http://reviews.llvm.org/D19525 llvm-svn: 267728
* Expose cxx constructor and method properties through libclang and python ↵Jonathan Coe2016-04-2714-14/+252
| | | | | | | | | | | | | | | | | | | | | | | bindings. Summary: I have exposed the following function through libclang and the clang.cindex python bindings: clang_CXXConstructor_isConvertingConstructor, clang_CXXConstructor_isCopyConstructor, clang_CXXConstructor_isDefaultConstructor, clang_CXXConstructor_isMoveConstructor, clang_CXXMethod_isDefaulted I need (some of) these methods for a C++ code model I am building in Python to drive a code generator. Reviewers: compnerd, skalinichev Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15469 llvm-svn: 267706
* [Clang][BuiltIn][AVX512] Adding intrinsics without mask for VBROADCAST and ↵Michael Zuckerman2016-04-279-0/+450
| | | | | | | | VPBROADCAST instruction set . Differential Revision: http://reviews.llvm.org/D19196 llvm-svn: 267696
* [OPENMP] Fix crash on initialization of classes with no init clause inAlexey Bataev2016-04-272-12/+24
| | | | | | | | | | declare reductions. If reduction clause is applied to instance of class with user-defined reduction operation without initialization clause, it may cause a crash. Patch fixes this issue. llvm-svn: 267695
* [modules] Fix Decl's Used invariant.Vassil Vassilev2016-04-2711-41/+128
| | | | | | | | | | | | | | | | | | | | The Decl::isUsed has a value for every decl. In non-module builds it is very difficult (but possible) to break this invariant but when we walk up the redecl chain we find the neccessary information. When deserializing the decls from a module it is much more difficult to update correctly this invariant. The patch centralizes the information whether a decl is used in the canonical decl marking the entire entity as being used. Fixes https://llvm.org/bugs/show_bug.cgi?id=27401 Patch by Cristina Cristescu and me. Thanks to Richard Smith who helped to debug and understand the issue! Reviewed by Richard Smith. llvm-svn: 267691
* [Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa vmovntpd vmovntps ↵Michael Zuckerman2016-04-273-0/+53
| | | | | | | | instruction set Differential Revision: http://reviews.llvm.org/D19529 llvm-svn: 267690
* [OPENMP] Fix for codegen of captured variables in inlined directives.Alexey Bataev2016-04-277-21/+76
| | | | | | | | Currently there is a problem with codegen of inlined directives inside lambdas, it may cause a crash during codegen because of incorrect capturing of variables. Patch fixes this problem. llvm-svn: 267677
* Updated doxygen comments for intrinsics.Ekaterina Romanova2016-04-271-48/+33
| | | | | | | (1) Removed \code.. \endcode tags around the instruction name. This matches the doxygen format for all other intrinsics. (2) Did a better formatting for the comments (to fit into 80 columns more compactly). llvm-svn: 267676
OpenPOWER on IntegriCloud