summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86][3DNow] Add scheduling latency/throughput tests for 3DNow! instructionsSimon Pilgrim2017-10-161-0/+372
| | | | llvm-svn: 315942
* [JumpThreading] Move two PredValueInfoTy vectors to a scope closer to their ↵Craig Topper2017-10-161-2/+2
| | | | | | usage. NFCI llvm-svn: 315941
* [Transforms] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2017-10-1611-151/+310
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 315940
* [X86][MMX] Add scheduling latency/throughput tests for MMX instructionsSimon Pilgrim2017-10-161-0/+6342
| | | | llvm-svn: 315939
* Replace make_range in MachineRegisterInfo with ArrayRef, NFCKrzysztof Parzyszek2017-10-161-2/+3
| | | | llvm-svn: 315938
* [libFuzzer] Delete llvm/lib/FuzzerVitaly Buka2017-10-1647-7427/+0
| | | | | | | | | | | | Summary: Code is already in compiler-rt Reviewers: kcc Subscribers: krytarowski, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D38912 llvm-svn: 315937
* Add base relative relocation record that can be used for the following case ↵Tony Tye2017-10-162-1/+14
| | | | | | | | | | | | | | | | (OpenCL example): static __global int Var = 0; __global int* Ptr[] = {&Var}; ... In this case Var is a non premptable symbol and so its address can be used as the value of Ptr, with a base relative relocation that will add the delta between the ELF address and the actual load address. Such relocations do not require a symbol. This also fixes LLD which was incorrectly generating a PCREL64 for this case. Differential Revision: https://reviews.llvm.org/D38910 llvm-svn: 315936
* Add base relative relocation record that can be used for the following case ↵Tony Tye2017-10-163-1/+13
| | | | | | | | | | | | | | (OpenCL example): static __global int Var = 0; __global int* Ptr[] = {&Var}; ... In this case Var is a non premptable symbol and so its address can be used as the value of Ptr, with a base relative relocation that will add the delta between the ELF address and the actual load address. Such relocations do not require a symbol. Differential Revision: https://reviews.llvm.org/D38909 llvm-svn: 315935
* Remove AnyX86Interrupt documentationErich Keane2017-10-162-55/+1
| | | | | | | | | This documentation was copied directly from the GCC documentaiton in r257867. Reverting and alterting the original author so that it can be rewritten in copyright-safe language. llvm-svn: 315934
* fix llvm-isel-fuzzer: LLVMFuzzerTestOneInput should never return non-zero ↵Kostya Serebryany2017-10-161-1/+1
| | | | | | (according to the contract) llvm-svn: 315933
* Revert MSVC 2017 build fix and fix it by moving the method that implicitly ↵Reid Kleckner2017-10-161-32/+34
| | | | | | instantiates addPredicate out of line llvm-svn: 315932
* Sort Attributes by "HeaderName" Erich Keane2017-10-161-20/+36
| | | | | | | | | | | | | | Attributes in the docs were previously sorted (apparently) by the attribute name, so AnyX86Interrupt ended up being the first one, rather than in a meaningful place. This resulted in the 4 'interrupt' titled sections being all in different places. This replaces it with a naive alphabetical sort (case sensitive, underscore and special characters first, etc). Differential Revision: https://reviews.llvm.org/D38969 llvm-svn: 315931
* Fix the build of GlobalISelEmitter with MSVC 2017 by specializing earlierReid Kleckner2017-10-161-12/+12
| | | | | | | MSVC doesn't seem to like implicitly instantiating addPredicate and then explicitly specializing it later. It causes an internal compiler error. llvm-svn: 315930
* Clarify the 'interrupt' names in Attribute DocsErich Keane2017-10-161-0/+4
| | | | | | | All 4 of the 'interrupt' headers were automatically named 'interrupt'. This patch gives them unique names. llvm-svn: 315929
* Add iterator range MachineRegisterInfo::liveins(), adopt users, NFCKrzysztof Parzyszek2017-10-169-31/+25
| | | | llvm-svn: 315927
* Revert r315877: Simplify.Konstantin Zhuravlyov2017-10-162-4/+5
| | | | | | | | It causes MSVC 2015 to emit "C4307: '-': integral constant overflow" warning Differential Revision: https://reviews.llvm.org/D38955 llvm-svn: 315926
* [Hexagon] Rangify some loops, NFCKrzysztof Parzyszek2017-10-162-44/+26
| | | | | | Recommit r315763 with a fix. llvm-svn: 315925
* [refactor] allow the use of refactoring diagnosticsAlex Lorenz2017-10-1618-34/+192
| | | | | | | | | This commit allows the refactoring library to use its own set of refactoring-specific diagnostics to reports things like initiation errors. Differential Revision: https://reviews.llvm.org/D38772 llvm-svn: 315924
* clang-refactor: Use llvm_unreachable in an unused overrideAlex Lorenz2017-10-161-1/+1
| | | | | | As suggested by David Blaikie! llvm-svn: 315923
* [cfi] Test cross-dso CFI on Android.Evgeniy Stepanov2017-10-166-1/+59
| | | | | | | | | | Reviewers: vitalybuka, pcc Subscribers: llvm-commits, srhines Differential Revision: https://reviews.llvm.org/D38911 llvm-svn: 315922
* Do not link clang_rt.cfi on Android.Evgeniy Stepanov2017-10-163-27/+33
| | | | | | | | | | | | | | | Summary: The OS provides cross-dso CFI support starting with Android O. Trapping mode does not require any runtime at all, and diagnostic mode requires just ubsan-standalone. Reviewers: pcc Subscribers: srhines, cfe-commits Differential Revision: https://reviews.llvm.org/D38908 llvm-svn: 315921
* [SCEV] Rename getMaxBECount and update comments. NFCAnna Thomas2017-10-162-11/+12
| | | | | | Post commit review comments at D38825. llvm-svn: 315920
* [SparsePropagation] Enable interprocedural analysisMatthew Simpson2017-10-163-131/+702
| | | | | | | | | | | | | | | | | | This patch adds the ability to perform IPSCCP-like interprocedural analysis to the generic sparse propagation solver. The patch gives clients the ability to define their own custom LatticeKey types that the generic solver maps to custom LatticeVal types. The custom lattice keys can be used, for example, to distinguish among mappings for regular values, values returned from functions, and values stored in global variables. Clients are responsible for defining how to convert between LatticeKeys and LLVM Values by providing a specialization of the LatticeKeyInfo template. The added unit tests demonstrate how the generic solver can be used to perform a simplified version of interprocedural constant propagation. Differential Revision: https://reviews.llvm.org/D37353 llvm-svn: 315919
* Recommit r315738 "[clang-refactor] Apply source replacements"Alex Lorenz2017-10-166-6/+198
| | | | | | | | | | | | | | | The fixed commit ensures that ParsedSourceRange works correctly with Windows paths. Original message: This commit actually brings clang-refactor to a usable state as it can now apply the refactoring changes to source files. The -selection option is now also fully supported. Differential Revision: https://reviews.llvm.org/D38402 llvm-svn: 315918
* [scudo] Do not include sanitizer_posix.h if not on a Posix platformKostya Kortchinsky2017-10-161-2/+2
| | | | | | | | | | | | | | | | Summary: Move the `sanitizer_posix.h` include within the `SANITIZER_ANDROID` `#if`, otherwise this errors when built on non-Posix platforms (eg: Fuchsia). Reviewers: alekseyshl Reviewed By: alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38956 llvm-svn: 315917
* [AMDGPU] : revert r315908Alexander Timofeev2017-10-162-39/+10
| | | | llvm-svn: 315916
* [Bitfield] Add an option to access bitfield in a fine-grained manner.Wei Mi2017-10-167-2/+222
| | | | | | | | Currently all the consecutive bitfields are wrapped as a large integer unless there is unamed zero sized bitfield in between. The patch provides an alternative manner which makes the bitfield to be accessed as separate memory location if it has legal integer width and is naturally aligned. Such separate bitfield may split the original consecutive bitfields into subgroups of consecutive bitfields, and each subgroup will be wrapped as an integer. Now This is all controlled by an option -ffine-grained-bitfield-accesses. The alternative of bitfield access manner can improve the access efficiency of those bitfields with legal width and being aligned, but may reduce the chance of load/store combining of other bitfields, so it depends on how the bitfields are defined and actually accessed to choose when to use the option. For now the option is off by default. Differential revision: https://reviews.llvm.org/D36562 llvm-svn: 315915
* [ObjCARC] Do not move a release that has the clang.imprecise_release tagAkira Hatanaka2017-10-162-3/+28
| | | | | | | | | | | | | | above PHI instructions. ARC optimizer has an optimization that moves a call to an ObjC runtime function above a phi instruction when the phi has a null operand and is an argument passed to the function call. This optimization should not kick in when the runtime function is an objc_release that releases an object with precise lifetime semantics. rdar://problem/34959669 llvm-svn: 315914
* [x86] add minmax tests with more predicate coverage; NFCSanjay Patel2017-10-161-0/+30
| | | | llvm-svn: 315913
* [Polly] Add XFAIL to large-numbers-in-boundary-context.llAnna Thomas2017-10-161-0/+1
| | | | | | | | | | | | | | | After rL315683 (improve SCEV to calculate max BETakenCount when end bound of loop is variant and loop is of form {Start,+1, Stride} LT End) this test in polly started failing. However, as discussed in https://reviews.llvm.org/rL315683, this polly test is not a loops bound test and the MaxBECount calculated by SCEV looks correct. The max BECount is the value calculated even when the end bound of loop is invariant. As discussed with Tobias offline, I'm marking this as an XFAIL, until he gets a chance to update the testcase, so the build bot goes to green. llvm-svn: 315912
* [TableGen] Simplify CallingConvEmitter.cpp. NFC.Javed Absar2017-10-161-8/+8
| | | | llvm-svn: 315911
* [InstCombine] don't unnecessarily generate a constant; NFCISanjay Patel2017-10-161-3/+2
| | | | llvm-svn: 315910
* [ValueTracking] fix typos, formatting; NFCSanjay Patel2017-10-161-11/+10
| | | | llvm-svn: 315909
* [AMDGPU] Prevent Machine Copy Propagation from replacing live copy with the ↵Alexander Timofeev2017-10-162-11/+40
| | | | | | | | dead one Differential revision: https://reviews.llvm.org/D38754 llvm-svn: 315908
* Fix test name typo.Simon Pilgrim2017-10-161-5/+5
| | | | llvm-svn: 315907
* [X86][SSE] Added additional PACKUS shuffle testsSimon Pilgrim2017-10-163-0/+102
| | | | | | Mainly inspired by PR34773 llvm-svn: 315906
* [mips][micromips] Fix (dis)assembly of bc1(t|f)Simon Dardis2017-10-166-17/+32
| | | | | | | | | | | | Previously these instructions were marked codegen only and had an under-specified instruction description that did not record the fcc register. Reviewers: atanasyan, abeserminji Differential Revision: https://reviews.llvm.org/D38847 llvm-svn: 315905
* ISel type legalizer: debug messages. NFC.Sjoerd Meijer2017-10-162-4/+17
| | | | | | | | | | | Minor addition and follow up of r314773 and r311533: this adds more debug messages to the type legalizer. For each node, it dumps legalization info for results and operands nodes, rather than just the final legalized node. Differential Revision: https://reviews.llvm.org/D38726 llvm-svn: 315904
* Fix or vs || typo.Simon Pilgrim2017-10-161-1/+1
| | | | llvm-svn: 315903
* [CUDA] Require libdevice only if neededJonas Hahnfeld2017-10-166-14/+19
| | | | | | | | | If the user passes -nocudalib, we can live without it being present. Simplify the code by just checking whether LibDeviceMap is empty. Differential Revision: https://reviews.llvm.org/D38901 llvm-svn: 315902
* [mips] Provide alternate predicates for constant synthesisStefan Maksimovic2017-10-163-17/+166
| | | | | | | Ordering of patterns should not be of importance anymore since the predicates used are mutually exclusive now. llvm-svn: 315901
* [PowerPC] fix up in sign-/zero-extension eliminationHiroshi Inoue2017-10-161-0/+2
| | | | | | This patch fixes a potential problem in my previous commit (https://reviews.llvm.org/rL315888) by adding a null check. llvm-svn: 315900
* This patch is a result of D37262: The issues with X86 prefixes. It closes ↵Andrew V. Tischenko2017-10-1615-192/+362
| | | | | | PR7709, PR17697, PR19251, PR32809 and PR21640. There could be other bugs closed by this patch. llvm-svn: 315899
* [clang-rename] Add function unit tests.Haojian Wu2017-10-164-0/+580
| | | | | | | | | | | | | | | | | Summary: Also contain a fix: * Fix a false positive of renaming a using shadow function declaration. Reviewers: ioeric Reviewed By: ioeric Subscribers: klimek, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D38882 llvm-svn: 315898
* [llvm-dwarfdump] - Teach tool to parse DW_CFA_GNU_args_size.George Rimar2017-10-162-0/+16
| | | | | | | | | Currently llvm-dwarfdump runs into llvm_unreachable when faces DW_CFA_GNU_args_size. Patch implements the support. Differential revision: https://reviews.llvm.org/D38879 llvm-svn: 315897
* Revert rL315894, "SLPVectorizer.cpp: Try to appease stage2-3 difference. ↵NAKAMURA Takumi2017-10-162-162/+23
| | | | | | (D38586)" llvm-svn: 315896
* Move folding of icmp with zero after checking for min/max idioms.Nikolai Bozhenov2017-10-163-12/+24
| | | | | | | | | | | | | | | | | | | | | Summary: The following transformation for cmp instruction: icmp smin(x, PositiveValue), 0 -> icmp x, 0 should only be done after checking for min/max to prevent infinite looping caused by a reverse canonicalization. That is why this transformation was moved to place after the mentioned check. Reviewers: spatel, efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38934 Patch by: Artur Gainullin <artur.gainullin@intel.com> llvm-svn: 315895
* SLPVectorizer.cpp: Try to appease stage2-3 difference. (D38586)NAKAMURA Takumi2017-10-162-23/+162
| | | | llvm-svn: 315894
* [clang-format] Break non-trailing comments, try 2Krasimir Georgiev2017-10-166-1/+122
| | | | | | | | | | | | | | | | | | | | Summary: This patch enables `BreakableToken` to manage the formatting of non-trailing block comments. It is a refinement of https://reviews.llvm.org/D37007. We discovered that the optimizer outsmarts us on cases where breaking the comment costs considerably less than breaking after the comment. This patch addresses this by ensuring that a newline is inserted between a block comment and the next token. Reviewers: djasper Reviewed By: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D37695 llvm-svn: 315893
* [change-namespace] do not change type locs in defaulted functions.Eric Liu2017-10-162-1/+65
| | | | | | | | | | Reviewers: hokein Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D38893 llvm-svn: 315892
OpenPOWER on IntegriCloud