- Jan 12, 2017
-
-
Hans Wennborg authored
llvm-svn: 291782
-
Artem Dergachev authored
This replaces the hack in r291754, which was fixing pr31592, which was caused by r291754, with a more appropriate solution. rdar://problem/28832541 Differential revision: https://reviews.llvm.org/D28602 llvm-svn: 291781
-
Anastasia Stulova authored
Updated index and UsersManual with OpenCL description. Review: https://reviews.llvm.org/D28080 llvm-svn: 291780
-
Matt Arsenault authored
llvm-svn: 291779
-
Matt Arsenault authored
llvm-svn: 291778
-
Matt Arsenault authored
llvm-svn: 291777
-
David Blaikie authored
llvm-svn: 291776
-
Dehao Chen authored
llvm-svn: 291775
-
Dehao Chen authored
Summary: LTO backend will not invoke SampleProfileLoader pass even if -fprofile-sample-use is specified. This patch passes the flag down so that pass manager can add the SampleProfileLoader pass correctly. Reviewers: mehdi_amini, tejohnson Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28588 llvm-svn: 291774
-
Marshall Clow authored
This tells whether or not the builtin function __builtin_memcmp is constexpr. Only defined for clang 4.0 and later, and not true for any shipping version of Apple's clang. llvm-svn: 291773
-
Chad Rosier authored
Patch by Tom Stellard. Differential Revision: https://reviews.llvm.org/D27563 llvm-svn: 291772
-
Malcolm Parsons authored
Summary: We do not currently track the source locations for exception specifications such that their source range can be queried through the AST. This leads to trying to write more complex code to determine the source range for uses like FixItHints (see D18575 for an example). In addition to use within tools like clang-tidy, I think this information may become more important to track as exception specifications become more integrated into the type system. Patch by Don Hinton. Reviewers: rsmith Subscribers: malcolm.parsons, sbarzowski, alexfh, hintonda, cfe-commits Differential Revision: https://reviews.llvm.org/D20428 llvm-svn: 291771
-
Daniel Sanders authored
Summary: The register bank is now entirely initialized in the constructor. However, we still have the hardcoded number of register classes which will be dealt with in the TableGen patch (D27338) since we do not have access to this information to resolve this at this stage. The number of register classes is known to the TRI and to TableGen but the RegisterBank constructor is too early for the former and too late for the latter. This will be fixed when the data is tablegen-erated. Reviewers: t.p.northover, ab, rovka, qcolombet Subscribers: aditya_nandakumar, kristof.beyls, vkalintiris, llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D27809 llvm-svn: 291770
-
Amjad Aboud authored
Differential Revision: https://reviews.llvm.org/D16077 llvm-svn: 291769
-
Daniel Sanders authored
Summary: Refactor the RegisterBank initialization to use static data. This requires GlobalISel implementations to rewrite calls to createRegisterBank() and addRegBankCoverage() into a call to setRegBankData(). Out of tree targets can use diff 4 of D27807 (https://reviews.llvm.org/D27807?id=84117) to have addRegBankCoverage() dump the register classes and other data that needs to be provided to setRegBankData(). This is the method that was used to generate the static data in this patch. Tablegen-eration of this static data will follow after some refactoring. Reviewers: t.p.northover, ab, rovka, qcolombet Subscribers: aditya_nandakumar, kristof.beyls, vkalintiris, llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D27807 Differential Revision: https://reviews.llvm.org/D27808 llvm-svn: 291768
-
Alexander Kornienko authored
Summary: Prevents misclassifying includes based on the command-line filename (e.g. if a project is in a subdirectory). This is slightly more robust than the additional duplicate detection, however the current classification scheme is still kind of brittle for a lot of code. Reviewers: hokein, alexfh Subscribers: cfe-commits, #clang-tools-extra Patch by Julian Bangert! Differential Revision: https://reviews.llvm.org/D26015 llvm-svn: 291767
-
Eric Liu authored
Summary: elf::fatal is declared "noreturn". Reviewers: grimar Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28607 llvm-svn: 291766
-
George Rimar authored
Previously we just crashed when had user defined section .shstrtab, for example. Which name equals to synthetic one, but have different type. Testcase reveals an issue. Differential revision: https://reviews.llvm.org/D28559 llvm-svn: 291765
-
Jonas Hahnfeld authored
Clang 4.0 trunk warns: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] This points to a potential bug if the code really wants to check if the single bit is not set: If for example (buf.edx >> 9) = 2 (has any bit set except the least significant one), 'logical not' will return 0 which stays 0 after the 'bitwise and'. To do this correctly we first need to evaluate the 'bitwise and'. In that case it returns 2 & 1 = 0 which after the 'logical not' evaluates to 1. Differential Revision: https://reviews.llvm.org/D28599 llvm-svn: 291764
-
Pavel Labath authored
I have accidentally added extra llvm:: namespace qualification. llvm-svn: 291763
-
Piotr Padlewski authored
Summary: Memory Dependence Analysis was limited to return only local dependencies for invariant.group handling. Now it returns NonLocal when it finds it and then by asking getNonLocalPointerDependency we get found dep. Thanks to this we are able to devirtualize loops! void indirect(A &a, int n) { for (int i = 0 ; i < n; i++) a.foo(); } void test(int n) { A a; indirect(a); } After inlining a.foo() will be changed to direct call, even if foo and A::A() is external (but only if vtable definition is be available). Reviewers: nlewycky, dberlin, chandlerc, rsmith Subscribers: mehdi_amini, davide, llvm-commits Differential Revision: https://reviews.llvm.org/D28137 llvm-svn: 291762
-
Simon Pilgrim authored
llvm-svn: 291761
-
Simon Pilgrim authored
2 issues: 1 - replaced unix-style pid_t with cross-platform llvm::sys::ProcessInfo::ProcessId 2 - fixed shadow variable warning in lambda expression Reviewed by @filcab llvm-svn: 291760
-
Pavel Labath authored
Summary: The formatter supports the same options as the string-like classes, i.e. the ability to truncate the displayed string. I don't anticipate it would be much used, but it seems consistent. Reviewers: zturner, clayborg Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D28519 llvm-svn: 291759
-
George Rimar authored
Intention of change is to get rid of code duplication. Decompressor was introduced in D28105. Change allows to get rid of few methods relative to decompression. Differential revision: https://reviews.llvm.org/D28106 llvm-svn: 291758
-
Alex Lorenz authored
the same source range and use the unary operator fixit only when it actually silences the warning. rdar://24570531 Differential Revision: https://reviews.llvm.org/D28231 llvm-svn: 291757
-
Pavel Labath authored
llvm-svn: 291756
-
Artem Dergachev authored
A hotfix for pr31592 that fixes the crash but not the root cause of the problem. We need to update the analyzer engine further to account for AST changes introduced in r289618. At the moment we're erroneously performing a redundant lvalue-to-rvalue cast in this scenario, and squashing the rvalue of the object bound to the reference into the reference itself. rdar://problem/28832541 llvm-svn: 291754
-
Vassil Vassilev authored
Fixes a crash in modules where the template class decl becomes the most recent decl in the redeclaration chain and forcing the template instantiator try to instantiate the friend declaration, rather than the template definition. In practice, A::list<int> produces a TemplateSpecializationType A::__1::list<int, allocator<type-parameter-0-0> >' failing to replace to subsitute the default argument to allocator<int>. Kudos Richard Smith (D28399). llvm-svn: 291753
-
George Rimar authored
Addded quotes to be consistent with x64 messages, where quotes were used for nicer reporting 'Unknown' relocations initially. llvm-svn: 291752
-
George Rimar authored
The same we did for x86 earlier: list supported relocations explicitly and error out on unknown. Differential revision: https://reviews.llvm.org/D28564 llvm-svn: 291751
-
Dean Michael Berris authored
Fix-up following D24377. llvm-svn: 291750
-
Dean Michael Berris authored
Summary: This is the third of a multi-part change to implement subcommands for the `llvm-xray` tool. Here we define the `account` subcommand which does simple function call accounting, generating basic statistics on function calls we find in an XRay log/trace. We support text output and csv output for this subcommand. This change also supports sorting, summing, and filtering the top N results. Part of this tool will later be turned into a library that could be used for basic function call accounting. Depends on D24376. Reviewers: dblaikie, echristo Subscribers: mehdi_amini, dberris, beanz, llvm-commits Differential Revision: https://reviews.llvm.org/D24377 llvm-svn: 291749
-
Matt Arsenault authored
llvm-svn: 291748
-
Craig Topper authored
[AVX-512] Improve lowering of zero_extend of v4i1 to v4i32 and v2i1 to v2i64 with VLX, but no DQ or BW support. llvm-svn: 291747
-
Craig Topper authored
[AVX-512] Improve lowering of sign_extend of v4i1 to v4i32 and v2i1 to v2i64 when avx512vl is available, but not avx512dq. llvm-svn: 291746
-
Elad Cohen authored
r289653 added a case where `vselect <cond> <vector1> <all-zeros>` is transformed to: `vselect xor(cond, DAG.getConstant(1, DL, CondVT) <all-zeros> <vector1>` This was not aimed to catch cases where Cond is not a vXi1 mask but it does. Moreover, when Cond type is VxiN (N > 1) then xor(cond, DAG.getConstant(1, DL, CondVT) != NOT(cond). This patch changes the above to xor with allones, and avoids entering the case for non-mask Conds. llvm-svn: 291745
-
Craig Topper authored
[AVX-512] Add more varied avx512 feature command lines to the avx512-cvt.ll test to show some poor codegen examples. We're definitely doing bad things when avx512vl is enabled without avx512dq. It looks like avx512vl/dq without avx512bw may also have some issues. llvm-svn: 291744
-
Shoaib Meenai authored
Attempting to pair an `_aligned_malloc` with a regular free causes heap corruption. Pairing with `_aligned_free` is required instead. Makes the following libc++ tests pass on Windows: ``` std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp ``` Differential Revision: https://reviews.llvm.org/D28512 llvm-svn: 291743
-
Marshall Clow authored
llvm-svn: 291742
-