Skip to content
  1. May 07, 2013
  2. May 06, 2013
    • Krzysztof Parzyszek's avatar
      Print IR from Hexagon MI passes with -print-before/after-all. · 18ee1193
      Krzysztof Parzyszek authored
      llvm-svn: 181255
      18ee1193
    • Andrew Trick's avatar
      Implemented public interface for modifying registered (not positional or sink... · 7cb710d5
      Andrew Trick authored
      Implemented public interface for modifying registered (not positional or sink options) command line options at runtime.
      
      Patch by Dan Liew!
      
      llvm-svn: 181254
      7cb710d5
    • Andrew Trick's avatar
      Support command line option categories. · 0537a988
      Andrew Trick authored
      Patch by Dan Liew!
      
      llvm-svn: 181253
      0537a988
    • Krzysztof Parzyszek's avatar
      Cleanup of the HexagonTargetMachine setup. · 59df52c5
      Krzysztof Parzyszek authored
      llvm-svn: 181250
      59df52c5
    • David Majnemer's avatar
      InstCombine: (X ^ signbit) + C -> X + (signbit ^ C) · 70f286d9
      David Majnemer authored
      llvm-svn: 181249
      70f286d9
    • Eric Christopher's avatar
      Hoist boundary condition out of loop header. · 0cdce835
      Eric Christopher authored
      llvm-svn: 181248
      0cdce835
    • Eric Christopher's avatar
      Untabify. · 34ea3368
      Eric Christopher authored
      llvm-svn: 181247
      34ea3368
    • Bill Wendling's avatar
      Reduce attributes. · 66bdab13
      Bill Wendling authored
      llvm-svn: 181245
      66bdab13
    • Rafael Espindola's avatar
      Split Alignment out of the Section Characteristics. · fa4513a1
      Rafael Espindola authored
      The alignment is just a byte in the middle of Characteristics, not an
      independent flag. Making it an independent field in the yaml
      representation makes it more yamlio friendly.
      
      llvm-svn: 181243
      fa4513a1
    • Jyotsna Verma's avatar
      84c47102
    • Jean-Luc Duprat's avatar
      Test results verified using FileCheck rather than grep | count · 1610d571
      Jean-Luc Duprat authored
      llvm-svn: 181234
      1610d571
    • Krzysztof Parzyszek's avatar
      Make references to HexagonTargetMachine "const". · d5007471
      Krzysztof Parzyszek authored
      llvm-svn: 181233
      d5007471
    • Rafael Espindola's avatar
      Remove some redundant includes in llvm-mc.cpp. · 92fd9619
      Rafael Espindola authored
      Patch by Jun Koi!
      
      llvm-svn: 181231
      92fd9619
    • Andrew Trick's avatar
      Rotate multi-exit loops even if the latch was simplified. · 9c72b071
      Andrew Trick authored
      Test case by Michele Scandale!
      
      Fixes PR10293: Load not hoisted out of loop with multiple exits.
      
      There are few regressions with this patch, now tracked by
      rdar:13817079, and a roughly equal number of improvements. The
      regressions are almost certainly back luck because LoopRotate has very
      little idea of whether rotation is profitable. Doing better requires a
      more comprehensive solution.
      
      This checkin is a quick fix that lacks generality (PR10293 has
      a counter-example). But it trivially fixes the case in PR10293 without
      interfering with other cases, and it does satify the criteria that
      LoopRotate is a loop canonicalization pass that should avoid
      heuristics and special cases.
      
      I can think of two approaches that would probably be better in
      the long run. Ultimately they may both make sense.
      
      (1) LoopRotate should check that the current header would make a good
      loop guard, and that the loop does not already has a sufficient
      guard. The artifical SimplifiedLoopLatch check would be unnecessary,
      and the design would be more general and canonical. Two difficulties:
      
      - We need a strong guarantee that we won't endlessly rotate, so the
        analysis would need to be precise in order to avoid the
        SimplifiedLoopLatch precondition.
      
      - Analysis like this are usually based on SCEV, which we don't want to
        rely on.
      
      (2) Rotate on-demand in late loop passes. This could even be done by
      shoving the loop back on the queue after the optimization that needs
      it. This could work well when we find LICM opportunities in
      multi-branch loops. This requires some work, and it doesn't really
      solve the problem of SCEV wanting a loop guard before the analysis.
      
      llvm-svn: 181230
      9c72b071
    • Tom Stellard's avatar
      R600: Remove dead code from the CodeEmitter v2 · d93cede8
      Tom Stellard authored
      
      
      v2:
        - Replace switch statement with TSFlags query
      
      Reviewed-by: default avatarVincent Lejeune <vljn@ovi.com>
      Tested-By: default avatarAaron Watry <awatry@gmail.com>
      llvm-svn: 181229
      d93cede8
    • Tom Stellard's avatar
      R600: Emit config values in register / value pairs · 043de4c5
      Tom Stellard authored
      
      
      Reviewed-by: default avatarVincent Lejeune <vljn@ovi.com>
      Tested-By: default avatarAaron Watry <awatry@gmail.com>
      llvm-svn: 181228
      043de4c5
    • Eric Christopher's avatar
      6c6de847
    • Eric Christopher's avatar
      Grammar. · f0303324
      Eric Christopher authored
      llvm-svn: 181226
      f0303324
    • Tom Stellard's avatar
      cfe2ef8f
    • Eric Christopher's avatar
      Don't emit .dwo sections unless they exist. · 92f3c0b4
      Eric Christopher authored
      llvm-svn: 181224
      92f3c0b4
    • Tom Stellard's avatar
      R600: Emit ISA for CALL_FS_* instructions · dbbcaf31
      Tom Stellard authored
      
      
      Reviewed-by: default avatarVincent Lejeune <vljn@ovi.com>
      Tested-By: default avatarAaron Watry <awatry@gmail.com>
      llvm-svn: 181223
      dbbcaf31
    • Ulrich Weigand's avatar
      · e7c6dfeb
      Ulrich Weigand authored
      [SystemZ] Update non-pic DWARF encodings
      
      As pointed out by Rafael Espindola, we should match the DWARF encodings
      produced by GCC in both pic and non-pic modes.  This was not the case
      for the non-pic case.
      
      This patch changes all DWARF encodings to DW_EH_PE_absptr for the
      non-pic case, just like GCC does.  The test case is updated to check
      for both variants.
      
      llvm-svn: 181222
      e7c6dfeb
    • Adhemerval Zanella's avatar
      PowerPC: Fix unimplemented relocation on ppc64 · e8bd03da
      Adhemerval Zanella authored
      This patch handles the R_PPC64_REL64 relocation type for powerpc64
      for mcjit.
      
      llvm-svn: 181220
      e8bd03da
    • Jean-Luc Duprat's avatar
      Fix add4.ll test cmdline so that it passes · 4189ef45
      Jean-Luc Duprat authored
      llvm-svn: 181219
      4189ef45
    • Jean-Luc Duprat's avatar
      Provide InstCombines for the following 3 cases: · 3e4fc3ef
      Jean-Luc Duprat authored
      A * (1 - (uitofp i1 C)) -> select C, 0, A
      B * (uitofp i1 C) -> select C, B, 0
      select C, 0, A + select C, B, 0 -> select C, B, A
      
      These come up in code that has been hand-optimized from a select to a linear blend, 
      on platforms where that may have mattered. We want to undo such changes 
      with the following transform:
      A*(1 - uitofp i1 C) + B*(uitofp i1 C) -> select C, A, B
      
      llvm-svn: 181216
      3e4fc3ef
    • Tim Northover's avatar
      AArch64: use MCJIT by default and enable related tests. · 7dbbc28f
      Tim Northover authored
      This just enables some testing I'd missed after implementing MCJIT
      support.
      
      llvm-svn: 181215
      7dbbc28f
    • Ulrich Weigand's avatar
      · 92b2085c
      Ulrich Weigand authored
      [SystemZ] Add to --enable-targets=all
      
      This patch finally enables the SystemZ target in the default build
      (with --enable-targets=all).
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181209
      92b2085c
    • Ulrich Weigand's avatar
      · 1ceebf6e
      Ulrich Weigand authored
      [SystemZ] Add configure bits
      
      This patch wires up the SystemZ target in configure, so that it can now be
      built using --enable-targets=systemz.   It is not yet included in the default
      build (--enable-targets=all); this will be done by a follow-up patch.
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181208
      1ceebf6e
    • Ulrich Weigand's avatar
      · 80435baa
      Ulrich Weigand authored
      [SystemZ] Set up JIT/MCJIT test cases
      
      This patch adds the necessary configuration bits and #ifdef's to set up
      the JIT/MCJIT test cases for SystemZ.  Like other recent targets, we do
      fully support MCJIT, but do not support the old JIT at all.  Set up the
      lit config files accordingly, and disable old-JIT unit tests.
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181207
      80435baa
    • Ulrich Weigand's avatar
      · 982a2151
      Ulrich Weigand authored
      [SystemZ] Add MC test cases
      
      This adds all MC tests for the SystemZ target.
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181206
      982a2151
    • Ulrich Weigand's avatar
      · 08bd6154
      Ulrich Weigand authored
      [SystemZ] Add DebugInfo test cases
      
      This adds all DebugInfo tests for the SystemZ target.
      
      This version of the patch incorporates feedback from reviews by
      Eric Christopher and Rafael Espindola.  Thanks to all reviewers!
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181205
      08bd6154
    • Ulrich Weigand's avatar
      · 9e3577ff
      Ulrich Weigand authored
      [SystemZ] Add CodeGen test cases
      
      This adds all CodeGen tests for the SystemZ target.
      
      This version of the patch incorporates feedback from a review by
      Sean Silva.  Thanks to all reviewers!
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181204
      9e3577ff
    • Ulrich Weigand's avatar
      · 5f613dfd
      Ulrich Weigand authored
      [SystemZ] Add back end
      
      This adds the actual lib/Target/SystemZ target files necessary to
      implement the SystemZ target.  Note that at this point, the target
      cannot yet be built since the configure bits are missing.  Those
      will be provided shortly by a follow-on patch.
      
      This version of the patch incorporates feedback from reviews by
      Chris Lattner and Anton Korobeynikov.  Thanks to all reviewers!
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181203
      5f613dfd
    • Ulrich Weigand's avatar
      · 0213e7fc
      Ulrich Weigand authored
      [SystemZ] Define DWARF encoding
      
      This is another patch in preparation for adding the SystemZ target.
      It defines the appropriate values for DWARF encodings; the intent
      is to be compatible with what GCC currently does on the target.
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181201
      0213e7fc
    • Ulrich Weigand's avatar
      · f1c30045
      Ulrich Weigand authored
      Simplify JIT unit test #ifdefs
      
      Several platforms need to disable all old-JIT unit tests, since they only
      support the new MCJIT.  This currently done via #ifdef'ing out those tests
      in the ExecutionEngine/JIT/*.cpp files.  As those #ifdef's have grown
      historically, we now have a number of repeated directives which -in total-
      cover nearly the whole file, but leave a couple of helper functions out.
      When building the tests with clang itself, those helper functions now
      cause spurious "unused function" warnings.
      
      To fix those warnings, and also to remove the duplicate #ifdef conditions
      and make it easier to disable the tests for a new target, this patch
      consolidates the #ifdefs into a single one per file, which covers all
      the tests including all helper routines.
      
      Tested on PowerPC and SystemZ.
      
      llvm-svn: 181200
      f1c30045
    • Rafael Espindola's avatar
      Free the exception object. Should fix the vg bots. · 57dc142d
      Rafael Espindola authored
      llvm-svn: 181195
      57dc142d
    • Ulrich Weigand's avatar
      · 509c240c
      Ulrich Weigand authored
      [PowerPC] Fix memory corruption in AsmParser
      
      As pointed out by Evgeniy Stepanov, assigning a std::string temporary
      to a StringRef is not a good idea.  Rework MatchRegisterName to avoid
      using the .lower routine.
      
      llvm-svn: 181192
      509c240c
Loading