- Jan 12, 2017
-
-
Joerg Sonnenberger authored
llvm-svn: 291814
-
Robert Lougher authored
llvm-svn: 291813
-
Rui Ueyama authored
llvm-svn: 291812
-
Rui Ueyama authored
llvm-svn: 291811
-
Tobias Grosser authored
llvm-svn: 291810
-
Robert Lougher authored
Revision 289661 introduced the function DILocation::getMergedLocation for merging of debug locations. At the time is was simply a stub which always returned no location. This patch modifies getMergedLocation to handle the case where the two locations are the same or can't be discriminated. Differential Revision: https://reviews.llvm.org/D28521 llvm-svn: 291809
-
Eli Friedman authored
Cleanup in preparation for generalizing it. llvm-svn: 291808
-
Daniel Jasper authored
Uncovered by polly tests. Before: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaa, {}, aaaaaaaaaaaaaaaaaaaaaaa); After: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaa, {}, aaaaaaaaaaaaaaaaaaaaaaa); llvm-svn: 291807
-
Nikolai Bozhenov authored
Emit SHRQ/SHLQ instead of ANDQ with a 64 bit constant mask if the result is unused and the mask has only higher/lower bits set. For example, with this patch LLVM emits shrq $41, %rdi je instead of movabsq $0xFFFFFE0000000000, %rcx testq %rcx, %rdi je This reduces number of instructions, code size and register pressure. The transformation is applied only for cases where the mask cannot be encoded as an immediate value within TESTQ instruction. Differential Revision: https://reviews.llvm.org/D28198 llvm-svn: 291806
-
Eli Friedman authored
clang has generated correct IR for char/short decrement since r126816, but we didn't have any test coverage for decrement. Patch by Andrew Rogers. llvm-svn: 291805
-
Nikolai Bozhenov authored
- bypass-slow-division-32.ll: tests verifying correctness of divl-to-divb bypassing - bypass-slow-division-64.ll: tests verifying correctness of divq-to-divl bypassing - bypass-slow-division-tune.ll: tests verifying that bypassing is enabled only when appropriate Differential Revision: https://reviews.llvm.org/D28551 llvm-svn: 291804
-
Marcello Maggioni authored
The code parsing the string was using the offset returned from StringRef::find() wrong, assuming it was relative to the staring offset that is passed to the function, but the returned offset is always relative to the beginning of the line. This causes odd behaviour while parsing the component string. Spotted thanks to the newly added test: tools/llvm-config/booleans.test llvm-svn: 291803
-
Nikolai Bozhenov authored
For tests on bypassing slow division there's no need to be Atom-specific. The patch renames all tests on division bypassing and makes their names more consistent: atom-bypass-slow-division.ll -> bypass-slow-division-32.ll (tests verifying correctness of divl-to-divb bypassing) atom-bypass-slow-division-64.ll -> bypass-slow-division-64.ll (tests verifying correctness of divq-to-divl bypassing) slow-div.ll -> bypass-slow-division-tune.ll (tests verifying that bypassing is enabled only when appropriate) Differential Revision: https://reviews.llvm.org/D28197 llvm-svn: 291802
-
Daniel Jasper authored
Specifically, wrap before them if they are multi-line so that we don't create long hanging indents. This prevents having a lot of code indented a lot in some cases. Before: someFunction(Param, {List1, List2, List3}); After: someFunction(Param, {List1, List2, List3}); llvm-svn: 291801
-
Nikolai Bozhenov authored
64-bit integer division in Intel CPUs is extremely slow, much slower than 32-bit division. On the other hand, 8-bit and 16-bit divisions aren't any faster. The only important exception is Atom where DIV8 is fastest. Because of that, the patch 1) Enables bypassing of 64-bit division for Atom, Silvermont and all big cores. 2) Modifies 64-bit bypassing to use 32-bit division instead of 16-bit one. This doesn't make the shorter division slower but increases chances of taking it. Moreover, it's much more likely to prove at compile-time that a value fits 32 bits and doesn't require a run-time check (e.g. zext i32 to i64). Differential Revision: https://reviews.llvm.org/D28196 llvm-svn: 291800
-
Nikolai Bozhenov authored
Run update_llc_test_checks.py on CodeGen/X86/atom-bypass-slow-division.ll CodeGen/X86/atom-bypass-slow-division-64.ll CodeGen/X86/slow-div.ll Differential Revision: https://reviews.llvm.org/D28469 llvm-svn: 291799
-
Hans Wennborg authored
This time, make ignored options, such as /utf-8, show up as well if they have help text. Also, since we're now exposing -fdelayed-template-parsing, add help text to the -fno version so that shows up as well. llvm-svn: 291798
-
Malcolm Parsons authored
Summary: rL270567 excluded trivially copyable types from being moved by modernize-pass-by-value, but it didn't exclude references to them. Change types used in the tests to not be trivially copyable. Reviewers: madsravn, aaron.ballman, alexfh Subscribers: JDevlieghere, cfe-commits Differential Revision: https://reviews.llvm.org/D28614 llvm-svn: 291796
-
Rafael Espindola authored
The effect is that the nobits section gets space allocated on disk. Both bfd and gold allow this with linker scripts. To try to keep things simple in lld, always allow it for now. llvm-svn: 291795
-
Bruno Cardoso Lopes authored
When a textual header is present inside a umbrella dir but not in the header, we get the misleading warning: warning: umbrella header for module 'FooFramework' does not include header 'Baz_Private.h' The module map in question: framework module FooFramework { umbrella header "FooUmbrella.h" export * module * { export * } module Private { textual header "Baz_Private.h" } } Fix this by taking textual headers into account. llvm-svn: 291794
-
Matt Arsenault authored
llvm-svn: 291792
-
Alex Shlyapnikov authored
Summary: Bypass quarantine altogether when quarantine size is set ot zero. Also, relax atomic load/store of quarantine parameters, the release/acquire semantics is an overkill here. Reviewers: eugenis Subscribers: kubabrecka, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D28586 llvm-svn: 291791
-
Matt Arsenault authored
llvm-svn: 291790
-
Saleem Abdulrasool authored
Switch some additional library call setup to be table driven. This makes it more immediately obvious what the library call looks like. This is important for ARM since the calling conventions for the builtins change based on the target/libcall name. NFC llvm-svn: 291789
-
Chris Bieneman authored
The framework build was constructing the path to LLDBWrapPython incorrectly. It is apparently always in the scripts directory. llvm-svn: 291788
-
Robert Lougher authored
llvm-svn: 291787
-
Hans Wennborg authored
Like r291636 and r285261. llvm-svn: 291786
-
Robert Lougher authored
llvm-svn: 291785
-
Matt Arsenault authored
llvm-svn: 291784
-
Hans Wennborg authored
llvm-svn: 291783
-
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
-