Skip to content
  1. Dec 20, 2013
  2. Dec 19, 2013
    • Tobias Grosser's avatar
      www: Add favicon · 0f610826
      Tobias Grosser authored
      llvm-svn: 197739
      0f610826
    • Tobias Grosser's avatar
      www: Add nice header · ca4ca288
      Tobias Grosser authored
      llvm-svn: 197738
      ca4ca288
    • Nick Kledzik's avatar
      [lld] fix unused variable warnings · fc3a975d
      Nick Kledzik authored
      llvm-svn: 197737
      fc3a975d
    • Ted Kremenek's avatar
      16545118
    • David Peixotto's avatar
      Ensure deterministic when printing ARM assembler constant pools · 52303f6e
      David Peixotto authored
      We dump any non-empty assembler constant pools after a successful
      parse of an assembly file that uses the ldr pseudo opcode. These
      per-section constant pools should be output in a deterministic order
      to ensure that we always generate the same output when printing the
      output with an AsmStreamer.
      
      This patch changes the map data struture used to associate a section
      with its constant pool to a MapVector to ensure deterministic
      output. Because this map type does not support deletion, we now
      check that the constant pool is not empty before dumping its entries
      and clear the entries after emitting them with the streamer.
      
      llvm-svn: 197735
      52303f6e
    • Nick Kledzik's avatar
      [lld] fix build when LLVM_HAS_VARIADIC_TEMPLATES is false · 58089e13
      Nick Kledzik authored
      llvm-svn: 197734
      58089e13
    • Jordan Rose's avatar
      [analyzer] Always use 'bool' as the SValBuilder condition type in C++. · 7ae33624
      Jordan Rose authored
      We have assertions for this, but a few edge cases had snuck through where
      we were still unconditionally using 'int'.
      
      <rdar://problem/15703011>
      
      llvm-svn: 197733
      7ae33624
    • Nick Kledzik's avatar
      [lld] fix unused variable warning in non-debug builds · a1a22edd
      Nick Kledzik authored
      llvm-svn: 197732
      a1a22edd
    • Kevin Enderby's avatar
      Revert my change to the X86 assembler for intel syntax to work with · d6f2a637
      Kevin Enderby authored
      directional labels.  Because it doesn't work for windows :)
      
      llvm-svn: 197731
      d6f2a637
    • Ted Kremenek's avatar
      Remove dead code identified by Aaron Ballman. · ec690e96
      Ted Kremenek authored
      llvm-svn: 197730
      ec690e96
    • Aaron Ballman's avatar
    • Kevin Enderby's avatar
      Changed the X86 assembler for intel syntax to work with directional labels. · 592d3ac2
      Kevin Enderby authored
      The X86 assembler has a separate code to parser the intel assembly syntax
      in X86AsmParser::ParseIntelOperand().  This did not parse directional labels.
      And if something like 1f was used as a branch target it would get an
      "Unexpected token" error.
      
      The fix starts in X86AsmParser::ParseIntelExpression() in the case for
      AsmToken::Integer, it needs to grab the IntVal from the current token
      then look for a 'b' or 'f' following the Integer.  Then it basically needs to
      do what is done in AsmParser::parsePrimaryExpr() for directional
      labels.  It saves the MCExpr it creates in the IntelExprStateMachine
      in the Sym field.
      
      When it returns to X86AsmParser::ParseIntelOperand() it looks
      for a non-zero Sym field in the IntelExprStateMachine and if
      set it creates a memory operand not an immediate operand
      it would normally do for the Integer.
      
      rdar://14961158
      
      llvm-svn: 197728
      592d3ac2
    • Nick Kledzik's avatar
      [lld] Introduce registry and Reference kind tuple · e5552777
      Nick Kledzik authored
      The main changes are in:
        include/lld/Core/Reference.h
        include/lld/ReaderWriter/Reader.h
      Everything else is details to support the main change.
      
      1) Registration based Readers
      Previously, lld had a tangled interdependency with all the Readers.  It would
      have been impossible to make a streamlined linker (say for a JIT) which
      just supported one file format and one architecture (no yaml, no archives, etc).
      The old model also required a LinkingContext to read an object file, which
      would have made .o inspection tools awkward.
      
      The new model is that there is a global Registry object. You programmatically 
      register the Readers you want with the registry object. Whenever you need to 
      read/parse a file, you ask the registry to do it, and the registry tries each 
      registered reader.
      
      For ease of use with the existing lld code base, there is one Registry
      object inside the LinkingContext object. 
      
      
      2) Changing kind value to be a tuple
      Beside Readers, the registry also keeps track of the mapping for Reference
      Kind values to and from strings.  Along with that, this patch also fixes
      an ambiguity with the previous Reference::Kind values.  The problem was that
      we wanted to reuse existing relocation type values as Reference::Kind values.
      But then how can the YAML write know how to convert a value to a string? The
      fix is to change the 32-bit Reference::Kind into a tuple with an 8-bit namespace
      (e.g. ELF, COFFF, etc), an 8-bit architecture (e.g. x86_64, PowerPC, etc), and
      a 16-bit value.  This tuple system allows conversion to and from strings with 
      no ambiguities.
      
      llvm-svn: 197727
      e5552777
Loading