summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* This patch closes PR#32216: Better testing of schedule model instruction ↵Andrew V. Tischenko2017-04-1426-638/+874
| | | | | | | | latencies/throughputs. The details are here: https://reviews.llvm.org/D30941 llvm-svn: 300311
* [LV] Remove implicit single basic block assumptionGil Rapaport2017-04-141-6/+5
| | | | | | | | | | | | | This patch is part of D28975's breakdown - no change in output intended. LV's code currently assumes the vectorized loop is a single basic block up until predicateInstructions() is called. This patch removes two manifestations of this assumption (loop phi incoming values, dominator tree update) by replacing the use of vectorLoopBody with the vectorized loop's latch/header. Differential Revision: https://reviews.llvm.org/D32040 llvm-svn: 300310
* [ValueTracking] Calculate the KnownZeros for Intrinsic::ctpop without using ↵Craig Topper2017-04-141-5/+2
| | | | | | | | a temporary APInt to count leading zeros on. The APInt was created from an 'unsigned' and we just wanted to know how many bits the value needed to represent it. We can just use Log2_32 from MathExtras.h to get the info. llvm-svn: 300309
* [ValueTracking] Use APInt::isNegative(). NFCCraig Topper2017-04-141-1/+1
| | | | llvm-svn: 300308
* [ValueTracking] Use APInt::sext instead of zext and setBitsFrom. NFCCraig Topper2017-04-141-7/+2
| | | | llvm-svn: 300307
* [AMDGPU][GFX9] Set +fp32-denormals for >=gfx900 unless -cl-denorms-are-zero ↵Konstantin Zhuravlyov2017-04-142-3/+19
| | | | | | | | is set Differential Revision: https://reviews.llvm.org/D31482 llvm-svn: 300306
* [InstCombine] Use APInt::setSignBit and APInt::isNegative(). NFCCraig Topper2017-04-141-3/+3
| | | | llvm-svn: 300305
* Fix use after free errorXinliang David Li2017-04-141-1/+1
| | | | llvm-svn: 300304
* clang/test/CoverageMapping/unused_names.c: Relax an expression for targeting ↵NAKAMURA Takumi2017-04-141-1/+1
| | | | | | PECOFF. llvm-svn: 300303
* Fix test failure on windows: pass module to getInstrProfXXName callsXinliang David Li2017-04-141-4/+4
| | | | llvm-svn: 300302
* Remove unused function /nfcXinliang David Li2017-04-141-4/+0
| | | | llvm-svn: 300301
* Object, LTO: Add target triple to irsymtab and LTO API.Peter Collingbourne2017-04-1410-44/+64
| | | | | | | | | | Start using it in LLD to avoid needing to read bitcode again just to get the target triple, and in llvm-lto2 to avoid printing symbol table information that is inappropriate for the target. Differential Revision: https://reviews.llvm.org/D32038 llvm-svn: 300300
* NewGVN: Don't propagate over phi backedges where undef causes us toDaniel Berlin2017-04-142-8/+182
| | | | | | | | have >1 value, unless we can prove the phi node is cycle free. Fixes PR 32607. llvm-svn: 300299
* COFF: Remove some unused fields.Peter Collingbourne2017-04-141-2/+0
| | | | llvm-svn: 300298
* ELF: Remove some dead code.Peter Collingbourne2017-04-142-8/+0
| | | | llvm-svn: 300297
* Remove empty test directory for nonexistent standard clause.Richard Smith2017-04-140-0/+0
| | | | llvm-svn: 300296
* [docs] UBSan: Mention that print_stacktrace=1 is unsupported on DarwinVedant Kumar2017-04-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Printing out stack traces along with UBSan diagnostics is unsupported on Darwin. That's because it isn't possible to use the fast unwinder or the slow unwinder. Apparently, it's inappropriate to use the fast unwinder for UBSan issues. I'm not exactly sure why (see the comment in ubsan_diag.cc). Forcing use of the fast unwinder produces decent results, AFAICT. Darwin also does not appear to have a slow unwinder suitable for use with the sanitizers. Apparently that's because of PR20800 [1][2]. But that bug has been fixed. I'm not sure if there is anything preventing use of the slow unwinder now. Currently, passing UBSAN_OPTIONS=print_stacktrace=1 does nothing on Darwin. This isn't good, but it might be a while before we can fix the situation, so we should at least document it. [1] https://github.com/google/sanitizers/issues/137 "We can't use the slow unwinder on OSX now, because Clang produces incorrect unwind info for the ASan runtime functions on OSX (http://llvm.org/PR20800)." [2] https://bugs.llvm.org/show_bug.cgi?id=20800 Bug 20800 - Invalid compact unwind info generated for a function without frame pointers on OSX llvm-svn: 300295
* Remove useless local variable.Rui Ueyama2017-04-141-4/+2
| | | | llvm-svn: 300294
* Replace uintX_t with uint64_t.Rui Ueyama2017-04-143-40/+28
| | | | | | | | We generally want to use uint64_t instead of uintX_t if the 64-bit type works for both 32-bit and 64-bit because it is simpler than the variable-size type. llvm-svn: 300293
* Use range-for; NFCSanjoy Das2017-04-141-6/+4
| | | | llvm-svn: 300292
* Use transform instead of manual loop; NFCSanjoy Das2017-04-141-5/+5
| | | | llvm-svn: 300291
* Revert r300287.Kuba Mracek2017-04-143-6/+9
| | | | llvm-svn: 300290
* LLVMCodeGen: Add ProfileData into deps corresponding to r300277.NAKAMURA Takumi2017-04-141-1/+1
| | | | llvm-svn: 300289
* [AMDGPU] added SIInstrInfo::getAddNoCarry() helperStanislav Mekhanoshin2017-04-145-142/+190
| | | | | | | | Addressed rest of post submit comments from D31993. Differential Revision: https://reviews.llvm.org/D32057 llvm-svn: 300288
* [ObjC] Fix lifetime markers of loop variable in EmitObjCForCollectionStmtKuba Mracek2017-04-143-9/+6
| | | | | | | | CodeGenFunction::EmitObjCForCollectionStmt currently emits lifetime markers for the loop variable in an inconsistent way: lifetime.start is emitted before the loop is entered, but lifetime.end is emitted inside the loop. AddressSanitizer uses these markers to track out-of-scope accesses to local variables, and we get false positives in Obj-C foreach loops (in the 2nd iteration of the loop). The markers of the loop variable need to be either both inside the loop (so that we poison and unpoison the variable in each iteration), or both outside. This patch implements the "both inside" approach. Differential Revision: https://reviews.llvm.org/D32029 llvm-svn: 300287
* [ORC] Re-enable the Error/Expected unit tests that were disabled in r300177.Lang Hames2017-04-142-158/+166
| | | | | | | | | | | | | The tests were failing due to an occasional deadlock in SerializationTraits for Error: Both serializers and deserializers were protected by a single mutex and in the unit test (where both ends of the RPC are in the same process) one side might obtain the mutex, then block waiting for input, leaving the other side of the connection unable to obtain the mutex to write the data the first side was waiting for. Splitting the mutex into two (one for serialization, one for deserialization) appears to have fixed the issue. llvm-svn: 300286
* Simplify some Verifier attribute checks with AttributeSetReid Kleckner2017-04-142-189/+176
| | | | | | | | | | | Now that we have a type that can represent the attributes on a single return, function, or parameter, we can pass it around directly rather than passing around AttributeList and Idx. Removes some more one-based argument attribute index counting. NFC llvm-svn: 300285
* Remove useless namespaces.Rui Ueyama2017-04-131-6/+0
| | | | llvm-svn: 300284
* Fix PR31934: forming refs to functions with enable_if attrs.George Burgess IV2017-04-132-0/+40
| | | | llvm-svn: 300283
* MIRLangRef: Add a section on simplifying .mir testsMatthias Braun2017-04-131-0/+47
| | | | | | Differential Revision: http://reviews.llvm.org/D32058 llvm-svn: 300282
* Rename readOutputSectionFiller parseFill.Rui Ueyama2017-04-131-10/+10
| | | | | | | | "read" is used as a prefix for functions that read tokens from input streams. This function doesn't really read anything, but just parses a given string as an integer, so rename. llvm-svn: 300281
* Fix FILL linker script command.Rui Ueyama2017-04-132-2/+1
| | | | | | | FILL command doesn't need a semicolon. Fixes https://bugs.llvm.org/show_bug.cgi?id=32657 llvm-svn: 300280
* [Profile] PE binary coverage bug fixXinliang David Li2017-04-131-1/+1
| | | | | | | | PR/32584 Differential Revision: https://reviews.llvm.org/D32023 llvm-svn: 300279
* [Profile] PE binary coverage bug fixXinliang David Li2017-04-131-6/+61
| | | | | | | | PR/32584 Differential Revision: https://reviews.llvm.org/D32023 llvm-svn: 300278
* [Profile] PE binary coverage bug fixXinliang David Li2017-04-1310-59/+195
| | | | | | | | PR/32584 Differential Revision: https://reviews.llvm.org/D32023 llvm-svn: 300277
* [AArch64] Avoid partial register writes on lane 0 of BUILD_VECTOR for i8/i16/f16Adam Nemet2017-04-134-7/+93
| | | | | | | | | | | | This further improves Ahmed's change in rL299482. See the new comment for the rationale. The patch recovers most of the regression for bzip2 after D31965. We're down to +2.68% from +6.97%. Differential Revision: https://reviews.llvm.org/D32028 llvm-svn: 300276
* AMDGPU/GFX9: Do not use v_pack_b32_f16 when packingKonstantin Zhuravlyov2017-04-136-86/+52
| | | | | | Differential Revision: https://reviews.llvm.org/D31819 llvm-svn: 300275
* build_llvm_package.bat: Move to VS2017Hans Wennborg2017-04-131-7/+7
| | | | | | It's required for building the clang-format plugin after r300225. llvm-svn: 300273
* [IR] Make getParamAttributes take argument numbers, not ArgNo+1Reid Kleckner2017-04-1317-77/+85
| | | | | | | | | | | | Add hasParamAttribute() and use it instead of hasAttribute(ArgNo+1, Kind) everywhere. The fact that the AttributeList index for an argument is ArgNo+1 should be a hidden implementation detail. NFC llvm-svn: 300272
* [docs] Regenerate diagnostics reference.Richard Smith2017-04-131-2/+119
| | | | llvm-svn: 300271
* [docs] Fix a couple of typos in command line flag help text and regenerate ↵Richard Smith2017-04-132-15/+61
| | | | | | documentation. llvm-svn: 300270
* [bpf] Fix memory offset check for loads and storesAlexei Starovoitov2017-04-132-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the offset cannot fit into the instruction, an addition to the pointer is emitted before the actual access. However, BPF offsets are 16-bit but LLVM considers them to be, for the matter of this check, to be 32-bit long. This causes the following program: int bpf_prog1(void *ign) { volatile unsigned long t = 0x8983984739ull; return *(unsigned long *)((0xffffffff8fff0002ull) + t); } To generate the following (wrong) code: 0: 18 01 00 00 39 47 98 83 00 00 00 00 89 00 00 00 r1 = 590618314553ll 2: 7b 1a f8 ff 00 00 00 00 *(u64 *)(r10 - 8) = r1 3: 79 a1 f8 ff 00 00 00 00 r1 = *(u64 *)(r10 - 8) 4: 79 10 02 00 00 00 00 00 r0 = *(u64 *)(r1 + 2) 5: 95 00 00 00 00 00 00 00 exit Fix it by changing the offset check to 16-bit. Patch by Nadav Amit <nadav.amit@gmail.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Differential Revision: https://reviews.llvm.org/D32055 llvm-svn: 300269
* MIRLangRef: Simplify/update documentationMatthias Braun2017-04-131-15/+16
| | | | | | | | | | | - Refer to options by `-option` instead of `option` - Use `-mtriple=` instead of `-march` in the example (-march will still target the default operating system which is usually not what you want in a test) - Rephrase sentence because output does not go to stdout by default (you need -o - for that as should be expected). llvm-svn: 300268
* [Support] Fix ErrorOr assertion when /proc/cpuinfo doesn't exist.Teresa Johnson2017-04-131-0/+1
| | | | | | | | | | | | | | The ErrorOr should not be dereferenced on the error path. Patch by Jacob Young Reviewers: tejohnson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32032 llvm-svn: 300267
* Add test for anonymous struct containing an implicitly private data member.Richard Smith2017-04-131-0/+3
| | | | | | Patch by Jacob Young! llvm-svn: 300266
* [InstCombine] Use APInt::getBitsSetFrom instead of inverting the result of ↵Craig Topper2017-04-131-4/+2
| | | | | | getLowBitsSet. NFC llvm-svn: 300265
* Diagnose attempt to take address of bitfield members in anonymous structs.Richard Smith2017-04-133-2/+10
| | | | | | | | Patch by Jacob Young! Differential Revision: https://reviews.llvm.org/D27263 llvm-svn: 300264
* Add "1" suffix if there's varaible ends with "2".Rui Ueyama2017-04-133-22/+22
| | | | | | | If we knew that we'd add End2, Edata2 and Etext2, we'd name their original symbols with "1". This patch does it. llvm-svn: 300263
* PR32185: Revert r291512 and add a testcase for PR32185.Richard Smith2017-04-136-49/+83
| | | | | | | | | | | | | | | This reverts an attempt to check that types match when matching a dependently-typed non-type template parameter. (This comes up when matching the parameters of a template template parameter against the parameters of a template template argument.) The matching rules here are murky at best. Our behavior after this revert is definitely wrong for certain C++17 features (for 'auto' template parameter types within the parameter list of a template template argument in particular), but our behavior before this revert is wrong for some pre-existing testcases, so reverting to our prior behavior seems like our best option. llvm-svn: 300262
* [libcxx] Direct support for FuchsiaPetr Hosek2017-04-133-2/+27
| | | | | | | | | | | Fuchsia's libc was forked from musl, but has evolved sufficiently since then so it no longer makes sense to pretend it's musl. This change implements direct support for Fuchsia rather than piggybacking on musl support. Differential Revision: https://reviews.llvm.org/D31970 llvm-svn: 300261
OpenPOWER on IntegriCloud