Skip to content
  1. Dec 11, 2015
    • Jonathan Peyton's avatar
      Hinted lock (OpenMP 4.5 feature) Updates/Fixes Part 3 · b87b5813
      Jonathan Peyton authored
      This change set includes all changes to make the code conform to the OMP 4.5 specification:
      
      * Removed hint / hinted_init definitions from include/40 files
      * Hint values are powers of 2 to enable composition (4.5 spec)
      * Hinted lock initialization functions were renamed (4.5 spec)
        kmp_init_lock_hinted -> omp_init_lock_with_hint
        kmp_init_nest_lock_hinted -> omp_init_nest_lock_with_hint
      * __kmpc_critical_section_with_hint was added to support a critical section with
        a hint (4.5 spec)
      * __kmp_map_hint_to_lock was added to convert a hint (possibly a composite) to
        an internal lock type
      * kmpc_init_lock_with_hint and kmpc_init_nest_lock_with_hint were added as
        internal entries for the hinted lock initializers. The preivous internal
        functions (__kmp_init*) were moved to kmp_csupport.c and reused in multiple
        places
      * Added the two init functions to dllexports
      * KMP_USE_DYNAMIC_LOCK is turned on if OMP_41_ENABLED is turned on
      
      Differential Revision: http://reviews.llvm.org/D15205
      
      llvm-svn: 255376
      b87b5813
    • Jonathan Peyton's avatar
      Hinted lock (OpenMP 4.5 feature) Updates/Fixes Part 2 · dae13d81
      Jonathan Peyton authored
      * Added a new user TSX lock implementation, RTM, This implementation is a
        light-weight version of the adaptive lock implementation, omitting the
        back-off logic for deciding when to specualte (or not). The fall-back lock is
        still the queuing lock.
      * Changed indirect lock table management. The data for indirect lock management
        was encapsulated in the "kmp_indirect_lock_table_t" type. Also, the lock table
        dimension was changed to 2D (was linear), and each entry is a
        kmp_indirect_lock_t object now (was a pointer to an object).
      * Some clean up in the critical section code
      * Removed the limits of the tuning parameters read from KMP_ADAPTIVE_LOCK_PROPS
      * KMP_USE_DYNAMIC_LOCK=1 also turns on these two switches:
        KMP_USE_TSX, KMP_USE_ADAPTIVE_LOCKS
      
      Differential Revision: http://reviews.llvm.org/D15204
      
      llvm-svn: 255375
      dae13d81
    • Ted Woodward's avatar
      Remove hardcoded registers from Hexagon ABI · 4062601c
      Ted Woodward authored
      Summary: The Hexagon ABI plugin uses hardcoded registers when setting up function calls. This is OK for the Hexagon simulator, but the register numbers are different on the gdbserver running on hardware. Change the hardcoded registers to LLDB generic registers.
      
      Reviewers: clayborg
      
      Subscribers: lldb-commits
      
      Differential Revision: http://reviews.llvm.org/D15457
      
      llvm-svn: 255374
      4062601c
    • Jonathan Peyton's avatar
      Hinted lock (OpenMP 4.5 feature) Updates/Fixes · a03533d3
      Jonathan Peyton authored
      There are going to be two more patches which bring this feature up to date and in line with OpenMP 4.5.
      
      * Renamed jump tables for the lock functions (and some clean up).
      * Renamed some macros to be in KMP_ namespace.
      * Return type of unset functions changed from void to int.
      * Enabled use of _xebgin() et al. intrinsics for accessing TSX instructions.
      
      Differential Revision: http://reviews.llvm.org/D15199
      
      llvm-svn: 255373
      a03533d3
    • Reid Kleckner's avatar
      Unify diagnostics for type defintitions in bad contexts · 43674514
      Reid Kleckner authored
      The message for a type definition in an "if" condition was different
      from the other three for no particular reason.
      
      llvm-svn: 255372
      43674514
    • Nick Lewycky's avatar
      Error on redeclaring with a conflicting asm label and on redeclaring with an... · 6ee53bc0
      Nick Lewycky authored
      Error on redeclaring with a conflicting asm label and on redeclaring with an asm label after the first ODR-use. Detects problems like the one in PR22830 where gcc and clang both compiled the file but with different behaviour.
      
      llvm-svn: 255371
      6ee53bc0
    • Sanjay Patel's avatar
      Add tests for bitcast-bitcast sequences for all scalar/vector permutations · d497ad43
      Sanjay Patel authored
      As noted in http://reviews.llvm.org/D15392 , we should be able to improve this.
      
      llvm-svn: 255370
      d497ad43
    • Xinliang David Li's avatar
      a86545b0
    • Xinliang David Li's avatar
      e1769ef5
    • Xinliang David Li's avatar
      [PGO] Stop using invalid char in instr variable names. · 871daea5
      Xinliang David Li authored
      (This is part-2 of the patch -- fixing test cases)
      
      Before the patch, -fprofile-instr-generate compile will fail
      if no integrated-as is specified when the file contains
      any static functions (the -S output is also invalid).
      
      This patch fixed the issue. With the change, the index format
      version will be bumped up by 1. Backward compatibility is 
      preserved with this change.
      
      Differential Revision: http://reviews.llvm.org/D15243
      
      llvm-svn: 255366
      871daea5
    • Xinliang David Li's avatar
      [PGO] Stop using invalid char in instr variable names. · c79283ef
      Xinliang David Li authored
      Before the patch, -fprofile-instr-generate compile will fail
      if no integrated-as is specified when the file contains
      any static functions (the -S output is also invalid).
      
      This patch fixed the issue. With the change, the index format
      version will be bumped up by 1. Backward compatibility is 
      preserved with this change.
      
      Differential Revision: http://reviews.llvm.org/D15243
      
      llvm-svn: 255365
      c79283ef
    • Eugene Zelenko's avatar
      Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr... · e2ccd333
      Eugene Zelenko authored
      Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in source/Target/Target.cpp.
      
      Simplify smart pointers checks in conditions.
      
      llvm-svn: 255364
      e2ccd333
    • Todd Fiala's avatar
      Add expected timeout support to test event architecture. · a8fee7f9
      Todd Fiala authored
      llvm-svn: 255363
      a8fee7f9
    • Matthias Braun's avatar
      CodeGen: Redo analyzePhysRegs() and computeRegisterLiveness() · 60d69e28
      Matthias Braun authored
      computeRegisterLiveness() was broken in that it reported dead for a
      register even if a subregister was alive. I assume this was because the
      results of analayzePhysRegs() are hard to understand with respect to
      subregisters.
      
      This commit: Changes the results of analyzePhysRegs (=struct
      PhysRegInfo) to be clearly understandable, also renames the fields to
      avoid silent breakage of third-party code (and improve the grammar).
      
      Fix all (two) users of computeRegisterLiveness() in llvm: By reenabling
      it and removing workarounds for the bug.
      
      This fixes http://llvm.org/PR24535 and http://llvm.org/PR25033
      
      Differential Revision: http://reviews.llvm.org/D15320
      
      llvm-svn: 255362
      60d69e28
    • Zachary Turner's avatar
      Remove -S option from dotest.py. · 742afdb3
      Zachary Turner authored
      llvm-svn: 255361
      742afdb3
    • Zachary Turner's avatar
      Remove -r and -R options from dotest.py. · 6a188e6c
      Zachary Turner authored
      llvm-svn: 255360
      6a188e6c
    • Matt Arsenault's avatar
      Start replacing vector_extract/vector_insert with extractelt/insertelt · fbd9bbfd
      Matt Arsenault authored
      These are redundant pairs of nodes defined for
      INSERT_VECTOR_ELEMENT/EXTRACT_VECTOR_ELEMENT.
      insertelement/extractelement are slightly closer to the corresponding
      C++ node name, and has stricter type checking so prefer it.
      
      Update targets to only use these nodes where it is trivial to do so.
      AArch64, ARM, and Mips all have various type errors on simple replacement,
      so they will need work to fix.
      
      Example from AArch64:
      
      def : Pat<(sext_inreg (vector_extract (v16i8 V128:$Rn), VectorIndexB:$idx), i8),
                (i32 (SMOVvi8to32 V128:$Rn, VectorIndexB:$idx))>;
      
      Which is trying to do sext_inreg i8, i8.
      
      llvm-svn: 255359
      fbd9bbfd
    • Sean Callanan's avatar
      DisassemblerLLVMC now gets the disassembler comments for an instruction · d38f4d28
      Sean Callanan authored
      and appends them to our list of comments (which can additionally include
      things like decoded addresses).
      
      llvm-svn: 255358
      d38f4d28
    • Rafael Espindola's avatar
      Treat unnamed symbols as locals. · 2992563b
      Rafael Espindola authored
      There is work under way in llvm to avoid creating unnecessary names for
      symbols. This makes lld capable of handling that.
      
      llvm-svn: 255357
      2992563b
    • Derek Schuff's avatar
      [WebAssembly] Fix ADJCALLSTACKDOWN/UP use/defs · 5a143063
      Derek Schuff authored
      Summary:
      ADJCALLSTACK{DOWN,UP} (aka CALLSEQ_{START,END}) MIs are supposed to use
      and def the stack pointer. Since they do not, all the nodes are being
      eliminated by DeadMachineInstructionElim, so they aren't in the IR when
      PrologEpilogInserter/eliminateCallFramePseudo needs them.
      
      This change fixes that, but since RegStackify will not stackify across
      them (and it runs early, before PEI), change LowerCall to only emit them
      when the call frame size is > 0. That makes the current code work the
      same way and makes code handled by D15344 also work the same way. We can
      expand the condition beyond NumBytes > 0 in the future if needed.
      
      Reviewers: sunfish, jfb
      
      Subscribers: jfb, dschuff, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D15459
      
      llvm-svn: 255356
      5a143063
    • Rafael Espindola's avatar
      Discard local symbols from SHF_MERGE sections. · a6763e83
      Rafael Espindola authored
      This matches the behavior of both gold and bfd ld.
      
      llvm-svn: 255355
      a6763e83
    • Chad Rosier's avatar
      Revert r255247, r255265, and r255286 due to serious compile-time regressions. · d7634fc9
      Chad Rosier authored
      Revert "[DSE] Disable non-local DSE to see if the bots go green."
      Revert "[DeadStoreElimination] Use range-based loops. NFC."
      Revert "[DeadStoreElimination] Add support for non-local DSE."
      
      llvm-svn: 255354
      d7634fc9
    • Manman Ren's avatar
      CXX_FAST_TLS calling convention: target independent portion. · abc7c1d1
      Manman Ren authored
      The access function has a short entry and a short exit, the initialization
      block is only run the first time. To improve the performance, we want to
      have a short frame at the entry and exit.
      
      We explicitly handle most of the CSRs via copies. Only the CSRs that are not
      handled via copies will be in CSR_SaveList.
      
      Frame lowering and prologue/epilogue insertion will generate a short frame
      in the entry and exit according to CSR_SaveList. The majority of the CSRs will
      be handled by register allcoator. Register allocator will try to spill and
      reload them in the initialization block.
      
      We add CSRsViaCopy, it will be explicitly handled during lowering.
      
      1> we first set FunctionLoweringInfo->SplitCSR if conditions are met (the target
         supports it for the given calling convention and the function has only return
         exits). We also call TLI->initializeSplitCSR to perform initialization.
      2> we call TLI->insertCopiesSplitCSR to insert copies from CSRsViaCopy to
         virtual registers at beginning of the entry block and copies from virtual
         registers to CSRsViaCopy at beginning of the exit blocks.
      3> we also need to make sure the explicit copies will not be eliminated.
      
      rdar://problem/23557469
      
      Differential Revision: http://reviews.llvm.org/D15340
      
      llvm-svn: 255353
      abc7c1d1
    • Sanjay Patel's avatar
      fix typos; NFC · 4dad27e0
      Sanjay Patel authored
      llvm-svn: 255352
      4dad27e0
    • Todd Fiala's avatar
      Add test event marking a test as explicitly eligible for rerun if it is marked flakey. · 9187f27e
      Todd Fiala authored
      This will be used in a future change to support rerunning flakey tests
      that hit a test result isue in a low-load, single worker test runner phase.
      
      This is implemented as an additive-style event rather than being
      evaluated and added to the start_test event because the decorator code
      only runs after the start_test event is created and sent.  i.e.
      LLDBTestResult.startTest() runs before the test method decorators run.
      
      llvm-svn: 255351
      9187f27e
    • Frederic Riss's avatar
      [dsymutil] Ignore absolute symbols in the debug map · 841b1732
      Frederic Riss authored
      Quoting from the comment added to the code:
      
          // Objective-C on i386 uses artificial absolute symbols to
          // perform some link time checks. Those symbols have a fixed 0
          // address that might conflict with real symbols in the object
          // file. As I cannot see a way for absolute symbols to find
          // their way into the debug information, let's just ignore those.
      
      llvm-svn: 255350
      841b1732
    • Ed Maste's avatar
      ELF: Allow -e <entry> with -shared · f2ac6882
      Ed Maste authored
      It is reasonable to specify an entry point for shared objects - for
      example, for the FreeBSD rtld ld-elf.so.1.
      
      Unlike GNU ld we leave the entry address as 0 if -shared is specified
      without -e.
      
      Differential Revision:	http://reviews.llvm.org/D15454
      
      llvm-svn: 255349
      f2ac6882
    • Hal Finkel's avatar
      AlignmentFromAssumptions and SLPVectorizer preserves AA and GlobalsAA · 494393b7
      Hal Finkel authored
      GlobalsAA's assumptions that passes do not escape globals not previously
      escaped is not violated by AlignmentFromAssumptions and SLPVectorizer. Marking
      them as such allows GlobalsAA to be preserved until GVN in the LTO pipeline.
      
      http://lists.llvm.org/pipermail/llvm-dev/2015-December/092972.html
      
      Patch by Vaivaswatha Nagaraj!
      
      llvm-svn: 255348
      494393b7
    • Ed Maste's avatar
      Test that -e <symbol> works · 24bcc11e
      Ed Maste authored
      llvm-svn: 255347
      24bcc11e
    • Anastasia Stulova's avatar
      [OpenCL 2.0] In OpenCL v2.0 s6.5 all pointers are implicitly in generic · 2446b8ba
      Anastasia Stulova authored
      address space unless address space is explicitly specified.
      
      Correct the behavior of NULL constant detection -
      generic AS void pointer should be accepted as a valid NULL constant.
      
      http://reviews.llvm.org/D15293
      
      llvm-svn: 255346
      2446b8ba
    • Adhemerval Zanella's avatar
      [compiler-rt] [safestack] Enable for aarch64 · eaf11626
      Adhemerval Zanella authored
      This patch enables the safestack for aarch64. The frontend already have
      it enabled on all supported architectures and no adjustment is required
      in llvm.
      
      The compiler-rt adjustments are basically add on the cmake configuration
      to enable the tests and fix the pagesize debug check by getting its
      value at runtime (since aarch64 has multiple pagesize depending of
      kernel configuration).
      
      llvm-svn: 255345
      eaf11626
    • Hal Finkel's avatar
      [TableGen] Correct Namespace lookup with AltNames in AsmWriterEmitter · cd5f9846
      Hal Finkel authored
      AsmWriterEmitter will generate a getRegisterName function with an alternate
      register name index as its second argument if the target makes use of them. The
      enum of these values is generated in RegisterInfoEmitter. The getRegisterName
      generator would assume the namespace could always be found by reading index 1
      of the list of AltNameIndices, but this will fail if this list is sorted such
      that the NoRegAltName is at index 1. Because this list is sorted by record name
      (in CodeGenTarget::ReadRegAltNameIndices), you only run in to problems if your
      MyTargetRegisterInfo.td defines a single RegAltNameIndex that sorts lexically
      before NoRegAltName.
      
      For example, if a target has something like
      
        def AnAltNameIndex : RegAltNameIndex
      
      and defines RegAltNameIndices for some registers then, prior to this change,
      AsmWriterEmitter would generate references to
      
        ::AnAltNameIndex and ::NoRegAltName
      
      Patch by Alex Bradbury!
      
      llvm-svn: 255344
      cd5f9846
    • Artur Pilipenko's avatar
      PruneEH pass incorrectly reports that a change was made · 7ae49ac6
      Artur Pilipenko authored
      Reviewed By: reames
      
      Differential Revision: http://reviews.llvm.org/D14097
      
      llvm-svn: 255343
      7ae49ac6
    • Tamas Berghammer's avatar
      Create test for llvm.org/pr25806 · e43482b6
      Tamas Berghammer authored
      LLDB don't detect the loading of a shared object file linked against the
      main executable before the static initializers are executed for the
      given module. Because of this it is not possible to get breakpoint hits
      in these static initializers and to display proper debug info in case of
      a crash in these codes.
      
      llvm-svn: 255342
      e43482b6
    • Pavel Labath's avatar
      XFAIL TestLoadUnload for Windows->Android · 734a0b3f
      Pavel Labath authored
      llvm-svn: 255341
      734a0b3f
    • Ted Woodward's avatar
      Change finishSwigPythonLLDB.py to copy six.py instead of simlink it · ec242236
      Ted Woodward authored
      Summary: If six.py is simlink'd, an installation won't be able to find it unless it has access to the source tree that lldb was built from.
      
      Reviewers: zturner
      
      Subscribers: lldb-commits
      
      Differential Revision: http://reviews.llvm.org/D15422
      
      llvm-svn: 255340
      ec242236
    • Anastasia Stulova's avatar
      Reverting r255337 as it seems to kill bots. Needs investigation. · f016a1bb
      Anastasia Stulova authored
      llvm-svn: 255339
      f016a1bb
    • Ewan Crawford's avatar
      [RenderScript] Support for amd64 RS hooks · cdfb1485
      Ewan Crawford authored
      Adds support for reading a maximum of six integer arguments from a renderscript hook on X86_64.
      Author: Luke Drummond <luke.drummond@codeplay.com>
      
      llvm-svn: 255338
      cdfb1485
    • Anastasia Stulova's avatar
      [OpenCL 2.0] In OpenCL v2.0 s6.5 all pointers are implicitly in generic · 12e484e8
      Anastasia Stulova authored
      address space unless address space is explicitly specified.
      
      Correct the behavior of NULL constant detection -
      generic AS void pointer should be accepted as a valid NULL constant.
      
      http://reviews.llvm.org/D15293
      
      llvm-svn: 255337
      12e484e8
    • James Molloy's avatar
      [Mem2Reg] Respect optnone · 1bb6ea5e
      James Molloy authored
      Mem2Reg shouldn't be optimizing a function that is marked
      optnone. There is a test checking this that fails when mem2reg is
      explicitly added to the standard pass pipeline.
      
      llvm-svn: 255336
      1bb6ea5e
Loading