summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Do not add but record signed-unsigned assumptionsJohannes Doerfert2016-04-263-3/+2
| | | | llvm-svn: 267528
* [ppc64] Reenable sibling call optimization on ppc64 since fixed tsan library ↵Chuang-Yu Cheng2016-04-262-1/+2
| | | | | | | | | | | tail-call issue print-stack-trace.cc test failure of compiler-rt has been fixed by r266869 (http://reviews.llvm.org/D19148), so reenable sibling call optimization on ppc64 Reviewers: nemanjai kbarton llvm-svn: 267527
* Revert "[sanitizers] read/write page fault detection on mac."Mehdi Amini2016-04-262-2/+1
| | | | | | | | | This reverts commit r267477. It broke our bots that enables the AArch64 backends, it seems that this code is using a Darwin *X86 specific* field. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 267526
* Align case statements (whitespace-only cleanup)Sanjoy Das2016-04-261-15/+15
| | | | llvm-svn: 267525
* Symbolize operand bundle blocks for bcanalyzerSanjoy Das2016-04-262-0/+35
| | | | | | | | | | Reviewers: joker.eph Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D19523 llvm-svn: 267524
* [ELF] Simplify. Pointed out by Rui Ueyama.Davide Italiano2016-04-261-2/+1
| | | | llvm-svn: 267523
* [AArch64] Expand v1i64 and v2i64 ctlz.Craig Topper2016-04-262-0/+31
| | | | | | The default is legal, which results in 'Cannot select' errors. llvm-svn: 267522
* [ARM] Expand vector ctlz_zero_undef so it becomes ctlz.Craig Topper2016-04-262-0/+72
| | | | | | The default is Legal, which results in 'Cannot select' errors. llvm-svn: 267521
* [ARM] Expand v1i64 and v2i64 ctlz.Craig Topper2016-04-262-0/+19
| | | | | | The default is legal, which results in 'Cannot select' errors. llvm-svn: 267520
* Tune basic block annotation algorithm.Dehao Chen2016-04-263-181/+263
| | | | | | | | | | | | | | | Summary: Instead of using maximum IR weight as the basic block weight, this patch uses the voting algorithm to find the most likely weight for the basic block. This can effectively avoid the cases when some IRs are annotated incorrectly due to code motion of the profiled binary. This patch also updates propagate.ll unittest to include discriminator in the input file so that it is testing something meaningful. Reviewers: davidxl, dnovillo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19301 llvm-svn: 267519
* [powerpc] mark JIT tests as UNSUPPORTED on powerpc64 big endianBill Seurer2016-04-2624-48/+72
| | | | | | | | | | | | | Some of the JIT tests began failing with "[llvm] r266663 - [Orc] Re-commit r266581 with fixes for MSVC, and format cleanups." on powerpc64 big endian. To get the buildbots running I am marking these as UNSUPPORTED for now. If this is fixed remove the UNSUPPORTED flag "powerpc64-unknown-linux-gnu". In r267516 I marked these as XFAIL but they succeed on some of the bots on stage1. llvm-svn: 267518
* Pass the test file in through stdin instead of by filename.Richard Trieu2016-04-261-1/+1
| | | | | | | | When passed in via filename, this test will fail if the path to the test has the strings "f1" and "f2" in somewhere. Pass the file through stdin to prevent test failures due to coincidences in path names. llvm-svn: 267517
* [powerpc] mark JIT tests as XFAIL on powerpc64 big endianBill Seurer2016-04-2624-24/+48
| | | | | | | | | | Some of the JIT tests began failing with "[llvm] r266663 - [Orc] Re-commit r266581 with fixes for MSVC, and format cleanups." on powerpc64 big endian. To get the buildbots running I am marking these as XFAIL for now. If this is fixed remove the XFAIL flag "powerpc64-unknown-linux-gnu". llvm-svn: 267516
* [SimplifyCFG] Preserve !llvm.mem.parallel_loop_access when mergingHal Finkel2016-04-263-1/+58
| | | | | | | | When SimplifyCFG merges identical instructions from both sides of a diamond, it can preserve !llvm.mem.parallel_loop_access (as it does with most of the other metadata). There's no real data or control dependency change in this case. llvm-svn: 267515
* [LoopVectorize] Don't consider conditional-load dereferenceability for ↵Hal Finkel2016-04-263-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | marked parallel loops I really thought we were doing this already, but we were not. Given this input: void Test(int *res, int *c, int *d, int *p) { for (int i = 0; i < 16; i++) res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; } we did not vectorize the loop. Even with "assume_safety" the check that we don't if-convert conditionally-executed loads (to protect against data-dependent deferenceability) was not elided. One subtlety: As implemented, it will still prefer to use a masked-load instrinsic (given target support) over the speculated load. The choice here seems architecture specific; the best option depends on how expensive the masked load is compared to a regular load. Ideally, using the masked load still reduces unnecessary memory traffic, and so should be preferred. If we'd rather do it the other way, flipping the order of the checks is easy. The LangRef is updated to make explicit that llvm.mem.parallel_loop_access also implies that if conversion is okay. Differential Revision: http://reviews.llvm.org/D19512 llvm-svn: 267514
* trying to fix the windows build broken by r267496Kostya Serebryany2016-04-261-1/+1
| | | | llvm-svn: 267513
* [lli] Fix a sign-compare warning.Lang Hames2016-04-261-2/+2
| | | | llvm-svn: 267512
* [WebAssembly] Account for implicit operands when computing operand indices.Dan Gohman2016-04-262-2/+8
| | | | llvm-svn: 267511
* [ORC] Try to work around a GCC 4.7 bug triggered by r267457.Lang Hames2016-04-261-4/+9
| | | | llvm-svn: 267510
* unwind: remove last instance of -Wexpansion-to-definedSaleem Abdulrasool2016-04-261-4/+6
| | | | | | | | | This unifies the definition of _LIBUNWIND_BUILD_SJLJ_APIS. It also further generalises the definition to allow building these APIs on non-Apple targets when `-fsjlj-excceptions` is used. The header is now clean of macros which expand to defined checks. llvm-svn: 267509
* Fix arm-linux-gnueabi regression due to rL267291Omair Javaid2016-04-261-1/+5
| | | | | | | | | | | | rL267291 introduces a lot regression on arm-linux LLDB testsuite. This patch fixes half of them. I am merging it under already revied android counterpart. Another patch fixing rest of the issue will follow this commit. Differential revision: http://reviews.llvm.org/D19480 llvm-svn: 267508
* [SROA] Don't falsely report that changes have occuredDavid Majnemer2016-04-261-6/+10
| | | | | | | | | We would report that the function changed despite creating no new allocas or performing any promotion. This fixes PR27316. llvm-svn: 267507
* Reverting Thumb2SizeReduction opt bisect change to fix failing buildbots.Andrew Kaylor2016-04-261-2/+1
| | | | llvm-svn: 267506
* [Tests] Run reproduces.s only on UNIX until I investigate a windows failure.Davide Italiano2016-04-261-1/+1
| | | | llvm-svn: 267505
* [CodeGenPrepare] don't convert an unpredictable select into control flowSanjay Patel2016-04-262-6/+26
| | | | | | | Suggested in the review of D19488: http://reviews.llvm.org/D19488 llvm-svn: 267504
* CGOpenMPRuntime.h: Prune '\param IfCond' in r267395. [-Wdocumentation]NAKAMURA Takumi2016-04-261-2/+0
| | | | llvm-svn: 267503
* Remove MinLatency in SchedMachineModel. NFC.Junmo Park2016-04-2612-16/+0
| | | | | | | | | | | Summary: We don't use MinLatency any more since r184032. Reviewers: atrick, hfinkel, mcrosier Differential Revision: http://reviews.llvm.org/D19474 llvm-svn: 267502
* [Docs] Fix indentation error introduced by r267447.George Burgess IV2016-04-261-7/+7
| | | | llvm-svn: 267501
* When building the list of variables we're going to write "using ↵Jim Ingham2016-04-263-4/+7
| | | | | | | | | $_lldb_local_vars" statements for, be sure not to include variables that have no locations. We wouldn't be able to realize them, and that will cause all expressions to fail. llvm-svn: 267500
* PM: Port GlobalOpt to the new pass managerJustin Bogner2016-04-268-41/+95
| | | | llvm-svn: 267499
* PM: Convert the logic for GlobalOpt into static functions. NFCJustin Bogner2016-04-261-66/+71
| | | | | | | | | | Pass all of the state we need around as arguments, so that these functions are easier to reuse. There is one part of this that is unusual: we pass around a functor to look up a DomTree for a function. This will be a necessary abstraction when we try to use this code in both the legacy and the new pass manager. llvm-svn: 267498
* [ELF] Introduce --reproduce flag.Davide Italiano2016-04-264-0/+73
| | | | | | | | | | --reproduce dumps the object files in a directory chosen (preserving the file system layout) and the linker invocation so that people can create an archive and upload for debugging. Differential Revision: http://reviews.llvm.org/D19494 llvm-svn: 267497
* [lanai] Update handling of structs in arguments to be passed in registers.Jacques Pienaar2016-04-262-12/+64
| | | | | | Previously aggregate types were passed byval, change the ABI to pass these in registers instead. llvm-svn: 267496
* [X86] Use LivePhysRegs in X86FixupBWInsts.Ahmed Bougacha2016-04-264-27/+38
| | | | | | | | | Kill-flags, which computeRegisterLiveness uses, are not reliable. LivePhysRegs is. Differential Revision: http://reviews.llvm.org/D19472 llvm-svn: 267495
* Make sure that the following SymbolFileDWARF functions can handle getting a ↵Greg Clayton2016-04-252-9/+57
| | | | | | | | | | | | | | | | | | | | lldb::user_id_t for another SymbolFileDWARF: CompilerDecl SymbolFileDWARF::GetDeclForUID (lldb::user_id_t type_uid); CompilerDeclContext SymbolFileDWARF::GetDeclContextForUID (lldb::user_id_t type_uid) CompilerDeclContext SymbolFileDWARF::GetDeclContextContainingUID (lldb::user_id_t type_uid) Type* SymbolFileDWARF::ResolveTypeUID (lldb::user_id_t type_uid) <rdar://problem/25592223> llvm-svn: 267494
* GlobalOpt: Convert a bunch of tests from grep to FileCheckJustin Bogner2016-04-2521-49/+66
| | | | llvm-svn: 267493
* Fix TestGetVariables.py.Chaoren Lin2016-04-252-2/+3
| | | | | | | | | | Reviewers: sivachandra, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D19511 llvm-svn: 267492
* Add check for "branch_weights" with prof metadataSanjay Patel2016-04-253-6/+35
| | | | | | | While we're here, fix the comment and variable names to make it clear that these are raw weights, not percentages. llvm-svn: 267491
* [CMake] If set we should pass LLVM_VERSION_INFO into config.hChris Bieneman2016-04-252-2/+3
| | | | | | | | Autoconf used to support setting LLVM_VERSION_INFO and there is some code filtered around llvm in Support/CommandLine.cpp and LTO/LTOCodeGenerator.cpp that uses it if it is set. We also shouldn't be explicitly setting it as a define on llvm-shlib. It is pointless there because there is no code using it in llvm-shlib, and it is better to have it as part of the generated config.h so that it is available everywhere. llvm-svn: 267490
* [Sparc] Fix double-float fabs and fneg on little endian CPUs.James Y Knight2016-04-253-89/+77
| | | | | | | | | | | | | | | | The SparcV8 fneg and fabs instructions interestingly come only in a single-float variant. Since the sign bit is always the topmost bit no matter what size float it is, you simply operate on the high subregister, as if it were a single float. However, the layout of double-floats in the float registers is reversed on little-endian CPUs, so that the high bits are in the second subregister, rather than the first. Thus, this expansion must check the endianness to use the correct subregister. llvm-svn: 267489
* ARM: put correct symbol index on indirect pointers in __thread_ptr.Tim Northover2016-04-252-2/+7
| | | | | | Otherwise the linker has no idea what should be resolved. llvm-svn: 267488
* Fix build warningAndrew Kaylor2016-04-251-1/+1
| | | | llvm-svn: 267487
* [MSan] Use COMMON_INTERCEPTOR_ENTER in libdl interceptors.Marcin Koscielnicki2016-04-252-62/+60
| | | | | | | | | | | This fixes fails in test/msan/dlerror.cc - when real dlerror calls strcmp, our strcmp interceptor now skips poison checking, since it's called in interceptor context. Strictly speaking, only the dlerror change is necessary to fix the fail, but let's also change the other two just in case. Differential Revision: http://reviews.llvm.org/D19499 llvm-svn: 267486
* Add optimization bisect opt-in calls for AMDGPU passesAndrew Kaylor2016-04-257-1/+19
| | | | | | Differential Revision: http://reviews.llvm.org/D19450 llvm-svn: 267485
* Reformat LLVMConstPointerNull. NFCAmaury Sechet2016-04-251-2/+1
| | | | llvm-svn: 267484
* Comment formating. NFCAmaury Sechet2016-04-251-2/+1
| | | | llvm-svn: 267483
* Optimize store of "bitcast" from vector to aggregate.Arch D. Robison2016-04-252-0/+134
| | | | | | | | | | | This patch is what was the "instcombine" portion of D14185, with an additional test added (see julia_pseudovec in test/Transforms/InstCombine/insert-val-extract-elem.ll). The patch causes instcombine to replace sequences of extractelement-insertvalue-store that act essentially like a bitcast followed by a store. Differential review: http://reviews.llvm.org/D14260 llvm-svn: 267482
* [LVI] Make a precondition explicit rather than handling a case which never ↵Philip Reames2016-04-251-1/+2
| | | | | | happens [NFC] llvm-svn: 267481
* Add optimization bisect opt-in calls for ARM passesAndrew Kaylor2016-04-255-2/+15
| | | | | | Differential Revision: http://reviews.llvm.org/D19449 llvm-svn: 267480
* Add optimization bisect opt-in calls for AArch64 passesAndrew Kaylor2016-04-2512-0/+34
| | | | | | Differential Revision: http://reviews.llvm.org/D19394 llvm-svn: 267479
OpenPOWER on IntegriCloud