summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [MSan] fix process_vm_readv test: Exit silently if syscall is not implemetedMohit K. Bhakkad2016-02-241-7/+15
| | | | | | | | | | Reviewers: eugenis Subscribers: jaydeep, sagar, llvm-commits Differential Revision: http://reviews.llvm.org/D17560 llvm-svn: 261723
* X86: Wrap a helper for an assert in #ifndef NDEBUGJustin Bogner2016-02-241-11/+7
| | | | | | | | | | | This function is used in exactly one place, and only in asserts builds. Move it a few lines up before the use and only define it when asserts are enabled. Fixes the release build under -Werror. Also remove the forward declaration and commentary that was basically identical to the code itself. llvm-svn: 261722
* [MSan] Mark dlerror.cc expected failure for MIPSMohit K. Bhakkad2016-02-241-1/+2
| | | | | | | | | | Reviewers: samsonov Subscribers: jaydeep, sagar, llvm-commits, aemerson Differential Revision: http://reviews.llvm.org/D17503 llvm-svn: 261721
* AMDGPU: Check cheaper condition before SignBitIsZeroMatt Arsenault2016-02-241-7/+6
| | | | | | | Don't do an expensive computeKnownBits call when we can do the cheap check for legal offsets first. llvm-svn: 261720
* [OpenCL] Add Sema checks for OpenCL 2.0 blockXiuli Pan2016-02-245-0/+85
| | | | | | | | | | | | | | Summary: Add Sema checks for opencl 2.0 new features: Block. This patch is partitioned from http://reviews.llvm.org/D16047 Reviewers: Anastasia Subscribers: pekka.jaaskelainen, cfe-commits Differential Revision: http://reviews.llvm.org/D17436 llvm-svn: 261719
* Fix TestCStrings for Linux with i386 inferiors.Chaoren Lin2016-02-241-48/+43
| | | | | | | | | | | | Summary: Temporarily revert part of r261704. Reviewers: spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17557 llvm-svn: 261718
* Default vaarg lowering should support indirect struct types.James Y Knight2016-02-245-22/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes PR11517 for SPARC. On most targets, clang lowers va_arg itself, eschewing the use of the llvm vaarg instruction. This is necessary (at least for now) as the type argument to the vaarg instruction cannot represent all the ABI information that is needed to support complex calling conventions. However, on targets with a simpler varrags ABIs, the LLVM instruction can work just fine, and clang can simply lower to it. Unfortunately, even on such targets, vaarg with a struct argument would fail, because the default lowering to vaarg was naive: it didn't take into account the ABI attribute computed by classifyArgumentType. In particular, for the DefaultABIInfo, structs are supposed to be passed indirectly and so llvm's vaarg instruction should be emitted with a pointer argument. Now, vaarg instruction emission is able to use computed ABIArgInfo for the provided argument type, which allows the default ABI support to work for structs too. I haven't touched the EmitVAArg implementation for PPC32_SVR4 or XCore, although I believe both are now redundant, and could be switched over to use the default implementation as well. Differential Revision: http://reviews.llvm.org/D16154 llvm-svn: 261717
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-243-326/+290
| | | | | | some files in source/Commands; other minor fixes. llvm-svn: 261716
* [tests] Portability fixup for r261713.Alexey Samsonov2016-02-241-2/+12
| | | | llvm-svn: 261715
* math: Fix ilogb(double) return typeAaron Watry2016-02-241-1/+1
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 261714
* [tests] Resolve old TODOs in ASan unit tests.Alexey Samsonov2016-02-242-15/+32
| | | | llvm-svn: 261713
* ELF: Remove InputSectionBase::getAlign and instead add Align member.Rui Ueyama2016-02-243-14/+11
| | | | | | | | | This is a preparation for ICF. If we merge two sections, we want to align the merged section at the largest alignment requirement. That means we want to update the alignment value, which was impossible before this patch because Header is a const value. llvm-svn: 261712
* ELF: Remove InputSectionBase::isLive and use Live member instead. NFC.Rui Ueyama2016-02-244-9/+13
| | | | | | This is also a preparation for ICF. llvm-svn: 261711
* ELF: Make some functions constant. NFC.Rui Ueyama2016-02-242-4/+4
| | | | | | This is a preparation for ICF. llvm-svn: 261710
* COFF: Temporarily remove flaky a test.Rui Ueyama2016-02-241-65/+0
| | | | | | | | This test is flaky for more than half a year or so on buildbots and has been causing confusion. Remove it while I'm investing the cause. llvm-svn: 261709
* [tests] Don't compile CFI C tests in C++ mode.Alexey Samsonov2016-02-243-7/+13
| | | | llvm-svn: 261708
* [InstCombine] refactor visitOr() to use foldCastedBitwiseLogic()Sanjay Patel2016-02-231-47/+31
| | | | | | | | | | | | | | | | Note: The 'and' case in foldCastedBitwiseLogic() is inheriting one extra check from the nearly identical 'or' case: if ((!isa<ICmpInst>(Cast0Src) || !isa<ICmpInst>(Cast1Src)) But I'm not sure how to expose that difference in a regression test. Without that check, the 'or' path will infinite loop on: test/Transforms/InstCombine/zext-or-icmp.ll because the zext-or-icmp fold is attempting a reverse transform. The refactoring should extend to the 'xor' case next to solve part of PR26702. llvm-svn: 261707
* [doc] Obtaining help on LLVM's CUDA support.Jingyue Wu2016-02-231-0/+6
| | | | llvm-svn: 261706
* PR24667: fix quadratic runtime if textually-included modular headers define ↵Richard Smith2016-02-233-25/+65
| | | | | | large numbers of macros. llvm-svn: 261705
* When looking for symbols, find load addresses in a more robust way.Sean Callanan2016-02-231-36/+77
| | | | | | | | | | | | | | | | IRExecutionUnit previously replicated a bunch of logic that already existed elsewhere for the purpose of getting a load address for a symbol. This approach failed to resolve certain types of symbols. Instead, we now use functions on SymbolContext to do the address resolution. This is a cleanup of IRExecutionUnit::FindInSymbols, and also fixes a latent bug where we looked at the wrong SymbolContext to determine whether or not it is external. <rdar://problem/24770829> llvm-svn: 261704
* [analyzer] Find ObjC 'self' decl even when block captures local named 'self'.Devin Coughlin2016-02-233-3/+42
| | | | | | | | | When looking up the 'self' decl in block captures, make sure to find the actual self declaration even when the block captures a local variable named 'self'. rdar://problem/24751280 llvm-svn: 261703
* Revert "[WebAssembly] Stackify code emitted by eliminateFrameIndex"Derek Schuff2016-02-234-28/+24
| | | | | | This reverts r261685 due to wasm test breakage. llvm-svn: 261702
* minimize test and use FileCheckSanjay Patel2016-02-231-32/+18
| | | | llvm-svn: 261701
* [CMake] Support component-based installation for runtime librariesChris Bieneman2016-02-231-2/+38
| | | | | | This enables targets like "install-ubsan" and "install-asan" to install all associated runtime libraries. llvm-svn: 261700
* [CMake] Assign components and dependencies during add_compiler_rt_resource_fileChris Bieneman2016-02-234-8/+8
| | | | | | This makes it so that component-based installations will include resource files (i.e. blacklists). My next patch will add support for component-based installations. llvm-svn: 261699
* AArch64: rename compact unwind forms back to UNWIND_ARM64_*. NFC.Tim Northover2016-02-231-30/+30
| | | | | | | Looks like the global rename last year was a bit over-zealous. These things really are referred to with ARM64 elsewhere (ld64, libunwind, ...). llvm-svn: 261698
* [WebAssembly] Stackify code emitted by eliminateFrameIndexDerek Schuff2016-02-234-24/+28
| | | | llvm-svn: 261685
* [profile] Fix iteration over profile data entriesVedant Kumar2016-02-232-2/+2
| | | | | | | | | | | | | | Fix a crash when gathering value profile data on i386 Darwin. The Darwin linker shrinks sections containing aligned structures when padding is not explicitly added to the end of the structure. When iterating over these structures, be sure to not walk past the end of the section. No tests added, since running `ninja check-profile` on i386 Darwin is enough to reproduce the original crash. llvm-svn: 261683
* Use a different error in test.Rafael Espindola2016-02-231-18/+18
| | | | | | This opens the way for -r being implemented. llvm-svn: 261682
* [CMake] Create an install-distribution target driven by ↵Chris Bieneman2016-02-231-0/+17
| | | | | | | | | | LLVM_DISTRIBUTION_COMPONENTS The idea here is to provide a customizable install target that only depends on building the things you actually want to install. It relies on each component being installed having an auto-generated install-${component}, which in turn depends only on the target being installed. This is fundamentally a workaround for the fact that CMake generates build files which have their "install" target depend on the "all" target. This results in "ninja install" building a bunch of unneeded things. llvm-svn: 261681
* [CMake] Add install-clang-format target by migrating to add_clang_toolChris Bieneman2016-02-231-8/+19
| | | | | | This change migrates clang-format to add_clang_tool which makes a component-based install target. To support component-based installation the extra installed scripts all need to have the "clang-format" component too. llvm-svn: 261680
* ARM: fix handling of movw/movt relocations with addend.Tim Northover2016-02-232-3/+72
| | | | | | | | We were emitting only one half of a the paired relocations needed for these instructions because we decided that an offset needed a scattered relocation. In fact, movw/movt relocations can be paired without being scattered. llvm-svn: 261679
* Fix the aarch64 logic for dynamic relocations.Rafael Espindola2016-02-235-81/+33
| | | | | | | | | | | | | There is nothing aarch64 specific in here. If a symbol can be preempted, we need to copy the full relocation to the dynamic linker. If a symbol cannot be preempted, we can make the dynamic linker life easier and produce a relative relocation. This is directly equivalent to R_X86_64_64 to R_x86_64_RELATIVE conversion. llvm-svn: 261678
* Fix a missing closing tagMarshall Clow2016-02-231-1/+1
| | | | llvm-svn: 261677
* More updatesMarshall Clow2016-02-231-8/+8
| | | | llvm-svn: 261676
* [AArch64] Generate csinv instruction more oftenGeoff Berry2016-02-233-64/+101
| | | | | | | | | | Reviewers: t.p.northover, jmolloy Subscribers: aemerson, rengolin, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D17546 llvm-svn: 261675
* Rename Action::begin() to Action::input_begin().Nico Weber2016-02-236-29/+35
| | | | | | | | Also introduce inputs() that reutnrs an llvm::iterator_range. Iterating over A->inputs() is much less mysterious than iterating over *A. No intended behavior change. llvm-svn: 261674
* Reapply r261657.Adrian Prantl2016-02-231-11/+9
| | | | | | | | | | | | | | | | | | | | | | Remove an unnecessary workaround introduced in r259975. (NFC) Now that LLVM r259973 allows replacing a temporary type with another temporary we can rely on the original implementation. It is possible for enums to be created as part of their own declcontext. In this case a FwdDecl will be created twice. This doesn't cause a problem because both FwdDecls are entered into the ReplaceMap: finalize() will replace the first FwdDecl with the second and then replace the second with complete type. Thanks to echristo for pointing this out. # Conflicts: # lib/CodeGen/CGDebugInfo.cpp llvm-svn: 261673
* Fix commentXinliang David Li2016-02-231-1/+1
| | | | llvm-svn: 261672
* Revert r261633 "Supporting all entities declared in lexical scope in LLVM ↵Hans Wennborg2016-02-2320-815/+91
| | | | | | | | debug info." This and the corresponding Clang change caused PR26715. llvm-svn: 261671
* Revert r261634 "Supporting all entities declared in lexical scope in LLVM ↵Hans Wennborg2016-02-235-100/+30
| | | | | | | | debug info." and r261657 r261634 and r261633 seems to have caused PR26715. r261657 depends on the former two. llvm-svn: 261670
* Amends r252104 to evaluate the controlling expression in an unevaluated ↵Aaron Ballman2016-02-232-4/+11
| | | | | | context. This eliminates false-positive diagnostics about null pointer dereferences (etc) in the controlling expression. llvm-svn: 261669
* Simplify. NFC.Rafael Espindola2016-02-234-22/+16
| | | | llvm-svn: 261668
* Don't include tbss's alignment in offset.Rafael Espindola2016-02-235-4/+61
| | | | | | | | | | | The .tbss section is in the middle of a PT_LOAD. Whatever treatment we give to its address we must also give to the offset. We were ignoring it for address computations, but not for offset. Fixes pr26712. llvm-svn: 261667
* [X86ISelLowering] Stop typing the same return over and over and over.Davide Italiano2016-02-231-11/+14
| | | | llvm-svn: 261666
* Fix PR25339: ARM Constant IslandWeiming Zhao2016-02-231-9/+39
| | | | | | | | | | | | | | | | Summary: Currently, the ARM Constant Island may not converge (or not converge quickly). This patch let it move to the closest water after the user if it doesn't converge after 15 iterations. This address https://llvm.org/bugs/show_bug.cgi?id=25339 Reviewers: t.p.northover, srhines, kristof.beyls, aadg, rengolin Subscribers: weimingz, aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D16890 llvm-svn: 261665
* [WebAssembly] Add TODO comment to revisit red zone sizeDerek Schuff2016-02-231-0/+3
| | | | llvm-svn: 261664
* Handle bitcode files in archive files with --whole-archive.Rui Ueyama2016-02-234-11/+8
| | | | | | | | | | This patch moves BitcodeFile instantiation into createObjectFile. Previously, we handle bitcode files outside that function and did not handle for --whole-archive. http://reviews.llvm.org/D17527 llvm-svn: 261663
* [WebAssembly] Implement red zone for user stackDerek Schuff2016-02-233-26/+68
| | | | | | | | | | | Implements a mostly-conventional redzone for the userspace stack. Because we have unsigned load/store offsets we continue to use a local SP subtracted from the incoming SP but do not write it back to memory. Differential Revision: http://reviews.llvm.org/D17525 llvm-svn: 261662
* These new tests fail on the green-dragon bots, which use an old Apple compiler.Marshall Clow2016-02-231-8/+10
| | | | | | | Since they're scheduled to be updated soon, we'll just comment out this test for the moment, and re-commit when the bots are updated. llvm-svn: 261661
OpenPOWER on IntegriCloud