Skip to content
  1. Aug 12, 2013
    • Chandler Carruth's avatar
      Remove all checking for the various terminfo headers (term.h and · 91219858
      Chandler Carruth authored
      curses.h). Finding these headers is next to impossible. For example, on
      Debian systems libtinfo-dev provides the terminfo reading library we
      want, but *not* term.h. For the header, you have to use libncurses-dev.
      And libncursesw-dev provides a *different* term.h in a different
      location!
      
      These headers aren't worth it. We want two functions the signatures of
      which are clearly spec'ed in sys-v and other documentation. Just declare
      them ourselves and call them. This should fix some debian builders and
      provide better support for "minimal" debian systems that do want color
      autodetection.
      
      llvm-svn: 188165
      91219858
    • Richard Sandiford's avatar
      Stablize MCK_Reg ordering in AsmMatcherEmitter · 3e2cbf18
      Richard Sandiford authored
      clang bootstraps intermittently failed for me due a difference in
      the MCK_Reg ordering in ARMGenAsmMatcher.inc.  E.g. in my latest
      run the stage 1 and stage 3 versions were the same but the stage 2
      one was different (though still functionally correct).  This meant
      that the .o comparison failed.
      
      MCK_Regs were assigned by iterating over a std::set< std::set<Record*> >,
      and since std::set is sorted lexicographically, the order depended on the
      order of the pointer values.  This patch replaces the pointer ordering
      with LessRecordByID.
      
      llvm-svn: 188164
      3e2cbf18
    • Richard Sandiford's avatar
      [SystemZ] Use CLC and IPM to implement memcmp · 564681c8
      Richard Sandiford authored
      For now this is restricted to fixed-length comparisons with a length
      in the range [1, 256], as for memcpy() and MVC.
      
      llvm-svn: 188163
      564681c8
    • Richard Sandiford's avatar
      [SystemZ] Add a definition of the CLC instruction · 761703a2
      Richard Sandiford authored
      llvm-svn: 188162
      761703a2
    • Richard Sandiford's avatar
      [SystemZ] Add a definition of the IPM instruction · 87326c73
      Richard Sandiford authored
      llvm-svn: 188161
      87326c73
    • Chandler Carruth's avatar
      Target a minimal terminfo library rather than necessarily a full curses · f11f1e43
      Chandler Carruth authored
      library for color support detection. This still will use a curses
      library if that is all we have available on the system. This change
      tries to use a smaller subset of the curses library, specifically the
      subset that is on some systems split off into a separate library. For
      example, if you install ncurses configured --with-tinfo, a 'libtinfo' is
      install that provides just the terminfo querying functionality. That
      library is now used instead of curses when it is available.
      
      This happens to fix a build error on systems with that library because
      when we tried to link ncurses into the binary, we didn't pull tinfo in
      as well. =]
      
      It should also provide an easy path for supporting the NetBSD
      libterminfo library, but as I don't have access to a NetBSD system I'm
      leaving adding that support to those folks.
      
      llvm-svn: 188160
      f11f1e43
    • Tim Northover's avatar
      Allow compatible extension attributes for tail calls · 707d68f0
      Tim Northover authored
      If the tail-callee and caller give the same bits via the same signext/zeroext
      attribute then a tail-call should be allowed, since the extension has already
      been done by the callee.
      
      llvm-svn: 188159
      707d68f0
    • Benjamin Kramer's avatar
      Remove global construction. const char* is sufficient here. · c9b7d47b
      Benjamin Kramer authored
      No functionality change.
      
      llvm-svn: 188158
      c9b7d47b
    • Alexey Samsonov's avatar
      Relax conditions of test added in r188156 to fix it on Windows · 34894630
      Alexey Samsonov authored
      llvm-svn: 188157
      34894630
    • Alexey Samsonov's avatar
      Introduce factory methods for SpecialCaseList · 9e4fdd26
      Alexey Samsonov authored
      Summary:
      Doing work in constructors is bad: this change suggests to
      call SpecialCaseList::create(Path, Error) instead of
      "new SpecialCaseList(Path)". Currently the latter may crash with
      report_fatal_error, which is undesirable - sometimes we want to report
      the error to user gracefully - for example, if he provides an incorrect
      file as an argument of Clang's -fsanitize-blacklist flag.
      
      Reviewers: pcc
      
      Reviewed By: pcc
      
      CC: llvm-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D1327
      
      llvm-svn: 188156
      9e4fdd26
    • Richard Sandiford's avatar
      Fix big-endian handling of integer-to-vector bitcasts in InstCombine · feb34713
      Richard Sandiford authored
      These functions used to assume that the lsb of an integer corresponds
      to vector element 0, whereas for big-endian it's the other way around:
      the msb is in the first element and the lsb is in the last element.
      
      Fixes MultiSource/Benchmarks/mediabench/gsm/toast for z.
      
      llvm-svn: 188155
      feb34713
  2. Aug 11, 2013
    • Reed Kotler's avatar
      Don't generate floating point stubs for mips16 code if the function · d265e888
      Reed Kotler authored
      is actually an instrinsic that will not occur in libc. This list here
      is not exhaustive but fixes the one places in test-suite where this occurs.
      I have filed a bug against myself to research the full list and add them
      to the array of such cases. In the future, actual stub generation will occur
      in a later phase and we won't need this code because we will know at that time
      during the compilation that in fact no helper function was even needed.
      
      llvm-svn: 188149
      d265e888
    • Elena Demikhovsky's avatar
      AVX-512: Added more tests for BROADCAST · 5fed3b95
      Elena Demikhovsky authored
      llvm-svn: 188148
      5fed3b95
    • Elena Demikhovsky's avatar
      AVX-512: Added VPERM* instructons and MOV* zmm-to-zmm instructions. · cf5b1458
      Elena Demikhovsky authored
      Added a test for shuffles using VPERM.
      
      llvm-svn: 188147
      cf5b1458
    • Chandler Carruth's avatar
      Re-instate r187323 which fast-tracks promotable allocas as soon as the · d7cd7e36
      Chandler Carruth authored
      SROA-based analysis has enough information. This should work now that
      both mem2reg *and* the SSAUpdater-based AllocaPromoter have been updated
      to be able to promote the types of allocas that the SROA analysis
      detects.
      
      I've included tests for the AllocaPromoter that were only possible to
      write once we fast-tracked promotable allocas without rewriting them.
      This includes a test both for r187347 and r188145.
      
      Original commit log for r187323:
      """
      Now that mem2reg understands how to cope with a slightly wider set of uses of
      an alloca, we can pre-compute promotability while analyzing an alloca for
      splitting in SROA. That lets us short-circuit the common case of a bunch of
      trivially promotable allocas. This cuts 20% to 30% off the run time of SROA for
      typical frontend-generated IR sequneces I'm seeing. It gets the new SROA to
      within 20% of ScalarRepl for such code. My current benchmark for these numbers
      is PR15412, but it fits the general pattern of IR emitted by Clang so it should
      be widely applicable.
      """
      
      llvm-svn: 188146
      d7cd7e36
    • Chandler Carruth's avatar
      Finish fixing the SSAUpdater-based AllocaPromoter strategy in SROA to cope with · c17283b4
      Chandler Carruth authored
      the more general set of patterns that are now handled by mem2reg and that we
      can detect quickly while doing SROA's initial analysis. Notably, this allows it
      to promote through no-op bitcast and GEP sequences. A core part of the
      SSAUpdater approach is the ability to test whether a particular instruction is
      part of the set being promoted. Testing this becomes significantly more complex
      in the world where the operand to every load and store isn't the alloca itself.
      I ended up using the approach of walking up the def-chain until we find the
      alloca. I benchmarked this against keeping a set of pointer operands and
      keeping a set of the loads and stores we care about, and this one seemed faster
      although the difference was very small.
      
      No test case yet because currently the rewriting always "fixes" the inputs to
      not require this. The next patch which re-enables early promotion of easy cases
      in SROA will include a test case that specifically exercises this aspect of the
      alloca promoter.
      
      llvm-svn: 188145
      c17283b4
    • Chandler Carruth's avatar
      Reformat some bits of AllocaPromoter and simplify the name and type of · 45b136f4
      Chandler Carruth authored
      our visiting datastructures in the AllocaPromoter/SSAUpdater path of
      SROA. Also shift the order if clears around to be more consistent.
      
      No functionality changed here, this is just a cleanup.
      
      llvm-svn: 188144
      45b136f4
    • Reed Kotler's avatar
      Incorrect JAL instruction attributes caused the optimizer to make a wrong · 705c5951
      Reed Kotler authored
      instruction move. Just affects static relocation. -static works fine now
      with mips16 for the most part.
      
      llvm-svn: 188143
      705c5951
  3. Aug 10, 2013
  4. Aug 09, 2013
Loading