Skip to content
  1. May 21, 2013
  2. May 19, 2013
    • Bob Wilson's avatar
      Remove declaration of __clear_cache for __APPLE__. <rdar://problem/13924072> · 111b0b6d
      Bob Wilson authored
      This fixes a bootstrapping problem with builds for Apple ARM targets.
      Clang had the wrong prototype for __clear_cache with ARM targets.  Rafael
      fixed that in clang svn r181784 and r181810, but without those changes,
      we can't build this code for ARM because clang reports an error about the
      declaration in Memory.inc not matching the builtin declaration. Some of our
      buildbots need to use an older compiler that doesn't have the clang fix.
      Since __clear_cache is never used here when __APPLE__ is defined, I'm just
      conditionalizing the declaration to match that. I also moved the declaration
      of sys_icache_invalidate inside the conditional for __APPLE__ while I was at
      it.
      
      llvm-svn: 182223
      111b0b6d
    • Tim Northover's avatar
      Invalidate instruction cache when setting memory to be executable. · 77d0a4ac
      Tim Northover authored
      lli's remote MCJIT code calls setExecutable just prior to running
      code. In line with Darwin behaviour this seems to be the place to
      invalidate any caches needed so that relocations can take effect
      properly.
      
      llvm-svn: 182213
      77d0a4ac
  3. May 15, 2013
    • Timur Iskhodzhanov's avatar
      Fix build on Windows · 0588513e
      Timur Iskhodzhanov authored
      llvm-svn: 181873
      0588513e
    • David Blaikie's avatar
      Use only explicit bool conversion operators · 041f1aa3
      David Blaikie authored
      BitVector/SmallBitVector::reference::operator bool remain implicit since
      they model more exactly a bool, rather than something else that can be
      boolean tested.
      
      The most common (non-buggy) case are where such objects are used as
      return expressions in bool-returning functions or as boolean function
      arguments. In those cases I've used (& added if necessary) a named
      function to provide the equivalent (or sometimes negative, depending on
      convenient wording) test.
      
      One behavior change (YAMLParser) was made, though no test case is
      included as I'm not sure how to reach that code path. Essentially any
      comparison of llvm::yaml::document_iterators would be invalid if neither
      iterator was at the end.
      
      This helped uncover a couple of bugs in Clang - test cases provided for
      those in a separate commit along with similar changes to `operator bool`
      instances in Clang.
      
      llvm-svn: 181868
      041f1aa3
  4. May 14, 2013
  5. May 13, 2013
  6. May 10, 2013
    • Alexander Kornienko's avatar
      Better output for long help strings for command-line options. · 72a196a1
      Alexander Kornienko authored
      Summary:
      This patch allows using \n inside long help strings for command-line
      options, so that all lines are equally indented. This is not a perfect solution,
      as we don't (and probably don't want to) know about terminal width, but it
      allows to format long help strings somehow readable without manually padding
      them with spaces. A motivating example is -help output from clang-format (source
      code in tools/clang-format/ClangFormat.cpp, see cl options offset, length,
      style, and dump-config).
      
      Reviewers: atrick, alexfh
      
      Reviewed By: alexfh
      
      CC: llvm-commits, rafael
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D779
      
      llvm-svn: 181608
      72a196a1
  7. May 08, 2013
  8. May 06, 2013
  9. May 05, 2013
  10. May 04, 2013
    • Tim Northover's avatar
      AArch64: use __clear_cache under GCCish environments · 6c26b327
      Tim Northover authored
      AArch64 is going to need some kind of cache-invalidation in order to
      successfully JIT since it has a weak memory-model. This is provided by
      a __clear_cache builtin in libgcc, which acts very much like the
      32-bit ARM equivalent (on platforms where it exists).
      
      llvm-svn: 181129
      6c26b327
    • Tim Northover's avatar
      Allow host triple to be correctly overridden in CMake builds · fee13d1e
      Tim Northover authored
      The intended semantics mirror autoconf, where the user is able to
      specify a host triple, but if it's left to the build system then
      "config.guess" is invoked for the default.
      
      This also renames the LLVM_HOSTTRIPLE define to LLVM_HOST_TRIPLE to
      fit in with the style of the surrounding defines.
      
      llvm-svn: 181112
      fee13d1e
  11. May 03, 2013
    • Ulrich Weigand's avatar
      · 90c9abdd
      Ulrich Weigand authored
      [SystemZ] Support System Z as host architecture
      
      The llvm::sys::AddSignalHandler function (as well as related routines) in
      lib/Support/Unix/Signals.inc currently registers a signal handler routine
      via "sigaction".  When this handler is called due to a SIGSEGV, SIGILL or
      similar signal, it will show a stack backtrace, deactivate the handler,
      and then simply return to the operating system.  The intent is that the
      OS will now retry execution at the same location as before, which ought
      to again trigger the same error condition and cause the same signal to be
      delivered again.  Since the hander is now deactivated, the OS will take
      its default action (usually, terminate the program and possibly create
      a core dump).
      
      However, this method doesn't work reliably on System Z:  With certain
      signals (namely SIGILL, SIGFPE, and SIGTRAP), the program counter stored
      by the kernel on the signal stack frame (which is the location where
      execution will resume) is not the instruction that triggered the fault,
      but then instruction *after it*.  When the LLVM signal handler simply
      returns to the kernel, execution will then resume at *that* address,
      which will not trigger the problem again, but simply go on and execute
      potentially unrelated code leading to random errors afterwards.
      
      To fix this, the patch simply goes and re-raises the signal in question
      directly from the handler instead of returning from it.  This is done
      only on System Z and only for those signals that have this particular
      problem.
      
      llvm-svn: 181010
      90c9abdd
    • Richard Sandiford's avatar
      [SystemZ] Add llvm::Triple::systemz · a238c5e0
      Richard Sandiford authored
      First step towards reinstating the SystemZ backend.  Tests will be
      included in the main backend patch.
      
      llvm-svn: 181007
      a238c5e0
    • Benjamin Kramer's avatar
  12. May 01, 2013
  13. Apr 28, 2013
  14. Apr 23, 2013
  15. Apr 22, 2013
  16. Apr 15, 2013
    • Rafael Espindola's avatar
      Make the host endianness check an integer constant expression. · 41cb64f4
      Rafael Espindola authored
      I will remove the isBigEndianHost function once I update clang.
      
      The ifdef logic is designed to
      * not use configure/cmake to avoid breaking -arch i686 -arch ppc.
      * default to little endian
      * be as small as possible
      
      It looks like sys/endian.h is the preferred header on most modern BSD systems,
      but it is better to change this in a followup patch as machine/endian.h is
      available on FreeBSD, OpenBSD, NetBSD and OS X.
      
      llvm-svn: 179527
      41cb64f4
  17. Apr 11, 2013
  18. Apr 05, 2013
  19. Apr 03, 2013
Loading