Skip to content
  1. Jan 03, 2012
  2. Jan 02, 2012
    • Andrew Trick's avatar
      Fix SCEVExpander to handle loops with no preheader when LSR gives it a · cbcc98fb
      Andrew Trick authored
      "phony" insertion point.
      
      Fixes rdar://10619599: "SelectionDAGBuilder shouldn't visit PHI nodes!" assert
      
      llvm-svn: 147439
      cbcc98fb
    • Richard Smith's avatar
      Add assertion to char32_t that the value is valid, as suggested by Jordy Rose. · dbfd4037
      Richard Smith authored
      Add a test that such characters don't make it through to StringLiteral objects
      in error recovery.
      
      llvm-svn: 147438
      dbfd4037
    • Howard Hinnant's avatar
      1. Fix make_shared<const T>. 2. Allow allocator<const T> as an extension. ... · 8e25104b
      Howard Hinnant authored
      1.  Fix make_shared<const T>.  2.  Allow allocator<const T> as an extension.  3.  Refactor work which fixed unique_ptr<const T[]>.  4.  Remove no-longer-needed private declarations from unique_ptr.  5.  Add constraints to some shared_ptr and weak_ptr constructors and assignment operators so that is_constructible/is_assignable give the correct answers for shared_ptr and weak_ptr.  6.  Make defensive preparations in the shared_ptr free functions for the introduction of shared_ptr<T[]> in the future.  7.  As an optimization, add move constructor and move assignment to weak_ptr.
      
      llvm-svn: 147437
      8e25104b
    • Douglas Gregor's avatar
      Diagnose cases where the definition of a particular type is required, · 5dbf4eb6
      Douglas Gregor authored
      is known (to Clang), but is not visible because the module has not yet
      been imported.
      
      llvm-svn: 147436
      5dbf4eb6
    • Duncan Sands's avatar
      Correct spelling. · 7610e459
      Duncan Sands authored
      llvm-svn: 147435
      7610e459
    • Chandler Carruth's avatar
      Fix PR11685 by implementing -ffast-math and its various friends in the · 306bd2c6
      Chandler Carruth authored
      Clang driver. This involves a bunch of silly option parsing code to try
      to carefully emulate GCC's options. Currently, this takes a conservative
      approach, and unless all of the unsafe optimizations are enabled, none
      of them are. The fine grained control doesn't seem particularly useful.
      If it ever becomes useful, we can add that to LLVM first, and then
      expose it here.
      
      This also fixes a few tiny bugs in the flag management around
      -fhonor-infinities and -fhonor-nans; the flags now form proper sets both
      for enabling and disabling, with the last flag winning.
      
      I've also implemented a moderately terrifying GCC feature where
      a language change is also provided by the '-ffast-math' flag by defining
      the __FAST_MATH__ preprocessor macro. This feature is tracked and
      serialized in the frontend but it isn't used yet. A subsequent patch
      will add the preprocessor macro and tests for it.
      
      I've manually tested that codegen appears to respect this, but I've not
      dug in enough to see if there is an easy way to test codegen options w/o
      relying on the particulars of LLVM's optimizations.
      
      llvm-svn: 147434
      306bd2c6
    • Abramo Bagnara's avatar
      Added a missing case for -Wdisabled-macro-expansion. · 7079d7e3
      Abramo Bagnara authored
      llvm-svn: 147433
      7079d7e3
    • Chandler Carruth's avatar
      Undo the hack in r147427 and move this unittest to a better home. This · e517273e
      Chandler Carruth authored
      is testing the bitcode reader's functionality, not VMCore's. Add the
      what is a hope sufficient build system mojo to build and run a new
      unittest.
      
      Also clean up some of the test's naming. The goal for the file should be
      to unittest the Bitcode Reader, and this is just one particular test
      among potentially many in the future. Also, reverse my position and
      relegate the PR# to a comment, but stash the comment on the same line as
      the test name so it doesn't get lost. This makes the code more
      self-documenting hopefully w/o losing track of the PR number.
      
      llvm-svn: 147431
      e517273e
    • Craig Topper's avatar
      Miscellaneous shuffle lowering cleanup. No functional changes. Primarily... · 5bacb7e9
      Craig Topper authored
      Miscellaneous shuffle lowering cleanup. No functional changes. Primarily converting the indexing loops to unsigned to be consistent across functions.
      
      llvm-svn: 147430
      5bacb7e9
    • Craig Topper's avatar
      Make CanXFormVExtractWithShuffleIntoLoad reject loads with multiple uses. Also... · 53d55964
      Craig Topper authored
      Make CanXFormVExtractWithShuffleIntoLoad reject loads with multiple uses. Also make it return false if there's not even a load at all. This makes the code better match the code in DAGCombiner that it tries to match. These two changes prevent some cases where vector_shuffles were making it to instruction selection and causing the older shuffle selection code to be triggered. Also needed to fix a bad pattern that this change exposed. This is the first step towards getting rid of the old shuffle selection support. No test cases yet because there's no way to tell whether a shuffle was handled in the legalize stage or at instruction selection.
      
      llvm-svn: 147428
      53d55964
    • Chandler Carruth's avatar
      Fix unittest makefile after r147425. This should unbreak the makefile · ddb10a48
      Chandler Carruth authored
      build. This didn't show up in the CMake build because the CMake build
      for the unittests is rather poorly factored.
      
      This probably isn't the correct fix. This should be a bitcode reader
      unittest not a VMCore unittest. I'll move it and clean various parts of
      the unittest up in a follow-up patch, but I wanted to unbreak the bots.
      
      llvm-svn: 147427
      ddb10a48
    • Nadav Rotem's avatar
      · 6c7a0e6c
      Nadav Rotem authored
      Optimize the sequence blend(sign_extend(x)) to blend(shl(x)) since SSE blend instructions only look at the highest bit.
      
      llvm-svn: 147426
      6c7a0e6c
    • Rafael Espindola's avatar
      Materialize functions whose basic blocks are used by global variables. Fixes · b7993465
      Rafael Espindola authored
      PR11677.
      
      llvm-svn: 147425
      b7993465
    • Rafael Espindola's avatar
      Small cosmetic cleanups in code I will change anyway. · eeb9d9fe
      Rafael Espindola authored
      llvm-svn: 147424
      eeb9d9fe
Loading