Skip to content
  1. Dec 20, 2013
    • Eric Christopher's avatar
      [x86] Rename In32BitMode predicate to Not64BitMode · c0a5aaea
      Eric Christopher authored
      That's what it actually means, and with 16-bit support it's going to be
      a little more relevant since in a few corner cases we may actually want
      to distinguish between 16-bit and 32-bit mode (for example the bare 'push'
      aliases to pushw/pushl etc.)
      
      Patch by David Woodhouse
      
      llvm-svn: 197768
      c0a5aaea
  2. Dec 19, 2013
    • Hal Finkel's avatar
      Add support for positionally-encoded operands to FixedLenDecoderEmitter · 71b2e20d
      Hal Finkel authored
      Unfortunately, the PowerPC instruction definitions make heavy use of the
      positional operand encoding heuristic to map operands onto bitfield variables
      in the instruction definitions. Changing this to use name-based mapping is not
      trivial, however, because additional infrastructure needs to be designed to
      handle mapping of complex operands (with multiple suboperands) onto multiple
      bitfield variables.
      
      In the mean time, this adds support for positionally encoded operands to
      FixedLenDecoderEmitter, so that we can generate a disassembler for the PowerPC
      backend. To prevent an accidental reliance on this feature, and to prevent an
      undesirable interaction with existing disassemblers, a backend must opt-in to
      this support by setting the new decodePositionallyEncodedOperands
      instruction-set bit to true.
      
      When enabled, this iterates the variables that contribute to the instruction
      encoding, just as the encoder does, and emulates the procedure the encoder uses
      to map "numbered" operands to variables. The bit range for each variable is
      also determined as the encoder determines them. This map is then consulted
      during the decoder-generator's loop over operands to decode, allowing the
      decoder to understand both position-based and name-based operand-to-variable
      mappings.
      
      As noted in the comment on the decodePositionallyEncodedOperands definition,
      this support should be removed once it is no longer needed. There should be no
      change to existing disassemblers.
      
      llvm-svn: 197691
      71b2e20d
    • Hal Finkel's avatar
      Add support for PointerLikeRegClass to FixedLenDecoderEmitter · 9d95e8d5
      Hal Finkel authored
      This is more prep for adding the PowerPC disassembler. FixedLenDecoderEmitter
      should recognize PointerLikeRegClass operands as register types, and generate
      register-like decoding calls instead of treating them like immediates.
      
      llvm-svn: 197680
      9d95e8d5
  3. Dec 17, 2013
    • Hal Finkel's avatar
      Support little-endian encodings in the FixedLenDecoderEmitter · 81e6fccb
      Hal Finkel authored
      The convention used to specify the PowerPC ISA is that bits are numbered in
      reverse order (0 is the index of the high bit). To support this "little endian"
      encoding convention, CodeEmitterGen will reverse the bit numberings prior to
      generating the encoding tables. In order to generate a disassembler,
      FixedLenDecoderEmitter needs to do the same.
      
      This moves the bit reversal logic out of CodeEmitterGen and into CodeGenTarget
      (where it can be used by both CodeEmitterGen and FixedLenDecoderEmitter). This
      is prep work for disassembly support in the PPC backend (which is the only
      in-tree user of this little-endian encoding support).
      
      llvm-svn: 197532
      81e6fccb
    • NAKAMURA Takumi's avatar
      Tweak lit/TestingConfig.py Py3-compatible. has_key is dead. · b7bf04c0
      NAKAMURA Takumi authored
      llvm-svn: 197462
      b7bf04c0
    • Reid Kleckner's avatar
      Add missing trailing comma in llvm-lit.in · 341a142b
      Reid Kleckner authored
      I was testing a stale bin/llvm-lit, which now lives at bin/llvm-lit.py
      on Windows.
      
      llvm-svn: 197446
      341a142b
    • Reid Kleckner's avatar
      Add the lit site config for unittests to bin/llvm-lit · 8dcf9854
      Reid Kleckner authored
      This missing parameter was causing bin/llvm-lit to run the unittests
      from my primary build directory instead of my self-hosting build
      directory because llvm-config was on my PATH.
      
      This more closely matches what 'make check' will pass to lit.py.
      
      llvm-svn: 197444
      8dcf9854
  4. Dec 16, 2013
  5. Dec 12, 2013
  6. Dec 05, 2013
    • Alp Toker's avatar
      Correct word hyphenations · f907b891
      Alp Toker authored
      This patch tries to avoid unrelated changes other than fixing a few
      hyphen-related ambiguities and contractions in nearby lines.
      
      llvm-svn: 196471
      f907b891
  7. Dec 04, 2013
  8. Dec 03, 2013
  9. Dec 02, 2013
  10. Nov 24, 2013
  11. Nov 20, 2013
    • Daniel Sanders's avatar
      FileCheck: fix a bug with multiple --check-prefix options. Similar to r194565 · 43b5f572
      Daniel Sanders authored
      Summary:
      Directives are being ignored, when they occur between a partial-word false
      match and any match on another prefix.
      
      For example, with FOO and BAR prefixes:
         _FOO
         FOO: foo
         BAR: bar
      FileCheck incorrectly matches:
         fog
         bar
      
      This happens because FOO falsely matched as a partial word at '_FOO' and was
      ignored while BAR matched at 'BAR:'. The match of BAR is incorrectly returned
      as the 'first match' causing the FOO directive to be discarded.
      
      Fixed this the same way as r194565 (D2166) did for a similar test case.
      The partial-word false match should be counted as a match for the purposes of
      finding the first match of a prefix, but should be returned as a false match
      using CheckTy::CheckNone so that it isn't treated as a directive.
      
      Fixes PR17995
      
      Reviewers: samsonov, arsenm
      
      Reviewed By: samsonov
      
      CC: llvm-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2228
      
      llvm-svn: 195248
      43b5f572
    • Bill Wendling's avatar
      Add -triple option. · d607384d
      Bill Wendling authored
      The -triple option is used to create a named tarball of the release binaries.
      
      Also disable the RPATH modifications on Mac OS X. It's not needed.
      
      llvm-svn: 195193
      d607384d
  12. Nov 19, 2013
  13. Nov 18, 2013
    • Arnaud A. de Grandmaison's avatar
      test-release.sh: tweak RPATH for the binary packages. · 69690e41
      Arnaud A. de Grandmaison authored
      libtool sets RPATH to "$ORIGIN/../lib:/the/directory/where/it/was/built/lib" so that a developper can use the built or the installed version seamlessly. Our binary packages should not have this developer friendly tweak, as the users of the binaries will not have the build tree.
      
      Beside, in case the development tree is a possibly on an automounted share, this can create very bad user experience : they will incur an automount timeout penalty and will get a very bad feeling of llvm/clang's speed.
      
      llvm-svn: 194999
      69690e41
    • Alexey Samsonov's avatar
      Unbreak the build after r194997 · 88134e9b
      Alexey Samsonov authored
      llvm-svn: 194998
      88134e9b
    • Alexey Samsonov's avatar
      Revert r194865 and r194874. · 49109a27
      Alexey Samsonov authored
      This change is incorrect. If you delete virtual destructor of both a base class
      and a subclass, then the following code:
        Base *foo = new Child();
        delete foo;
      will not cause the destructor for members of Child class. As a result, I observe
      plently of memory leaks. Notable examples I investigated are:
      ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl.
      
      llvm-svn: 194997
      49109a27
  14. Nov 17, 2013
  15. Nov 16, 2013
  16. Nov 15, 2013
  17. Nov 14, 2013
  18. Nov 13, 2013
  19. Nov 10, 2013
  20. Nov 03, 2013
  21. Nov 01, 2013
    • Rafael Espindola's avatar
      Remove linkonce_odr_auto_hide. · 716e7405
      Rafael Espindola authored
      linkonce_odr_auto_hide was in incomplete attempt to implement a way
      for the linker to hide symbols that are known to be available in every
      TU and whose addresses are not relevant for a particular DSO.
      
      It was redundant in that it all its uses are equivalent to
      linkonce_odr+unnamed_addr. Unlike those, it has never been connected
      to clang or llvm's optimizers, so it was effectively dead.
      
      Given that nothing produces it, this patch just nukes it
      (other than the llvm-c enum value).
      
      llvm-svn: 193865
      716e7405
  22. Oct 31, 2013
  23. Oct 28, 2013
Loading