summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix buildbots broken by r254508Andy Gibbs2015-12-021-1/+4
| | | | | | | | | | g++ 4.7 does not allow an inline defaulted virtual destructor to be overridden, giving the error "looser throw specifier for ... overridding ~SCEVPredicate() noexcept (true)" (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613). The work-around given in the bug report above has been utilised here. llvm-svn: 254511
* Traverse the NestedNameSpecifier(Loc) of NamespaceAliasDecls.Daniel Jasper2015-12-022-0/+4
| | | | | Review: http://reviews.llvm.org/D15149 llvm-svn: 254510
* Pass along correct 'make' to sub-builds.Andy Gibbs2015-12-021-1/+2
| | | | | | | | If the top-level cmake has a custom make specified through -DCMAKE_MAKE_PROGRAM then this must be passed along to the sub-build processes in compiler-rt or the build process will fail. llvm-svn: 254509
* Fix class SCEVPredicate has virtual functions and accessible non-virtual ↵Andy Gibbs2015-12-021-1/+1
| | | | | | destructor llvm-svn: 254508
* XFAIL TestReturnValue for linux i386 clang 3.5-3.6Tamas Berghammer2015-12-021-0/+1
| | | | | | | The test failing most likely because clang 3.5 and 3.6 uses an incorrect ABI for returning small structs from a function. llvm-svn: 254507
* Teaches clang about Cortex-A35.Christof Douma2015-12-026-2/+36
| | | | | | | | Adds support for the new Cortex-A35 ARMv8-A core. Differential Revision: http://reviews.llvm.org/D15142 llvm-svn: 254505
* Fix "process load/unload" on androidTamas Berghammer2015-12-0211-265/+352
| | | | | | | | | | | On android the symbols exposed by libdl (dlopen, dlclose, dlerror) prefixed by "__dl_". This change moves the handling of process load/unload to the platform object and override it for android to handle the special prefix. Differential revision: http://reviews.llvm.org/D11465 llvm-svn: 254504
* [AArch64]: Add support for Cortex-A35Christof Douma2015-12-028-3/+60
| | | | | | Adds support for the new Cortex-A35 ARMv8-A core. llvm-svn: 254503
* Revert "Added support for -gmodule debugging when debug info is left in the ↵Tamas Berghammer2015-12-0222-1140/+178
| | | | | | | | | .o files on Darwin." The commit caused a test failure on the linux buildbot in TestDataFormatterSynthVal. llvm-svn: 254502
* Patch to fix a crash in the PowerPC back end due to ISD::ROTL and ISD::ROTRNemanja Ivanovic2015-12-022-0/+14
| | | | | | not being expanded. Test case included. llvm-svn: 254501
* [ELF] - Implemented some GD, LD and IE TLS access models for x86 target.George Rimar2015-12-023-2/+114
| | | | | | | | | Main aim of the patch to introduce basic support for TLS access models for x86 target. Models using @tlsgd, @tlsldm and @gotntpoff are implemented. Differential revision: http://reviews.llvm.org/D15060 llvm-svn: 254500
* PTRACE ABI to read FXSAVE area for 32-bit inferiorAbhishek Aggarwal2015-12-022-4/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - Problem occurs when: -- 32-bit inferiors run on x86_32 machine and the architecture doesn't have AVX feature -- This causes FPRType to be set to eFPRTypeFXSAVE -- PTRACE_GETFPREGS was being used to read FXSAVE area -- For 32-bit inferiors running on x86_32 machine, PTRACE_GETFPREGS reads FSAVE area and not FXSAVE area - Changed ptrace API to PTRACE_GETREGSET for 32-bit inferiors -- This reads FPR data in FXSAVE format. -- For 64-bit inferiors, no change has been made. - Modified XFAIL for TestReturnValue.py -- Earlier, this test was passing for Linux OS -- Now, it passes for Android OS as well Change-Id: Ieed72bc969b79516fc7b263b32493aa1e7a1a2ac Signed-off-by: Abhishek Aggarwal <abhishek.a.aggarwal@intel.com> Reviewers: ovyalov, jingham, lldb-commits, tberghammer, labath Subscribers: jevinskie, labath, tberghammer, danalbert Differential Revision: http://reviews.llvm.org/D15042 llvm-svn: 254499
* Update isl to isl-0.15-140-g9279e30Michael Kruse2015-12-0215-272/+304
| | | | | | | | | | The motivation is to fix a compilation error with Visual Studio 2013. See http://reviews.llvm.org/D14886. Thanks to Sumanth Gundapaneni for finding the issue and suggesting a patch. llvm-svn: 254498
* Add script to update islMichael Kruse2015-12-022-0/+28
| | | | | | | | | The script will checkout the most recent master from http://repo.or.cz/isl.git into /tmp, create a distribution tarball, and extract it as replacement of lib/External/isl. After that it can be committed to the Polly repository. llvm-svn: 254497
* [mips][microMIPS] Implement PREPEND, RADDU.W.QB, RDDSP, REPL.PH, REPL.QB, ↵Hrvoje Varga2015-12-027-9/+112
| | | | | | | | REPLV.PH, REPLV.QB and MTHLIP instructions Differential Revision: http://reviews.llvm.org/D14527 llvm-svn: 254496
* [X86][FMA] Optimize FNEG(FMUL) PatternsSimon Pilgrim2015-12-023-14/+194
| | | | | | | | | | On FMA targets, we can avoid having to load a constant to negate a float/double multiply by instead using a FNMSUB (-(X*Y)-0) Fix for PR24366 Differential Revision: http://reviews.llvm.org/D14909 llvm-svn: 254495
* AVX-512: Updated cost of FP/SINT/UINT conversion operationsElena Demikhovsky2015-12-024-375/+493
| | | | | | | | | I checked and updated the cost of AVX-512 conversion operations. Added cost of conversion operations in DQ mode. Conversion of illegal types that requires vector split is not calculated right now (like for other X86 targets). Differential Revision: http://reviews.llvm.org/D15074 llvm-svn: 254494
* [X86][AVX512] add comi with SaeAsaf Badouh2015-12-027-1/+345
| | | | | | | | add builtin_ia32_vcomisd and builtin_ia32_vcomisd Differential Revision: http://reviews.llvm.org/D14331 llvm-svn: 254493
* [llvm-dwp] Don't rely on implicit move assignment operator (MSVC won't ↵David Blaikie2015-12-021-2/+7
| | | | | | synthesize one) llvm-svn: 254492
* [AttributeSet] Overload AttributeSet::addAttribute to reduce compileAkira Hatanaka2015-12-024-17/+63
| | | | | | | | | | | | | | | | | | | | time. The new overloaded function is used when an attribute is added to a large number of slots of an AttributeSet (for example, to function parameters). This is much faster than calling AttributeSet::addAttribute once per slot, because AttributeSet::getImpl (which calls FoldingSet::FIndNodeOrInsertPos) is called only once per function instead of once per slot. With this commit, clang compiles a file which used to take over 22 minutes in just 13 seconds. rdar://problem/23581000 Differential Revision: http://reviews.llvm.org/D15085 llvm-svn: 254491
* [X86] Change getZeroVector to take an MVT instead of EVT. One minor change ↵Craig Topper2015-12-021-5/+5
| | | | | | needed to only try to perform 256-it shuffle combines on legal vector types. llvm-svn: 254490
* [llvm-dwp] Emit a rather fictional debug_cu_indexDavid Blaikie2015-12-027-43/+128
| | | | | | | | | | | | | | This is very rudimentary support for debug_cu_index, but it is enough to allow llvm-dwarfdump to find the offsets for contributions and correctly dump debug_info. It will need to actually find the real signature of the unit and build the real hash table with the right number of buckets, as per the DWP specification. It will also need to be expanded to cover the tu_index as well. llvm-svn: 254489
* DebugInfo\DWARF: Privatize some accidentally public membersDavid Blaikie2015-12-021-0/+1
| | | | llvm-svn: 254488
* [X86] Fix weird identation. NFCCraig Topper2015-12-021-10/+10
| | | | llvm-svn: 254487
* Change ModuleLinker to take a set of GlobalValues to import instead of a ↵Mehdi Amini2015-12-024-8/+15
| | | | | | | | | | | | single one For efficiency reason, when importing multiple functions for the same Module, we can avoid reparsing it every time. Differential Revision: http://reviews.llvm.org/D15102 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254486
* clang/test/Driver/crash-report-modules.m: Avoid using /tmp/.NAKAMURA Takumi2015-12-021-5/+5
| | | | | | Temporary directories should be controlled with $LIT_PRESERVES_TMP. llvm-svn: 254485
* [libFuzzer] add a test that is built with -fsanitize-coverage=trace-bbKostya Serebryany2015-12-022-0/+22
| | | | llvm-svn: 254484
* [sanitizer coverage] when adding a bb trace instrumentation, do it instead, ↵Kostya Serebryany2015-12-021-5/+7
| | | | | | not in addition to, regular coverage. Do the regular coverage in the run-time instead llvm-svn: 254483
* [sanitizer coverage] when adding a bb trace instrumentation, do it instead, ↵Kostya Serebryany2015-12-021-15/+10
| | | | | | not in addition to, regular coverage. Do the regular coverage in the run-time instead llvm-svn: 254482
* [sanitizer coverage] document -fsanitize-coverage=trace-bbKostya Serebryany2015-12-021-0/+7
| | | | llvm-svn: 254481
* [X86] Fix a think-o when checking if the eflags needs to be preserved.Quentin Colombet2015-12-021-1/+7
| | | | llvm-svn: 254480
* Modify FunctionImport to take a callback to load modulesMehdi Amini2015-12-022-13/+29
| | | | | | | | | | | | When linking static archive, there is no individual module files to load. Instead they can be mmap'ed and could be initialized from a buffer directly. The callback provide flexibility to override the scheme for loading module from the summary. Differential Revision: http://reviews.llvm.org/D15101 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254479
* [X86] Make sure the prologue does not clobber EFLAGS when it lives accross it.Quentin Colombet2015-12-022-43/+139
| | | | | | | | This is a superset of the fix done in r254448. This fixes PR25607. llvm-svn: 254478
* Force test to a target that supports thread_localMatthias Braun2015-12-021-1/+1
| | | | | | This should fix darwin bots. llvm-svn: 254477
* Added support for -gmodule debugging when debug info is left in the .o files ↵Greg Clayton2015-12-0222-178/+1140
| | | | | | | | | | | | | | | | | | | | on Darwin. This is done by finding the types that are forward declarations that come from a module, and loading that module's debug info in a separate lldb_private::Module, and copying the type over into the current module using a ClangASTImporter object. ClangASTImporter objects are already used to copy types from on clang::ASTContext to another for expressions so the type copying code has been around for a while. A new FindTypes variant was added to SymbolVendor and SymbolFile: size_t SymbolVendor::FindTypes (const std::vector<CompilerContext> &context, bool append, TypeMap& types); size_t SymbolVendor::FindTypes (const std::vector<CompilerContext> &context, bool append, TypeMap& types); The CompilerContext is a way to represent the exact context of a type and pass it through an agnostic API boundary so that we can find that exact context elsewhere in another file. This was required here because we can have a module that has submodules, both of which have a "foo" type. I am not able to add tests for this yet as we currently don't build our C/C++/ObjC binaries with the clang binary that we build. There are some driver issues where it can't find the header files for the C and C++ standard library which makes compiling these tests hard. We can't also guarantee that if we are building with clang that it supporst the exact format of -gmodule debugging that we are trying to test. We have had other versions of clang that had a different implementation of -gmodule debugging that we are no longer supporting, so we can't enable tests if we are building with clang without compiling something and looking at the structure of the DWARF that was generated to ensure that it is the format we can actually use. llvm-svn: 254476
* AArch64: fix 128-bit shiftsTim Northover2015-12-022-70/+97
| | | | | | | | | | | | | | We mustn't introduce a shift of exactly 64-bits for any inputs, since that's an UNDEF value (and worse, it's not what you want with the natural Arch64 implementation). The generated code is pretty horrific, but I couldn't come up with an obviously better alternative (if the amount is constant EXTR could help). Turns out 128-bit shifts are just nasty. rdar://22491037 llvm-svn: 254475
* Use default member initializers.Rafael Espindola2015-12-011-4/+3
| | | | llvm-svn: 254473
* builtins: Fix the sysroot's reference to si_int in int_types.hSumanth Gundapaneni2015-12-011-0/+4
| | | | | | | | | | | | si_int is already defined in sysroot's siginfo.h emutls.c includes pthread.h which includes asm/siginfo.h which in turn includes asm-generic/siginfo.h and that defines si_int. si_int is also defined in builtin's int_types.h and this leads to errors. This patch fixes the issue by undefining the si_int in int_types.h Differential Revision: http://reviews.llvm.org/D15086 llvm-svn: 254472
* Define member operator deleteXinliang David Li2015-12-011-0/+1
| | | | | | | | | | For the struct with trailing objects, define a member operator delete. Without this, the program will fail when -fsized-deallocation option is used where the wrong size will be passed to the global delete operator. llvm-svn: 254471
* builtins: Build emutls.c on MINGW buildsSumanth Gundapaneni2015-12-011-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D15083 llvm-svn: 254470
* AMDGPU: Error on addrspacecasts that aren't actually implementedMatt Arsenault2015-12-013-56/+73
| | | | llvm-svn: 254469
* AMDGPU: Implement isNoopAddrSpaceCastMatt Arsenault2015-12-013-0/+79
| | | | llvm-svn: 254468
* Fix the RUN on UBSAN unit testsSumanth Gundapaneni2015-12-012-2/+2
| | | | | | | | | For the build set up which runs the unit tests using an emulator like QEMU, the unit tests must be run using %run. Differential Revision: http://reviews.llvm.org/D15081 llvm-svn: 254467
* Remove unnecessary getter.Rafael Espindola2015-12-011-4/+1
| | | | llvm-svn: 254466
* Pass down the dst GV to linkGlobalValueBody. NFC.Rafael Espindola2015-12-011-9/+7
| | | | llvm-svn: 254465
* docs: Add design documentation for forward-edge CFI for indirect calls.Peter Collingbourne2015-12-011-3/+88
| | | | llvm-svn: 254464
* Fix a bug in IfConversion.cpp.Cong Hou2015-12-011-3/+2
| | | | | | | | The bug is introduced in r254377 which failed some tests on ARM, where a new probability is assigned to a successor but the provided BB may not be a successor. llvm-svn: 254463
* ARM: Change ArchCheck field to uint64_tMatthias Braun2015-12-011-1/+1
| | | | | | | | The values in this field are compared against getAvailableFeatures() which returns an uint64_t. This was causing problems in an internal branch. llvm-svn: 254462
* [ELF] MIPS paired R_MIPS_HI16/LO16 relocations supportSimon Atanasyan2015-12-016-21/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some MIPS relocations including `R_MIPS_HI16/R_MIPS_LO16` use combined addends. Such addend is calculated using addends of both paired relocations. Each `R_MIPS_HI16` relocation is paired with the next `R_MIPS_LO16` relocation. ABI requires to compute such combined addend in case of REL relocation record format only. For details see p. 4-17 at ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf This patch implements lookup of the next paired relocation suing new `InputSectionBase::findPairedRelocLocation` method. The primary disadvantage of this approach is that we put MIPS specific logic into the common code. The next disadvantage is that we lookup `R_MIPS_LO16` for each `R_MIPS_HI16` relocation, while in fact multiple `R_MIPS_HI16` might be paired with the single `R_MIPS_LO16`. From the other side this way allows us to keep `MipsTargetInfo` class stateless and implement later relocation handling in parallel. This patch does not support `R_MIPS_HI16/R_MIPS_LO16` relocations against `_gp_disp` symbol. In that case the relocations use a special formula for the calculation. That will be implemented later. Differential Revision: http://reviews.llvm.org/D15112 llvm-svn: 254461
* [Sanitizer] Increase kPcThreshold in slow unwinder after r254395.Alexey Samsonov2015-12-011-1/+1
| | | | llvm-svn: 254460
OpenPOWER on IntegriCloud