summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Teach clang to look for libcxx in /usr/local/include/c++ on LinuxYaron Keren2016-05-171-5/+5
| | | | | | | | | | | | As The default CMAKE install prefix is /usr/local ( https://cmake.org/cmake/help/v3.0/variable/CMAKE_INSTALL_PREFIX.html ), sudo ninja install ends up installing clang, LLVM and libcxx under /usr/local. In development scenario, when clang is run from the build location it will not find libcxx at neither (build location)/../include/c++ nor /usr/include/c++. This patch lets development clang find system installed libcxx without adding -isystem /usr/local/include/c++. Also addresses the FIXME by explaining the use-case for these include paths. llvm-svn: 269801
* NFC: simplify logic.Manman Ren2016-05-171-2/+2
| | | | llvm-svn: 269794
* [PCH] Fixed bug with preamble invalidation when overridden files changeCameron Desrochers2016-05-171-13/+23
| | | | | | | | When remapped files were changed, they would not always cause the preamble's PCH to be invalidated, because the remapped path didn't necessarily match the include path (e.g. slash direction -- this happens a lot on Windows). I fixed this by moving to a llvm::sys::fs::UniqueID-based map instead of comparing paths stringwise. Differential Revision: http://reviews.llvm.org/D20137 llvm-svn: 269769
* Revert "[X86] Add immediate range checks for many of the builtins."Filipe Cabecinhas2016-05-171-234/+32
| | | | | | This reverts commit r269619. llvm-svn: 269765
* [Mips] Set mips32 as default CPU for MIPS32 AndroidPetar Jovanovic2016-05-171-1/+3
| | | | | | | | Change default CPU for MIPS32 Android. Now it is mips32 (rev1). Differential Revision: http://reviews.llvm.org/D20313 llvm-svn: 269754
* [OPENMP] Pass scalar firstprivate vars by value.Alexey Bataev2016-05-177-194/+218
| | | | | | | | For better performance and to unify code with offloading part we pass scalar firstprivate values by value, instead of by reference. It will remove some extra copying operations. llvm-svn: 269751
* clang-format: [JS] simplify logic by parsing forward.Martin Probst2016-05-171-65/+36
| | | | | | | This also reduces complexity to O(n) from O(n^2) by avoiding backtracking re-parses, and fixes length calculation. llvm-svn: 269748
* clang-format: [JS] fix template string width counting.Martin Probst2016-05-171-45/+23
| | | | | | | | | | | | | | | Summary: Simply looking at the final text greatly simplifies the algorithm and also fixes a reported issue. This requires duplicating the "actual encoding width" logic, but that seems cleaner than the column acrobatics before. Reviewers: djasper, bkramer Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D20208 llvm-svn: 269747
* [AVX512] Add parentheses around macro arguments in AVX512F intrinsics. ↵Craig Topper2016-05-171-2255/+2077
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269746
* [AVX512] Add parentheses around macro arguments in AVX512VL intrinsics. ↵Craig Topper2016-05-171-1346/+1165
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269745
* [AVX512] Add parentheses around macro arguments in AVX512VLDQ intrinsics. ↵Craig Topper2016-05-171-228/+238
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269744
* [AVX512] Add parentheses around macro arguments in AVX512VLBW intrinsics. ↵Craig Topper2016-05-171-240/+184
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269743
* [AVX512] Add parentheses around macro arguments in AVX512PF intrinsics. ↵Craig Topper2016-05-171-43/+43
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269742
* [AVX512] Add parentheses around macro arguments in AVX512ER intrinsics. ↵Craig Topper2016-05-171-66/+66
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269741
* [AVX512] Add parentheses around macro arguments in AVX512DQ intrinsics. ↵Craig Topper2016-05-171-403/+445
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269740
* [AVX512] Add parentheses around macro arguments in AVX512BW intrinsics. ↵Craig Topper2016-05-171-162/+120
| | | | | | | | Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments. This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits. llvm-svn: 269739
* [AVX512] Correct types for scalar double precision FMA intrinsics and single ↵Craig Topper2016-05-171-42/+42
| | | | | | precision getexp intrinsics. llvm-svn: 269737
* [X86] Add a few missing typecasts to intrinsics. Found by playing with ↵Craig Topper2016-05-172-4/+6
| | | | | | -fno-lax-vector-conversions on the builtin tests. llvm-svn: 269734
* [AVX512] _m512_setzero_qi/hi should return __m512i.Craig Topper2016-05-171-14/+14
| | | | llvm-svn: 269733
* [AVX512] Fix odd formatting in intrinsic header.Craig Topper2016-05-171-10/+10
| | | | llvm-svn: 269732
* Modules: set SystemHeader to true if we are building a system module.Manman Ren2016-05-172-6/+10
| | | | | | | | | | | | If we are processing a #include from a module build, we should treat it as a system header if we're building a system module. Passing an optional flag to HeaderSearch::LookupFile. Before this, the testing case will crash when accessing a freed FileEntry. rdar://26214027 llvm-svn: 269730
* Doxygen comments for avxintrin.h.Ekaterina Romanova2016-05-163-169/+853
| | | | | | | | | | | | | | | Added doxygen comments to avxintrin.h's intrinsics. As of now, only around 50% of the intrinsics in this file are documented here. The patches for the other half will be sent out later. Updated bmiintrin.h to fix an incorrect section name. Updated f16cintrin.h to fix incorect parameter names. The doxygen comments are automatically generated based on Sony's intrinsics document. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. llvm-svn: 269718
* Avoid O(n^2) string analysis when handling GNU __asm__ statements.Richard Smith2016-05-161-8/+15
| | | | llvm-svn: 269716
* Revert "Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and ↵Vedant Kumar2016-05-163-14/+10
| | | | | | | | Coverage, NFC"" This reverts commit r269695. The llvm commit does not pass the MSVC bot. llvm-svn: 269701
* Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"Vedant Kumar2016-05-163-10/+14
| | | | | | | | Sync up with "(llvm) Use Error in InstrProf and Coverage". Differential Revision: http://reviews.llvm.org/D19902 llvm-svn: 269695
* Added support to the ASTImporter for C++ constructor initializers.Sean Callanan2016-05-161-2/+133
| | | | | | | | | Also added named casts and propagation of "implicit" to fix the LLDB testsuite. This is a fixed commit of r269546, which was reverted by r269575. Thanks to Aleksei Sidorin for review and advice. llvm-svn: 269693
* [Lex] inferModuleFromLocation should do no work if there are no modulesDavid Majnemer2016-05-161-0/+3
| | | | | | | | | | | | getModuleContainingLocation ends up on the hot-path for typical C code which can lead to calls to getFileIDSlow. To speed this up, short circuit inferModuleFromLocation when there aren't any modules, implicit or otherwise. This shaves 4-5% build time when building the linux kernel. llvm-svn: 269687
* [Clang][AVX512] completing missing intrinsics for [vpabs] instruction setMichael Zuckerman2016-05-161-0/+34
| | | | | | Differential Revision: http://reviews.llvm.org/D20069 llvm-svn: 269680
* Change embed-bitcode linkage typeSteven Wu2016-05-161-22/+51
| | | | | | | | | | | Embedded bitcode should have private linkage instead of appending or external. Otherwise, it will cause link failure due to duplicated symbols. Also add llvm.embedded.module and llvm.cmdline to llvm.compiler.used so they don't get optimized out. rdar://problem/21555860 llvm-svn: 269679
* [ms] Reintroduce feature guards in intrinsic headers in Microsoft modeNico Weber2016-05-162-1/+105
| | | | | | | | | | | | | | | | | | | | | Visual Studio's C++ standard library headers include intrin.h, so the intrinsic headers get included a lot more often in Microsoft mode than elsewhere. The AVX512 intrinsics are a lot of code (0.7 MB, causing 30% compile time overhead for small programs including e.g. <string> and 6% compile time overhead for larger projects like e.g. v8). Since multiversioning can't be relied on in Microsoft mode (cl.exe doesn't support it), having faster compiles seems like the much better tradeoff until we have a better intrinsic story going forward (which we'll need for e.g. PR19898). Actually using intrinsics on Windows already requires the right /arch: settings, so this patch should have no big behavior change. See also thread "The intrinsics headers (especially avx512) are too big. What to do about it?" on cfe-dev. http://reviews.llvm.org/D20291 llvm-svn: 269675
* [PS4] Change the names of some "environmental" things to what ourPaul Robinson2016-05-164-8/+8
| | | | | | | | licensees actually see in the toolchain we deliver to them. This will reduce the set of local patches we have to maintain. The triple is not changing. (The term ORBIS is an internal code name for PS4.) llvm-svn: 269671
* [OpenCL] Add supported OpenCL extensions to target info.Yaxun Liu2016-05-164-14/+65
| | | | | | | | | | Add supported OpenCL extensions to target info. It serves as default values to save the users of the burden setting each supported extensions and optional core features in command line. Re-commit after fixing build error due to missing override attribute. Differential Revision: http://reviews.llvm.org/D19484 llvm-svn: 269670
* Add the hasDynamicExceptionSpec() AST matcher to match function declarations ↵Aaron Ballman2016-05-161-0/+1
| | | | | | | | that have a dynamic exception specification. Patch by Don Hinton. llvm-svn: 269662
* [Modules] Use vfs for (recursive) directory iterationBruno Cardoso Lopes2016-05-163-21/+29
| | | | | | | | | | | | | | | | Clang performs directory walk while searching headers inside modules by using the ::sys::fs instead of ::vfs. This prevents any code that uses the VFS (e.g, reproducer scripts) to actually find such headers, since the VFS will never be searched for those. Change these places to use vfs::recursive_directory_iterator and vfs::directory_iterator instead. Differential Revision: http://reviews.llvm.org/D20266 rdar://problem/25880368 llvm-svn: 269661
* [Clang][AVX512] completing missing intrinsics [vsqrt|vrsqrt|vrcp14 ].Michael Zuckerman2016-05-161-0/+106
| | | | | | Differential Revision: http://reviews.llvm.org/D20068 llvm-svn: 269649
* [X86] Add typecasts to remove most assumptions about what __m128i/__m256i is ↵Craig Topper2016-05-1610-288/+289
| | | | | | defined as. Add similar typecasts for the fp types as well. llvm-svn: 269632
* [AVX512] Add typecasts to some intrinsics to avoid doing operations on the ↵Craig Topper2016-05-161-15/+15
| | | | | | __m512/__m512i/__m512d types. llvm-svn: 269631
* CodeGen: convert some const char * to StringRefSaleem Abdulrasool2016-05-161-33/+21
| | | | | | Convert some use of const char * to StringRef. NFC. llvm-svn: 269630
* [X86] Remove bad cast from the 'int' return type of ↵Craig Topper2016-05-161-4/+2
| | | | | | __builtin_ia32_kortestchi to '__mask16' before return in an 'int' intrinsic. llvm-svn: 269621
* [AVX512] Fix bad typecasts on return value for 512-bit integer byte/word ↵Craig Topper2016-05-161-8/+8
| | | | | | compare builtins. llvm-svn: 269620
* [X86] Add immediate range checks for many of the builtins.Craig Topper2016-05-151-32/+234
| | | | llvm-svn: 269619
* [AVX512] Add intrinsics for 512-bit insertf32x8/insertf32x4/inserti32x4.Craig Topper2016-05-152-0/+72
| | | | llvm-svn: 269617
* [AVX512] Mark some integer builtin arguments that go to immediates in final ↵Craig Topper2016-05-151-8/+4
| | | | | | instructions as an ICE. llvm-svn: 269613
* [AVX512] Move unary negations to the left side of typecasts to specific ↵Craig Topper2016-05-151-48/+48
| | | | | | vector type. The __m128/__m256/__m512 types should be treated more opaquely and not have any operations performed on them. llvm-svn: 269612
* [AVX512] Use the correct mask type in an intrinsic.Craig Topper2016-05-151-3/+3
| | | | llvm-svn: 269611
* [AVX512] Fix an intrinsic that was passing -2 as a mask instead of -1.Craig Topper2016-05-151-1/+1
| | | | llvm-svn: 269610
* Revert r269546 "Added support to the ASTImporter for C++ constructor ↵Oleksiy Vyalov2016-05-141-82/+0
| | | | | | initializers." as it breaks TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwarf test - http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/14699 llvm-svn: 269575
* Warn when a reference is bound to an empty l-value (dereferenced null pointer).Nick Lewycky2016-05-141-0/+15
| | | | llvm-svn: 269572
* [mips] Enable IAS by default for 32-bit MIPS targets (O32).Daniel Sanders2016-05-141-0/+2
| | | | | | | | | | | | | | | | | | | Summary: The MIPS IAS can now pass 'ninja check-all', recurse, build a bootable linux kernel, and pass a variety of LNT testing. Unfortunately we can't enable it by default for 64-bit targets yet since the N32 ABI is still very buggy and this also means we can't enable it for N64 either because we can't distinguish between N32 and N64 in the relevant code. Reviewers: vkalintiris Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18759 Differential Revision: http://reviews.llvm.org/D18761 llvm-svn: 269560
* MSVCToolChain.cpp: Make version.dll generic for win32.NAKAMURA Takumi2016-05-142-2/+6
| | | | | | | We may consider msvc features may be capable on mingw host, if it can. Consider --host=mingw --target=msvc. llvm-svn: 269557
OpenPOWER on IntegriCloud