Skip to content
  1. Dec 29, 2013
  2. Dec 28, 2013
    • Saleem Abdulrasool's avatar
      CodeGen: silence a C++11 feature warning · 7230b377
      Saleem Abdulrasool authored
      llvm-svn: 198133
      7230b377
    • Saleem Abdulrasool's avatar
      ARM IAS: handle errors more appropriately · 0c4b1026
      Saleem Abdulrasool authored
      Directive parsers must return false if the target assembler is interested in
      handling the directive.  The Error member function returns true always.  Using
      the 'return Error()' pattern would incorrectly indicate to the general parser
      that the target was not interested in the directive, when in reality it simply
      encountered a badly formed directive or some other error.  This corrects the
      behaviour to ensure that the parser behaves appropriately.
      
      llvm-svn: 198132
      0c4b1026
    • Andrew Trick's avatar
      Uninitialized variable (in never taken path) after factoring. · 7afe4818
      Andrew Trick authored
      llvm-svn: 198131
      7afe4818
    • Alp Toker's avatar
      Briefly document diag-build.sh · 8214bf5e
      Alp Toker authored
      It may be a quick and dirty script but it's still useful to have some
      indication as to its purpose.
      
      Text taken straight from Jordan's r158682 commit message.
      
      llvm-svn: 198128
      8214bf5e
    • Alp Toker's avatar
      Rename isBuiltinCall() to getBuiltinCallee() · a724cff0
      Alp Toker authored
      This better describes what the function does.
      
      Cleanup only.
      
      llvm-svn: 198127
      a724cff0
    • Alp Toker's avatar
      Tidy up CGCXXABI creation · 82862258
      Alp Toker authored
      'create' functions conventionally return a pointer, not a reference.
      
      Also use an OwningPtr to get replace the delete of a reference member.
      
      No functional change.
      
      llvm-svn: 198126
      82862258
    • Andrew Trick's avatar
      New machine model for cortex-a9. Schedule for resources and latency. · 3ca67d64
      Andrew Trick authored
      Schedule more conservatively to account for stalls on floating point
      resources and latency. Use the AGU resource to model latency stalls
      since it's shared between FP and LD/ST instructions. This might not be
      completely accurate but should work well in practice.
      
      llvm-svn: 198125
      3ca67d64
    • Andrew Trick's avatar
      Added debugging options: -misched-only-func/block · 33e05d76
      Andrew Trick authored
      llvm-svn: 198124
      33e05d76
    • Andrew Trick's avatar
      The Cortex-A9 machine model is incomplete. Mark it as such. · 03b22e39
      Andrew Trick authored
      Many vector operations never had itineraries. Since the new machine
      model was a mapping from existing itinerary classes, we don't have a
      model for these. We still want to migrate A9 even though no one has
      invested in a complete model, so mark it incomplete to avoid the
      scheduler asserting.
      
      llvm-svn: 198123
      03b22e39
    • Andrew Trick's avatar
      Add a PostMachineScheduler pass with generic implementation. · d14d7c20
      Andrew Trick authored
      PostGenericScheduler uses either the new machine model or the hazard
      checker for top-down scheduling. Most of the infrastructure for PreRA
      machine scheduling is reused.
      
      With a some tuning, this should allow MachineScheduler to be default
      for all ARM targets, including cortex-A9, using the new machine
      model. Likewise, with additional tuning, it should be able to replace
      PostRAScheduler for all targets.
      
      The PostMachineScheduler pass does not currently run the
      AntiDepBreaker. There is less need for it on targets that are already
      running preRA MachineScheduler. I want to prove it's necessary before
      committing to the maintenance burden.
      
      The PostMachineScheduler also currently removes kill flags and adds
      them all back later. This is a bit ridiculous. I'd prefer passes to
      directly use a liveness utility than rely on flags.
      
      A test case that enables this scheduler will be included in a
      subsequent checkin that updates the A9 model.
      
      llvm-svn: 198122
      d14d7c20
    • Andrew Trick's avatar
      Move the PostRA scheduler's fixupKills function for reuse. · 6b104f8b
      Andrew Trick authored
      llvm-svn: 198121
      6b104f8b
    • Andrew Trick's avatar
      Stub out a PostMachineScheduler pass. · 17080b9b
      Andrew Trick authored
      Placeholder and boilerplate for a PostRA MachineScheduler pass.
      
      llvm-svn: 198120
      17080b9b
    • Andrew Trick's avatar
      Factor MI-Sched in preparation for post-ra scheduling support. · d7f890ed
      Andrew Trick authored
      Factor the MachineFunctionPass into MachineSchedulerBase.
      
      Split the DAG class into ScheduleDAGMI and SchedulerDAGMILive.
      
      llvm-svn: 198119
      d7f890ed
    • Craig Topper's avatar
      Revert part of r198115 to see if it fixes a buildbot failure. · 312f6394
      Craig Topper authored
      llvm-svn: 198118
      312f6394
    • Craig Topper's avatar
      bf096926
    • Craig Topper's avatar
      Minor indentation fix to match other switch statements. Change... · e829fe42
      Craig Topper authored
      Minor indentation fix to match other switch statements. Change llvm_unreachable text to match similar places.
      
      llvm-svn: 198116
      e829fe42
    • Craig Topper's avatar
      Mark some Type and EVT methods as LLVM_READONLY. · 8c4ac147
      Craig Topper authored
      llvm-svn: 198115
      8c4ac147
    • NAKAMURA Takumi's avatar
      llvm/test/CodeGen/X86/vselect.ll: Unbreak Windows x64 targets to add... · cf396cf8
      NAKAMURA Takumi authored
      llvm/test/CodeGen/X86/vselect.ll: Unbreak Windows x64 targets to add -mtriple=x86_64-unknown-unknown.
      
      llvm-svn: 198114
      cf396cf8
    • Andrea Di Biagio's avatar
      [X86] Teach the backend how to fold target specific dag node for packed · eaceba0e
      Andrea Di Biagio authored
      vector shift by immedate count (VSHLI/VSRLI/VSRAI) into a build_vector when
      the vector in input to the shift is a build_vector of all constants or UNDEFs.
      
      Target specific nodes for packed shifts by immediate count are in
      general introduced by function 'getTargetVShiftByConstNode' (in
      X86ISelLowering.cpp) when lowering shift operations, SSE/AVX immediate
      shift intrinsics and (only in very few cases) SIGN_EXTEND_INREG dag
      nodes.
      
      This patch adds extra rules for simplifying vector shifts inside
      function 'getTargetVShiftByConstNode'.
      
      Added file test/CodeGen/X86/vec_shift5.ll to verify that packed
      shifts by immediate are correctly folded into a build_vector when the
      input vector to the shift dag node is a vector of constants or undefs.
      
      llvm-svn: 198113
      eaceba0e
    • Rui Ueyama's avatar
      Simplify if ... return repetition. · 93f76046
      Rui Ueyama authored
      llvm-svn: 198108
      93f76046
    • Enrico Granata's avatar
      Add a new way to bind a format to a type: by enum type · 30f287fd
      Enrico Granata authored
      The "type format add" command gets a new flag --type (-t). If you pass -t <sometype>, upon fetching the value for an object of your type,
      LLDB will display it as-if it was of enumeration type <sometype>
      This is useful in cases of non-contiguous enums where there are empty gaps of unspecified values, and as such one cannot type their variables as the enum type,
      but users would still like to see them as-if they were of the enum type (e.g. DWARF field types with their user-reserved ranges)
      
      The SB API has also been improved to handle both types of formats, and a test case is added
      
      llvm-svn: 198105
      30f287fd
    • Rui Ueyama's avatar
      [PECOFF] Warn only when /export options are not compatible. · ffd81052
      Rui Ueyama authored
      Currently LLD always print a warning message if the same symbol is specified
      more than once for /export option. It's a bit annoying because specifying the
      same symbol with compatible options is actually safe and considered as a
      normal use case. This patch makes LLD to warn only when incompatible export
      options are given.
      
      llvm-svn: 198104
      ffd81052
    • Rui Ueyama's avatar
      temporary commit · 02dfdbcb
      Rui Ueyama authored
      llvm-svn: 198103
      02dfdbcb
    • Rui Ueyama's avatar
      [PECOFF] Use std::set to store export symbol descriptors. · ad79838a
      Rui Ueyama authored
      Each export symbol descriptor has unique name attribute, so std::set is
      better container than std::vector for it. No functionality change.
      
      llvm-svn: 198102
      ad79838a
    • Saleem Abdulrasool's avatar
      AsmParser: cleanup diagnostics for .rep/.rept · 51cff719
      Saleem Abdulrasool authored
      Avoid double diagnostics for invalid expressions for count.  Improve caret
      location for negative count.
      
      llvm-svn: 198099
      51cff719
    • Saleem Abdulrasool's avatar
      IAS: support .rep as an alias for .rept · d743d0ab
      Saleem Abdulrasool authored
      The GNU assembler supports .rep as an alias for .rept.  This simply creates the
      alias for it and introduces a test for both .rept and .rep.
      
      llvm-svn: 198097
      d743d0ab
    • Bob Wilson's avatar
      Propagate "-arch x86_64h" setting to the linker. <rdar://problem/15711488> · 9914a021
      Bob Wilson authored
      This is a follow-up to r194907, which added a new -arch setting to make it
      easier to specify AVX2 targets. The "-arch x86_64h" option needs to be passed
      on to the linker, but it was getting canonicalized to x86_64 by the code
      in getArchTypeForDarwinArchName.
      
      llvm-svn: 198096
      9914a021
    • Saleem Abdulrasool's avatar
      ARMAsmParser: fix typo in comment · 83e3770a
      Saleem Abdulrasool authored
      llvm-svn: 198095
      83e3770a
    • Chandler Carruth's avatar
      Silence a dubious GCC warning about a set but unused global. Indeed, the · 2588aa74
      Chandler Carruth authored
      purpose of this global is to be set and not used. =]
      
      llvm-svn: 198094
      2588aa74
    • Chandler Carruth's avatar
      Disable transforms that introduce calls to exp10*() on Linux due to · f5689f83
      Chandler Carruth authored
      widespread glibc bugs.
      
      The glibc implementation of exp10 has a very serious precision bug in
      version 2.15 (and older versions). This is still very widely used (the
      current Ubuntu LTS for example uses it) and so it isn't reasonable to
      make transforms that produce these functions. This fixes many
      miscompiles introduced when we started transforming pow(10.0, ...) into
      exp10, and it may have fixed other latent miscompiles where exp10
      provided sufficient precision but exp10f did not.
      
      This is all really horrible. The primary bug has been fixed for over
      a year and glibc 2.18 works correctly for the test cases I have, but it
      will be 2017 before the LTS using 2.15 is no longer supported by Ubuntu
      (and thus reasonable for folks to be relying on). =[ We're either going
      to need to live without these optimizations, or find a way to switch
      behavior more dynamically than using simply the fact that the OS is
      "Linux".
      
      To make matters worse, there appears to be significant testing and
      fixing of numerous other bugs in the exp10 family of functions right now
      in glibc. While those haven't been causing problems I've seen in the
      wild, it gives me concerns that we may need to wait until an even later
      release of glibc before we can reliably transform code into exp10.
      
      llvm-svn: 198093
      f5689f83
    • Eric Christopher's avatar
      Remove AsmPrinter::needsRelocationsForDwarfStringPool() since it's · 8458862f
      Eric Christopher authored
      just calling into MAI and is only abstracting for a single interface that
      we actually need to check in multiple places.
      
      llvm-svn: 198092
      8458862f
Loading