Skip to content
  1. Jan 30, 2014
  2. Jan 29, 2014
    • Eric Christopher's avatar
      If we use DW_AT_ranges we need to specify a base address that ranges · 8873adaa
      Eric Christopher authored
      are relative to in the compile unit. Currently let's just use 0...
      
      Thanks to Greg Clayton for the catch!
      
      llvm-svn: 200425
      8873adaa
    • Eric Christopher's avatar
      Turn on CU ranges if we've got multiple compile units in the same · fb8dd008
      Eric Christopher authored
      module since there's no range guarantee that we could make given
      output order. This also fixes up the testcases that have multiple
      CUs to have the correct range offset.
      
      llvm-svn: 200422
      fb8dd008
    • Eric Christopher's avatar
      Make the compile unit map a MapVector so that we can assume a stable · 179fba19
      Eric Christopher authored
      output ordering.
      
      llvm-svn: 200421
      179fba19
    • Eric Christopher's avatar
      Fix formatting of comment. · 95531b69
      Eric Christopher authored
      llvm-svn: 200420
      95531b69
    • Justin Bogner's avatar
      llvm-cov: Accept the long forms of gcov options · b3569586
      Justin Bogner authored
      This is a bit imperfect, as these options don't show up in the help as
      is and single dash variants are accepted, which differs from gcov.
      Unfortunately, this seems to be as good as it gets with the cl::opt
      machinery, so it'll do as an incremental step.
      
      llvm-svn: 200419
      b3569586
    • Justin Bogner's avatar
      llvm-cov: Improve help message text · 84e7a35c
      Justin Bogner authored
      This Properly capitalizes and clarifies the help output from
      llvm-cov. It also puts the llvm-only / non-gcov-compatible options in
      their own category.
      
      llvm-svn: 200418
      84e7a35c
    • Justin Bogner's avatar
      llvm-cov: Expect a source file as a positional parameter · a99a3902
      Justin Bogner authored
      Currently, llvm-cov isn't command-line compatible with gcov, which
      accepts a source file name as its first parameter and infers the gcno
      and gcda file names from that. This change keeps our -gcda and -gcno
      options available for convenience in overriding this behaviour, but
      adds the required parameter and inference behaviour as a compatible
      default.
      
      llvm-svn: 200417
      a99a3902
    • Jordan Rose's avatar
      Remove C++11ism from r200407. · d2ad22ae
      Jordan Rose authored
      Oops!
      
      llvm-svn: 200412
      d2ad22ae
    • David Majnemer's avatar
      MC: Better management of macro arguments · 91fc4c21
      David Majnemer authored
      The linux kernel makes uses of a GAS `feature' which substitutes nothing
      for macro arguments which aren't specified.
      
      Proper support for these kind of macro arguments necessitated a cleanup of
      differences between `GAS' and `Darwin' dialect macro processing.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2634
      
      llvm-svn: 200409
      91fc4c21
    • Arnold Schwaighofer's avatar
      85a26704
    • Jordan Rose's avatar
      [CommandLine] Aliases require an value if their target requires a value. · c25b0c7e
      Jordan Rose authored
      This can still be overridden by explicitly setting a value requirement on the
      alias option, but by default it should be the same.
      
      PR18649
      
      llvm-svn: 200407
      c25b0c7e
    • Lang Hames's avatar
      Add support for PC-relative non-extern relocations to RuntimeDyldMachO. · 2cbbdf41
      Lang Hames authored
      Also replaces testcase for r180790 (support for absolute non-externs relocs)
      with a more robust version.
      
      <rdar://problem/15864721>
      
      llvm-svn: 200404
      2cbbdf41
    • Quentin Colombet's avatar
      9e16c8ac
    • Oliver Stannard's avatar
      Test commit · 8f85994a
      Oliver Stannard authored
      llvm-svn: 200401
      8f85994a
    • Matheus Almeida's avatar
      [mips][msa] Add fill.d instruction. · ec079d9e
      Matheus Almeida authored
      This instruction is only available on Mips64 cores
      that implement the MSA ASE.
      
      llvm-svn: 200400
      ec079d9e
    • Matheus Almeida's avatar
      [mips][msa] CHECK-DAG-ize MSA 2r_vector_scalar.ll test. · 4cb577c6
      Matheus Almeida authored
      This update is a preparation for the addition of Mips64 MSA tests.
      
      No functional changes.
      
      llvm-svn: 200399
      4cb577c6
    • Matheus Almeida's avatar
      [mips][msa] Add copy_{u,s}.d. · 74070327
      Matheus Almeida authored
      These instructions are only available on Mips64 cores
      that implement the MSA ASE.
      
      llvm-svn: 200398
      74070327
    • Matheus Almeida's avatar
      [mips][msa] CHECK-DAG-ize MSA elm_copy.ll test. · a64f0600
      Matheus Almeida authored
      This update is a preparation for the addition of Mips64 MSA tests.
      
      No functional changes.
      
      llvm-svn: 200395
      a64f0600
    • Chandler Carruth's avatar
      [LPM] Fix PR18643, another scary place where loop transforms failed to · d4be9dc0
      Chandler Carruth authored
      preserve loop simplify of enclosing loops.
      
      The problem here starts with LoopRotation which ends up cloning code out
      of the latch into the new preheader it is buidling. This can create
      a new edge from the preheader into the exit block of the loop which
      breaks LoopSimplify form. The code tries to fix this by splitting the
      critical edge between the latch and the exit block to get a new exit
      block that only the latch dominates. This sadly isn't sufficient.
      
      The exit block may be an exit block for multiple nested loops. When we
      clone an edge from the latch of the inner loop to the new preheader
      being built in the outer loop, we create an exiting edge from the outer
      loop to this exit block. Despite breaking the LoopSimplify form for the
      inner loop, this is fine for the outer loop. However, when we split the
      edge from the inner loop to the exit block, we create a new block which
      is in neither the inner nor outer loop as the new exit block. This is
      a predecessor to the old exit block, and so the split itself takes the
      outer loop out of LoopSimplify form. We need to split every edge
      entering the exit block from inside a loop nested more deeply than the
      exit block in order to preserve all of the loop simplify constraints.
      
      Once we try to do that, a problem with splitting critical edges
      surfaces. Previously, we tried a very brute force to update LoopSimplify
      form by re-computing it for all exit blocks. We don't need to do this,
      and doing this much will sometimes but not always overlap with the
      LoopRotate bug fix. Instead, the code needs to specifically handle the
      cases which can start to violate LoopSimplify -- they aren't that
      common. We need to see if the destination of the split edge was a loop
      exit block in simplified form for the loop of the source of the edge.
      For this to be true, all the predecessors need to be in the exact same
      loop as the source of the edge being split. If the dest block was
      originally in this form, we have to split all of the deges back into
      this loop to recover it. The old mechanism of doing this was
      conservatively correct because at least *one* of the exiting blocks it
      rewrote was the DestBB and so the DestBB's predecessors were fixed. But
      this is a much more targeted way of doing it. Making it targeted is
      important, because ballooning the set of edges touched prevents
      LoopRotate from being able to split edges *it* needs to split to
      preserve loop simplify in a coherent way -- the critical edge splitting
      would sometimes find the other edges in need of splitting but not
      others.
      
      Many, *many* thanks for help from Nick reducing these test cases
      mightily. And helping lots with the analysis here as this one was quite
      tricky to track down.
      
      llvm-svn: 200393
      d4be9dc0
    • Evgeniy Stepanov's avatar
      98f4ecfb
    • Renato Golin's avatar
      Document EHABI enabled by default · bfcefb39
      Renato Golin authored
      llvm-svn: 200390
      bfcefb39
    • Renato Golin's avatar
      Enable EHABI by default · 8cea6e8f
      Renato Golin authored
      After all hard work to implement the EHABI and with the test-suite
      passing, it's time to turn it on by default and allow users to
      disable it as a work-around while we fix the eventual bugs that show
      up.
      
      This commit also remove the -arm-enable-ehabi-descriptors, since we
      want the tables to be printed every time the EHABI is turned on
      for non-Darwin ARM targets.
      
      Although MCJIT EHABI is not working yet (needs linking with the right
      libraries), this commit also fixes some relocations on MCJIT regarding
      the EH tables/lib calls, and update some tests to avoid using EH tables
      when none are needed.
      
      The EH tests in the test-suite that were previously disabled on ARM
      now pass with these changes, so a follow-up commit on the test-suite
      will re-enable them.
      
      llvm-svn: 200388
      8cea6e8f
    • David Majnemer's avatar
      MC: Reorganize macro MC test along dialect lines · ad5c1734
      David Majnemer authored
      This commit seeks to do two things:
       - Run the surfeit of tests under the Darwin dialect.  This ends up
         affecting tests which assumed that spaces could deliminate arguments.
       - The GAS dialect tests should limit their surface area to things that
         could plausibly work under GAS. For example, Darwin style arguments
         have no business being in such a test.
      
      llvm-svn: 200383
      ad5c1734
    • Kostya Serebryany's avatar
      [asan] simplify a test · 6e15ec14
      Kostya Serebryany authored
      llvm-svn: 200378
      6e15ec14
    • Craig Topper's avatar
    • Venkatraman Govindaraju's avatar
      [Sparc] Use %r_disp32 for pc_rel entries in FDE as well. · 141d0e22
      Venkatraman Govindaraju authored
      This makes MCAsmInfo::getExprForFDESymbol() a virtual function and overrides it in SparcMCAsmInfo.
      
      llvm-svn: 200376
      141d0e22
    • NAKAMURA Takumi's avatar
      Revert r200340, "Add line table debug info to COFF files when using a win32 triple." · b366f01f
      NAKAMURA Takumi authored
      It was incompatible with --target=i686-win32.
      
      llvm-svn: 200375
      b366f01f
    • Rafael Espindola's avatar
      Normalize the style in llvm-nm.cpp. · 619581c3
      Rafael Espindola authored
      It had grown fairly inconsistent. I am about to change it quite a bit to also
      use the object api when handling IR files.
      
      llvm-svn: 200374
      619581c3
    • Venkatraman Govindaraju's avatar
      [Sparc] Use %r_disp32 for pc_rel entries in gcc_except_table and eh_frame. · fd5c1f94
      Venkatraman Govindaraju authored
      Otherwise, assembler (gas) fails to assemble them with error message "operation
      combines symbols in different segments". This is because MC computes
      pc_rel entries with subtract expression between labels from different sections.
      
      llvm-svn: 200373
      fd5c1f94
    • Chandler Carruth's avatar
      [LPM] Fix PR18642, a pretty nasty bug in IndVars that "never mattered" · 66f0b163
      Chandler Carruth authored
      because of the inside-out run of LoopSimplify in the LoopPassManager and
      the fact that LoopSimplify couldn't be "preserved" across two
      independent LoopPassManagers.
      
      Anyways, in that case, IndVars wasn't correctly preserving an LCSSA PHI
      node because it thought it was rewriting (via SCEV) the incoming value
      to a loop invariant value. While it may well be invariant for the
      current loop, it may be rewritten in terms of an enclosing loop's
      values. This in and of itself is fine, as the LCSSA PHI node in the
      enclosing loop for the inner loop value we're rewriting will have its
      own LCSSA PHI node if used outside of the enclosing loop. With me so
      far?
      
      Well, the current loop and the enclosing loop may share an exiting
      block and exit block, and when they do they also share LCSSA PHI nodes.
      In this case, its not valid to RAUW through the LCSSA PHI node.
      
      Expected crazy test included.
      
      llvm-svn: 200372
      66f0b163
    • Arnold Schwaighofer's avatar
      LoopVectorizer: Don't count the induction variable multiple times · 1aab75ab
      Arnold Schwaighofer authored
      When estimating register pressure, don't count the induction variable mulitple
      times. It is unlikely to be unrolled. This is currently disabled and hidden
      behind a flag ("enable-ind-var-reg-heur").
      
      llvm-svn: 200371
      1aab75ab
    • Rafael Espindola's avatar
      We do use pipefail these days. Update the test. · 7a578026
      Rafael Espindola authored
      llvm-svn: 200370
      7a578026
Loading