- Sep 27, 2016
-
-
Manuel Klimek authored
Patch by Eitan Adler. llvm-svn: 282494
-
Rafael Espindola authored
It will be used for fast fingerprinting in lld at least. llvm-svn: 282493
-
Alexander Kornienko authored
llvm-svn: 282490
-
Konstantin Zhuravlyov authored
subtarget This is a prerequisite for coming waitcnt changes Differential Revision: https://reviews.llvm.org/D24939 llvm-svn: 282489
-
Simon Dardis authored
Disable tail calls while the remaining bugs are fixed. Enable only for tests. Reviewers: vkalintiris Differential Review: https://reviews.llvm.org/D24912 llvm-svn: 282487
-
Simon Dardis authored
Add rsqrt.[ds], recip.[ds] for MIPS. Correct the microMIPS definitions for architecture support and register usage. Reviewers: vkalintiris, zoran.jovanoic Differential Review: https://reviews.llvm.org/D24499 llvm-svn: 282485
-
Andrey Bokhanko authored
This patch updates WritingAnLLVMPass.rst to make it in line with current state of things. Specifically: * Makefile instructions replaced with CMake ones * Filenames replaced with correct ones * Example reformatted a bit to make it less confusing and more conforming to LLVM Coding Standards * opt tool output updated with what it actually prints nowdays * "gcse" (which doesn't exist anymore) replaced with "gvn" (which still does) Differential Revision: https://reviews.llvm.org/D24233 llvm-svn: 282482
-
Dimitar Vlahovski authored
llvm-svn: 282479
-
Nemanja Ivanovic authored
This patch corresponds to review: https://reviews.llvm.org/D24396 This patch adds support for the "vector count trailing zeroes", "vector compare not equal" and "vector compare not equal or zero instructions" as well as "scalar count trailing zeroes" instructions. It also changes the vector negation to use XXLNOR (when VSX is enabled) so as not to increase register pressure (previously this was done with a splat immediate of all ones followed by an XXLXOR). This was done because the altivec.h builtins (patch to follow) use vector negation and the use of an additional register for the splat immediate is not optimal. llvm-svn: 282478
-
Craig Topper authored
llvm-svn: 282473
-
Craig Topper authored
llvm-svn: 282472
-
Craig Topper authored
[X86] Use std::max to calculate alignment instead of assuming RC->getSize() will not return a value greater than 32. I think it theoretically could be 64 for AVX-512. llvm-svn: 282471
-
Kostya Serebryany authored
llvm-svn: 282469
-
Kostya Serebryany authored
llvm-svn: 282467
-
Kostya Serebryany authored
llvm-svn: 282465
-
Ivan Krasin authored
Summary: We don't currently need this facility for CFI. Disabling individual hot methods proved to be a better strategy in Chrome. Also, the design of the feature is suboptimal, as pointed out by Peter Collingbourne. Reviewers: pcc Subscribers: kcc Differential Revision: https://reviews.llvm.org/D24948 llvm-svn: 282461
-
Kostya Serebryany authored
llvm-svn: 282460
-
Kostya Serebryany authored
[libFuzzer] add -exit_on_src_pos to test libFuzzer itself, add a test script for RE2 that uses this flag llvm-svn: 282458
-
Peter Collingbourne authored
llvm-svn: 282456
-
Peter Collingbourne authored
LowerTypeTests: Create LowerTypeTestsModule class and move implementation there. Related simplifications. llvm-svn: 282455
-
Daniel Dunbar authored
- This is primarily useful as a "fail fast" mode for lit, where it will stop running tests after the first failure. - Patch by Max Moiseev. llvm-svn: 282452
-
Davide Italiano authored
PR: 30494 llvm-svn: 282451
-
Davide Italiano authored
llvm-svn: 282450
-
- Sep 26, 2016
-
-
Derek Schuff authored
When we have dynamic allocas we have a frame pointer, and when we're lowering frame indexes we should make sure we use it. Patch by Jacob Gravelle Differential Revision: https://reviews.llvm.org/D24889 llvm-svn: 282442
-
Kevin Enderby authored
other load commands that use the Mach::linkedit_data_command type but not used in llvm libObject code but used in llvm tool code. This includes LC_FUNCTION_STARTS, LC_SEGMENT_SPLIT_INFO and LC_DYLIB_CODE_SIGN_DRS load commands. llvm-svn: 282441
-
Aditya Kumar authored
Reviewers: rafael spatel Differential Revision: https://reviews.llvm.org/D24843 llvm-svn: 282440
-
Piotr Padlewski authored
Summary: This patch improves thinlto importer by importing 3x larger functions that are called from hot block. I compared performance with the trunk on spec, and there were about 2% on povray and 3.33% on milc. These results seems to be consistant and match the results Teresa got with her simple heuristic. Some benchmarks got slower but I think they are just noisy (mcf, xalancbmki, omnetpp)- running the benchmarks again with more iterations to confirm. Geomean of all benchmarks including the noisy ones were about +0.02%. I see much better improvement on google branch with Easwaran patch for pgo callsite inlining (the inliner actually inline those big functions) Over all I see +0.5% improvement, and I get +8.65% on povray. So I guess we will see much bigger change when Easwaran patch will land (it depends on new pass manager), but it is still worth putting this to trunk before it. Implementation details changes: - Removed CallsiteCount. - ProfileCount got replaced by Hotness - hot-import-multiplier is set to 3.0 for now, didn't have time to tune it up, but I see that we get most of the interesting functions with 3, so there is no much performance difference with higher, and binary size doesn't grow as much as with 10.0. Reviewers: eraman, mehdi_amini, tejohnson Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D24638 llvm-svn: 282437
-
Zachary Turner authored
Differential Revision: https://reviews.llvm.org/D24904 llvm-svn: 282433
-
Nirav Dave authored
[X86] The .code16gcc directive parses X86 assembly input in 32-bit mode and outputs in 16-bit mode. Teach parser to switch modes appropriately. Reviewers: dwmw2, craig.topper Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20109 llvm-svn: 282430
-
Andrew Kaylor authored
Differential Revision: https://reviews.llvm.org/D19513 llvm-svn: 282428
-
Matthias Braun authored
Previously enabling the statistics with EnableStatistics() would lead to them getting printed to stderr/-info-output-file on exit. However frontends may want a way to enable statistics and do the printing on their own instead of the forced printing on exit. This changes the code so that only the -stats option enables printing on exit, EnableStatistics() only enables the tracking but requires invoking one of the PrintStatistics() variants. Differential Revision: https://reviews.llvm.org/D24819 llvm-svn: 282425
-
Matthias Braun authored
llvm-svn: 282424
-
Evandro Menezes authored
Specify proper target triplet to pass under Windows too. llvm-svn: 282423
-
Vedant Kumar authored
Rework getLongestCommonPrefixLen() so that it doesn't access string null terminators. The old version with std::mismatch would do this: | v Strings[0] = ['a', nil] Strings[1] = ['a', 'a', nil] ^ | This should silence a warning from the MSVC runtime (PR30515). As before, I tested this out by preparing a coverage report for FileCheck. Thanks to Yaron Keren for the report! llvm-svn: 282422
-
Daniel Berlin authored
llvm-svn: 282421
-
Tom Stellard authored
Summary: We need to call AsmPrinter::getNameWithPrefix() in order to handle anonymous GlobalValues (e.g. @0, @1). Reviewers: arsenm, b-sumner Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D24865 llvm-svn: 282420
-
Daniel Berlin authored
Reviewers: george.burgess.iv Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24923 llvm-svn: 282419
-
Matthew Simpson authored
This patch ensures that we actually scalarize instructions marked scalar after vectorization. Previously, such instructions may have been vectorized instead. Differential Revision: https://reviews.llvm.org/D23889 llvm-svn: 282418
-
Gor Nishanov authored
Summary: If coroutine has no suspend points, remove heap allocation and turn a coroutine into a normal function. Also, if a pattern is detected that coroutine resumes or destroys itself prior to coro.suspend call, turn the suspend point into a simple jump to resume or cleanup label. This pattern occurs when coroutines are used to propagate errors in functions that return expected<T>. Reviewers: majnemer Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D24408 llvm-svn: 282414
-
Geoff Berry authored
Don't match the UXTW extended reg forms of ADD/ADDS/SUB/SUBS if the 32-bit to 64-bit zero-extend can be done for free by taking advantage of the 32-bit defining instruction zeroing the upper 32-bits of the X register destination. This enables better instruction selection in a few cases, such as: sub x0, xzr, x8 instead of: mov x8, xzr sub x0, x8, w9, uxtw madd x0, x1, x1, x8 instead of: mul x9, x1, x1 add x0, x9, w8, uxtw cmp x2, x8 instead of: sub x8, x2, w8, uxtw cmp x8, #0 add x0, x8, x1, lsl #3 instead of: lsl x9, x1, #3 add x0, x9, w8, uxtw Reviewers: t.p.northover, jmolloy Subscribers: mcrosier, aemerson, llvm-commits, rengolin Differential Revision: https://reviews.llvm.org/D24747 llvm-svn: 282413
-