Skip to content
  1. May 02, 2013
    • Jim Ingham's avatar
      acff8950
    • Akira Hatanaka's avatar
      [mips] Rename class and functions. Simplify code. · ae4a5567
      Akira Hatanaka authored
      No functionality changes.
      
      llvm-svn: 180897
      ae4a5567
    • Greg Clayton's avatar
      Return zero when we don't support the byte size. Previously is we were asked... · 7060f897
      Greg Clayton authored
      Return zero when we don't support the byte size. Previously is we were asked to read 3, 5, 6, or 7 byte integers, we would set the error, but still return that we read that number of bytes without populating the scalar.
      
      llvm-svn: 180896
      7060f897
    • Sean Callanan's avatar
      Make our eliding of artificially-generated methods · 16f45ca6
      Sean Callanan authored
      in debug information more aggressive.  Emitting
      classes containing these methods causes crashes in
      Clang when dealing with complex code bases.
      
      <rdar://problem/12640887>
      
      llvm-svn: 180895
      16f45ca6
    • Jordan Rose's avatar
      [analyzer] Consolidate constant evaluation logic in SValBuilder. · 89bbd1fb
      Jordan Rose authored
      Previously, this was scattered across Environment (literal expressions),
      ExprEngine (default arguments), and RegionStore (global constants). The
      former special-cased several kinds of simple constant expressions, while
      the latter two deferred to the AST's constant evaluator.
      
      Now, these are all unified as SValBuilder::getConstantVal(). To keep
      Environment fast, the special cases for simple constant expressions have
      been left in, but the main benefits are that (a) unusual constants like
      ObjCStringLiterals now work as default arguments and global constant
      initializers, and (b) we're not duplicating code between ExprEngine and
      RegionStore.
      
      This actually caught a bug in our test suite, which is awesome: we stop
      tracking allocated memory if it's passed as an argument along with some
      kind of callback, but not if the callback is 0. We were testing this in
      a case where the callback parameter had a default value, but that value
      was 0. After this change, the analyzer now (correctly) flags that as a
      leak!
      
      <rdar://problem/13773117>
      
      llvm-svn: 180894
      89bbd1fb
    • Filip Pizlo's avatar
      This exposes more MCJIT options via the C API: · 85e0d273
      Filip Pizlo authored
      CodeModel: It's now possible to create an MCJIT instance with any CodeModel you like.  Previously it was only possible to 
      create an MCJIT that used CodeModel::JITDefault.
      
      EnableFastISel: It's now possible to turn on the fast instruction selector.
      
      The CodeModel option required some trickery.  The problem is that previously, we were ensuring future binary compatibility in 
      the MCJITCompilerOptions by mandating that the user bzero's the options struct and passes the sizeof() that he saw; the 
      bindings then bzero the remaining bits.  This works great but assumes that the bitwise zero equivalent of any field is a 
      sensible default value.
      
      But this is not the case for LLVMCodeModel, or its internal equivalent, llvm::CodeModel::Model.  In both of those, the default 
      for a JIT is CodeModel::JITDefault (or LLVMCodeModelJITDefault), which is not bitwise zero.
      
      Hence this change introduces LLVMInitializeMCJITCompilerOptions(), which will initialize the user's options struct with
      defaults. The user will use this in the same way that they would have previously used memset() or bzero(). MCJITCAPITest.cpp
      illustrates the change, as does the comment in ExecutionEngine.h.
      
      llvm-svn: 180893
      85e0d273
    • Michael Liao's avatar
      Avoid generating tempfile(s) never used · d2d42f1b
      Michael Liao authored
      As DejaGNU is deprecated, it seems pipe-jam issue doesn't exist any more.
      
      llvm-svn: 180892
      d2d42f1b
    • Filip Pizlo's avatar
      Rename 'struct LLVMTargetMachine' to 'struct LLVMOpaqueTargetMachine'. · c65a6d76
      Filip Pizlo authored
      This avoids namespace collisions with llvm::LLVMTargetMachine.
      
      llvm-svn: 180891
      c65a6d76
    • Jordan Rose's avatar
      [analyzer] Don't inline the [cd]tors of C++ iterators. · 7023a903
      Jordan Rose authored
      This goes with r178516, which instructed the analyzer not to inline the
      constructors and destructors of C++ container classes. This goes a step
      further and does the same thing for iterators, so that the analyzer won't
      falsely decide we're trying to construct an iterator pointing to a
      nonexistent element.
      
      The heuristic for determining whether something is an iterator is the
      presence of an 'iterator_category' member. This is controlled under the
      same -analyzer-config option as container constructor/destructor inlining:
      'c++-container-inlining'.
      
      <rdar://problem/13770187>
      
      llvm-svn: 180890
      7023a903
    • Bill Wendling's avatar
    • Sean Callanan's avatar
      Fixed Process::ReadScalarIntegerFromMemory() · 7f13bd76
      Sean Callanan authored
      to report proper errors when the size is not
      correct.
      
      <rdar://problem/13784456>
      
      llvm-svn: 180888
      7f13bd76
  2. May 01, 2013
Loading