summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* ARM: actually define __ARM_ARCH_7S__ for the armv7s sliceTim Northover2015-07-211-1/+2
| | | | | | | We ended up with the wrong predefine after the recent TargetParser shuffle, and I accidentally solidified it with a test. This should fix it. llvm-svn: 242841
* Use a range-based for loop; NFC.Aaron Ballman2015-07-211-2/+2
| | | | llvm-svn: 242836
* Replace some uses of Self.Context with the local variable C; NFC.Aaron Ballman2015-07-211-14/+14
| | | | llvm-svn: 242835
* Fix GCC build due to shadowingDavid Blaikie2015-07-211-2/+2
| | | | llvm-svn: 242826
* Pass an iterator range to EmitCallArgsDavid Blaikie2015-07-218-35/+30
| | | | llvm-svn: 242824
* [modules] Produce an error if -cc1 wants to implicitly build a module and noRichard Smith2015-07-212-10/+10
| | | | | | | module cache has been provided, rather than creating one in the current directory. llvm-svn: 242819
* Add missing parentheses to appease -Wlogical-op-parentheses.Daniel Jasper2015-07-211-3/+5
| | | | | | Add missing case to appease -Wswitch. llvm-svn: 242797
* [X86][AVX512F] add FP arithmetic intrinsicsAsaf Badouh2015-07-211-0/+246
| | | | | | | | | add/div/mul/sub include rounding versions Differential Revision: http://reviews.llvm.org/D11354 llvm-svn: 242790
* Commit for http://reviews.llvm.org/D10765Michael Wong2015-07-2113-8/+118
| | | | | | | for OpenMP 4 target data directive parsing and sema. This commit is on behalf of Kelvin Li. llvm-svn: 242785
* Fix mingw toolchain to honor sysroot on Linux and add tests.Yaron Keren2015-07-212-43/+86
| | | | | | | | It should now support three mingw distributions running on Windows and three Linux distributions. The include directories for each are listed in the comments. llvm-svn: 242766
* [ARM] Pass subtarget feature "+reserve-r9" instead of passing backendAkira Hatanaka2015-07-211-7/+6
| | | | | | | | | | | | | | | | | | option "-arm-reserve-r9". This recommits r242736, which had to be reverted because the llvm-side change that was committed in r242737 caused the number of subtarget features to go over the limit of 64. This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11319 llvm-svn: 242755
* Fix crash-on-invalid: don't look ahead past an unknown token, it might be EOF.Richard Smith2015-07-211-1/+2
| | | | llvm-svn: 242744
* Revert r242736.Akira Hatanaka2015-07-201-6/+7
| | | | | | | | | r242737 caused builds to fail with the following error message, so I'm reverting the clang side change too: error:Too many subtarget features! Bump MAX_SUBTARGET_FEATURES. llvm-svn: 242741
* clang-format: Fix crasher when a UTF8 character is found in an escapeDaniel Jasper2015-07-201-1/+1
| | | | | | sequence. Discovered by the fuzzer. llvm-svn: 242738
* [ARM] Pass subtarget feature "+reserve-r9" instead of passing backendAkira Hatanaka2015-07-201-7/+6
| | | | | | | | | | | | | | option "-arm-reserve-r9". This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11319 llvm-svn: 242736
* Ignore the "novtable" declspec when not using the Microsoft C++ ABI.Bob Wilson2015-07-206-11/+12
| | | | | | | | | | | | | | Clang used to silently ignore __declspec(novtable). It is implemented now, but leaving the vtable uninitialized does not work when using the Itanium ABI, where the class layout for complex class hierarchies is stored in the vtable. It might be possible to honor the novtable attribute in some simple cases and either report an error or ignore it in more complex situations, but it’s not clear if that would be worthwhile. There is also value in having a simple and predictable behavior, so this changes clang to simply ignore novtable when not using the Microsoft C++ ABI. llvm-svn: 242730
* [MS Compat] Add support for __declspec(noalias)David Majnemer2015-07-202-1/+7
| | | | | | | The attribute '__declspec(noalias)' communicates that the function only accesses memory pointed to by its pointer-typed arguments. llvm-svn: 242728
* [CUDA] Moved device-side triple calculation to buildCudaActions().Artem Belevich2015-07-202-26/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D11310 llvm-svn: 242718
* Fix a case where we forgot to make a static local variable comdatReid Kleckner2015-07-201-0/+1
| | | | | | | | | | | | | Sometimes we can provide an initializer for static locals, in which case we sometimes might need to change the type. Changing the type requires making a new LLVM GlobalVariable, and in this codepath we were forgetting to transfer the comdat. Fixes PR23838. Patch by Ivan Garramona. llvm-svn: 242704
* Fixed style issues pointed out by Justin Bogner.Artem Belevich2015-07-203-39/+35
| | | | | | Differential Revision: http://reviews.llvm.org/D11273 llvm-svn: 242698
* Fix quoting of #pragma comment for PS4.Yunzhong Gao2015-07-201-1/+5
| | | | | | | | | | | | This is the PS4 counterpart to r229376, which quotes the library name if the name contains space. It was discovered that if a library name contains both double-quote and space characters, quoting the name might produce unexpected results, but we are mostly concerned with a Windows host environment, which does not allow double-quote or slashes in file/folder names. Differential Revision: http://reviews.llvm.org/D11275 llvm-svn: 242689
* [CodeGen] Flip lanes when lowering __builtin_palignr with one laneBenjamin Kramer2015-07-201-0/+1
| | | | | | | Otherwise we'd pick the wrong lane for the resulting shuffle and miscompile code. PR24187. llvm-svn: 242678
* Silence a -Wtype-limits warning; NFC.Aaron Ballman2015-07-201-1/+1
| | | | llvm-svn: 242670
* Remove erroneous space in "lib64" string constant.Yaron Keren2015-07-201-1/+1
| | | | llvm-svn: 242667
* [X86, inlineasm] Improve analysis of x,Y0,Yi,Ym,Yt,L,e,Z,s asm constraints ↵Alexey Bataev2015-07-202-23/+52
| | | | | | | | | (patch by Alexey Frolov) Improve Sema checking of 9 existing inline asm constraints (‘x’, ‘Y*’, ‘L’, ‘e’, ‘Z’, ‘s’). Differential Revision: http://reviews.llvm.org/D10536 llvm-svn: 242665
* Allow case-insensitive values for -mtune for AArch64 target in line with GCC.Gabor Ballabas2015-07-201-4/+5
| | | | | | | | | GCC allows case-insensitive values for -mcpu, -march and -mtune options. This patch implements the same behaviour for the -mtune option for the AArch64 target. Differential Revision: http://reviews.llvm.org/D10563 llvm-svn: 242663
* Fix typo found by Joerg Sonnenberger.Yaron Keren2015-07-201-1/+1
| | | | llvm-svn: 242662
* Support mingw toolchain include and lib directories on Arch Linux.Yaron Keren2015-07-201-27/+40
| | | | | | Thanks to Thomas Pochtrager for testing this! llvm-svn: 242660
* [Sema] Make an assertion stricter.Davide Italiano2015-07-191-1/+1
| | | | | | We now check for the exact range of IdealIndex. llvm-svn: 242652
* [modules] Don't save uninteresting identifiers, and don't consider identifiersRichard Smith2015-07-194-14/+29
| | | | | | | to be interesting just because they are the name of a builtin. Reduces the size of an empty module by over 80% (~100KB). llvm-svn: 242650
* Remove two unused includes, part 2...Nico Weber2015-07-191-1/+0
| | | | llvm-svn: 242649
* Remove two unused includes.Nico Weber2015-07-191-1/+0
| | | | llvm-svn: 242648
* [X86][AVX512BW] add clang intrinsics for pmulhrsw / pmulhuw / pmulhwAsaf Badouh2015-07-191-0/+90
| | | | | | | | also made minor fix in "test_mm512_maskz_permutex2var_epi16" Differential Revision: http://reviews.llvm.org/D11336 llvm-svn: 242635
* [CodeGen] Don't dereference vector::end if the vector can be emptyBenjamin Kramer2015-07-181-1/+1
| | | | | | MSVC complains about this in debug mode. NFC. llvm-svn: 242622
* [AST] Remove StmtRange in favor of an iterator_range.Benjamin Kramer2015-07-186-19/+17
| | | | | | | | | StmtRange was just a convenient wrapper for two StmtIterators before we had real range support. This removes some of the implicit conversions StmtRange had leading to slightly more verbose code but also should make more obvious what's going on. No functional change intended. llvm-svn: 242615
* clang-format: Take nested lines into account when detection C++03Daniel Jasper2015-07-181-32/+46
| | | | | | compatibility and variable alignment. llvm-svn: 242611
* [AST] Cleanup ExprIterator.Benjamin Kramer2015-07-187-24/+9
| | | | | | | | - Make it a proper random access iterator with a little help from iterator_adaptor_base - Clean up users of magic dereferencing. The iterator should behave like an Expr **. - Make it an implementation detail of Stmt. This allows inlining of the assertions. llvm-svn: 242608
* Silence the driver warnings, if we see "-w" on the Driver.Filipe Cabecinhas2015-07-181-0/+3
| | | | | | | | | | | | | | | | | | Summary: We can enable warnings after that -w, so the patch might not be 100% correct. The problem that triggered this is: we have some amount of tests that expect 0 warnings (including unit tests for -w), but -w ends up not fully silencing everything. Reviewers: echristo, chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11322 llvm-svn: 242606
* Driver/ToolChain/AMDGPU: Attempt to fix buildbots after r242601Tom Stellard2015-07-181-1/+1
| | | | llvm-svn: 242602
* Driver: Add AMDGPU toolchainTom Stellard2015-07-185-0/+58
| | | | | | | | | | | | | | Summary: This is a minimal toolchain, which sets the integrated assembler as default, and uses lld for linking. Reviewers: arsenm, mcrosier Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10700 llvm-svn: 242601
* [Sema] Emit correct warning when copy-elision is not possible.Davide Italiano2015-07-181-0/+5
| | | | | | | | | | If we're returning a function parameter, copy elision isn't possible, so we now warn for redundant move. PR: 23819 Differential Revision: http://reviews.llvm.org/D11305 llvm-svn: 242600
* [MS ABI] Explicit specialization of static data members are weakDavid Majnemer2015-07-171-1/+5
| | | | | | | | | | | | | Normally, explicit specializations are treated like strong external definitions. However, MSVC treats explicit specializations of static data members as weak. MSVC 2013's <regex> implementation has such an explicit specialization which leads to clang emitting a strong definition in each translation unit which includes it. Tweak clang's linkage calculation to give such entities GVA_StrongODR linkage instead. This fixes PR24165. llvm-svn: 242592
* InstrProf: Promote this assert to a report_fatal_errorJustin Bogner2015-07-171-2/+2
| | | | | | | | If this assert does fire, the no-asserts behaviour is an infinite loop. It's better to crash in this case so we get a crash report and stop wasting the user's cpu cycles. llvm-svn: 242591
* Hopefully fix android i386 build after r242554.James Y Knight2015-07-171-1/+2
| | | | | | | | | That platform has alignof(uint64_t) == 4, but, since LLVM_ALIGNAS(...) cannot take anything but literal integers due to MSVC limitations, the literal '8' used there didn't match. Switch ScopeStackAlignment to just use 8, as well. llvm-svn: 242578
* basic: default to MSVC on WindowsSaleem Abdulrasool2015-07-171-6/+3
| | | | | | | | | | | The "armv7-windows", "i686-windows", and "x86_64-windows" targets should be equivalent to the MSVC environment. This was previously discussed when the triples for Windows werw canonicalised. Im not sure how this was overlooked. This fixes the emission of non-COFF formats on Windows. Thanks to ki9a for reporting this issue over IRC! llvm-svn: 242574
* Stop treating extension keywords as 'interesting'; we don't allow the extensionRichard Smith2015-07-172-4/+2
| | | | | | | flag to change between serialization and deserialization, so it does not require the identifier to be serialized. llvm-svn: 242567
* Fix -save-temp when using objc-arc, sanitizer and profilingSteven Wu2015-07-173-8/+18
| | | | | | | | | | | | Currently, -save-temp will cause ObjCARC optimization to be dropped, sanitizer pass to run early in the pipeline, and profiling instrumentation to run twice. Fix the issue by properly disable all passes in the optimization pipeline when generating bitcode output and parse some of the Language Options even when the input is bitcode so the passes can be setup correctly. llvm-svn: 242565
* Refactor to remove repetition, no functionality change.Richard Smith2015-07-171-40/+27
| | | | llvm-svn: 242564
* Remove redundant bouncing between StringRef and a pair of 'const char *'.Richard Smith2015-07-171-2/+1
| | | | llvm-svn: 242562
* Fix alignment issues in Clang.James Y Knight2015-07-1711-38/+88
| | | | | | | | | | | | | | | | | Some const-correctness changes snuck in here too, since they were in the area of code I was modifying. This seems to make Clang actually work without Bus Error on 32bit-sparc. Follow-up patches will factor out a trailing-object helper class, to make classes using the idiom of appending objects to other objects easier to understand, and to ensure (with static_assert) that required alignment guarantees continue to hold. Differential Revision: http://reviews.llvm.org/D10272 llvm-svn: 242554
OpenPOWER on IntegriCloud