Skip to content
  1. Jan 05, 2014
  2. Jan 04, 2014
    • Alp Toker's avatar
      Add missed cleanup from r198456 · f929e09b
      Alp Toker authored
      All other uses of this macro in LLVM/clang have been moved to the function
      definition so follow suite (and the usage advice) here too for consistency.
      
      llvm-svn: 198516
      f929e09b
    • Craig Topper's avatar
      Tag x86 move to/from debug/control registers with Not64BitMode/In64BitMode.... · bc281ad8
      Craig Topper authored
      Tag x86 move to/from debug/control registers with Not64BitMode/In64BitMode. Remove disassembler hack.
      
      llvm-svn: 198515
      bc281ad8
    • Joerg Sonnenberger's avatar
      Switch to using C++ style casts. · 634b9dd7
      Joerg Sonnenberger authored
      llvm-svn: 198505
      634b9dd7
    • Alp Toker's avatar
      Revert "Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things." · 5e9f3265
      Alp Toker authored
      This commit was the source of crasher PR18384:
      
      While deleting: label %for.cond127
      An asserting value handle still pointed to this value!
      UNREACHABLE executed at llvm/lib/IR/Value.cpp:671!
      
      Reverting to get the builders green, feel free to re-land after fixing up.
      (Renato has a handy isolated repro if you need it.)
      
      This reverts commit r198478.
      
      llvm-svn: 198503
      5e9f3265
    • Alp Toker's avatar
      Revert "ToolingTest.cpp: Fix r158592,... · 59226f78
      Alp Toker authored
      Revert "ToolingTest.cpp: Fix r158592, runToolOnCode.FindsNoTopLevelDeclOnEmptyCode on msvc. LangOpts.MicrosoftExt still appends "class type_info;"."
      
      type_info has been made an implicitly predeclared type in r198497 and will no
      longer appear as a user-declared type so we can remove this old hack.
      
      This reverts commit r158595.
      
      llvm-svn: 198502
      59226f78
    • Alp Toker's avatar
      Move MS predefined type_info out of InitializePredefinedMacros · e1fab526
      Alp Toker authored
      Instead of keeping it in amongst the macros, build the declaration at Sema init
      the same way we do with other predeclared and builtin types.
      
      In practice this means the declaration is marked implicit and therefore won't
      show up as an unwanted user-declared type in tooling which has been a
      frequently reported issue (though I haven't been able to cook up a test).
      
      llvm-svn: 198497
      e1fab526
    • Alp Toker's avatar
      Only mark dump() function definitions 'used' in debug builds · ef6b007d
      Alp Toker authored
      This has the dual effect of (1) enabling more dead-stripping in release builds
      and (2) ensuring that debug helper functions aren't stripped away in debug
      builds, as they're intended to be called from the debugger.
      
      Note that the attribute is applied to definitions rather than declarations in
      headers going forward because it's now conditional on NDEBUG:
      
        /// \brief Mark debug helper function definitions like dump() that should not be
        /// stripped from debug builds.
      
      Requires corresponding macro added in LLVM r198456.
      
      llvm-svn: 198489
      ef6b007d
    • Venkatraman Govindaraju's avatar
    • Yaron Keren's avatar
      80 cols fixes. · acb42aef
      Yaron Keren authored
      llvm-svn: 198482
      acb42aef
    • Yaron Keren's avatar
      Implement the functions: clz, clzl, clzll, ctz, ctzl, and ctzll · f8f56755
      Yaron Keren authored
      for libcxx when compiled with Visual C++ on Win32 and Win64.
      
      clang and gcc (MinGW) compilers provide these implementations themselves.
      
      llvm-svn: 198481
      f8f56755
    • Venkatraman Govindaraju's avatar
      [SparcV9]: Implement RETURNADDR and FRAMEADDR lowering in SPARC64. · 96ab3bc5
      Venkatraman Govindaraju authored
      Fixes PR18356.
      
      llvm-svn: 198480
      96ab3bc5
    • Argyrios Kyrtzidis's avatar
      Add an additional check in test/Sema/ext_vector_casts.c · d03fc4d4
      Argyrios Kyrtzidis authored
      llvm-svn: 198479
      d03fc4d4
    • Andrew Trick's avatar
      Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things. · aceac974
      Andrew Trick authored
      getSCEV for an ashr instruction creates an intermediate zext
      expression when it truncates its operand.
      
      The operand is initially inside the loop, so the narrow zext
      expression has a non-loop-invariant loop disposition.
      
      LoopSimplify then runs on an outer loop, hoists the ashr operand, and
      properly invalidate the SCEVs that are mapped to value.
      
      The SCEV expression for the ashr is now an AddRec with the hoisted
      value as the now loop-invariant start value.
      
      The LoopDisposition of this wide value was properly invalidated during
      LoopSimplify.
      
      However, if we later get the ashr SCEV again, we again try to create
      the intermediate zext expression. We get the same SCEV that we did
      earlier, and it is still cached because it was never mapped to a
      Value. When we try to create a new AddRec we abort because we're using
      the old non-loop-invariant LoopDisposition.
      
      I don't have a solution for this other than to clear LoopDisposition
      when LoopSimplify hoists things.
      
      I think the long-term strategy should be to perform LoopSimplify on
      all loops before computing SCEV and before running any loop opts on
      individual loops. It's possible we may want to rerun LoopSimplify on
      individual loops, but it should rarely do anything, so rarely require
      invalidating SCEV.
      
      llvm-svn: 198478
      aceac974
    • Andrew Trick's avatar
      whitespace · c19df037
      Andrew Trick authored
      llvm-svn: 198477
      c19df037
    • Ted Kremenek's avatar
      [analyzer] Remove IdempotentOperations checker. · 77640928
      Ted Kremenek authored
      This checker has not been updated to work with interprocedural analysis,
      and actually contains both logical correctness issues but also
      memory bugs.  We can resuscitate it from version control once there
      is focused interest in making it a real viable checker again.
      
      llvm-svn: 198476
      77640928
    • Craig Topper's avatar
      Remove JMP64pcrel32 (jmpq ). There are no tests for it. I'm pretty sure it... · 1da85823
      Craig Topper authored
      Remove JMP64pcrel32 (jmpq ). There are no tests for it. I'm pretty sure it won't be emitted correctly since it was set to NoImm. And I can't prove that gas accepts 'jmpq' with an immediate either. Remove the special case for it from the disassembler table generator.
      
      llvm-svn: 198475
      1da85823
Loading