Skip to content
  1. Jun 12, 2015
  2. Jun 09, 2015
  3. Jun 06, 2015
  4. Jun 05, 2015
  5. Jun 04, 2015
    • Artyom Skrobov's avatar
      Simplify ARMTargetParser::getArchSynonym · 85aebc8c
      Artyom Skrobov authored
      Summary:
      1) The only caller, ARMTargetParser::parseArch, uses the results for an "endswith" test; so, including the "arm" prefix into the result is unnecessary.
      2) Most ARMTargetParser::parseArch callers pass it the output from ARMTargetParser::getCanonicalArchName; so, make this behaviour the default. Then, including the "arm" prefix into the cases is unnecessary.
      
      Reviewers: rengolin
      
      Reviewed By: rengolin
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D10249
      
      llvm-svn: 239099
      85aebc8c
    • Alexei Starovoitov's avatar
      [bpf] add big- and host- endian support · 310deada
      Alexei Starovoitov authored
      Summary:
      -march=bpf    -> host endian
      -march=bpf_le -> little endian
      -match=bpf_be -> big endian
      
      Test Plan:
      v1 was tested by IBM s390 guys and appears to be working there.
      It bit rots too fast here.
      
      Reviewers: chandlerc, tstellarAMD
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D10177
      
      llvm-svn: 239071
      310deada
  6. Jun 02, 2015
  7. May 30, 2015
    • Renato Golin's avatar
      [ARMTargetParser] Move IAS arch ext parser. NFC · 230d2983
      Renato Golin authored
      The plan was to move the whole table into the already existing ArchExtNames
      but some fields depend on a table-generated file, and we don't yet have this
      feature in the generic lib/Support side.
      
      Once the minimum target-specific table-generated files are available in a
      generic fashion to these libraries, we'll have to keep it in the ASM parser.
      
      llvm-svn: 238651
      230d2983
    • Craig Topper's avatar
      Fix indentation. NFC. · 974ed6d3
      Craig Topper authored
      llvm-svn: 238647
      974ed6d3
  8. May 29, 2015
    • Frederic Riss's avatar
      [YAMLIO] Make line-wrapping configurable and test it. · 4939e6a1
      Frederic Riss authored
      Summary:
      We would wrap flow mappings and sequences when they go over a hardcoded 70
      characters limit. Make the wrapping column configurable (and default to 70
      co the change should be NFC for current users). Passing 0 allows to completely
      suppress the wrapping which makes it easier to handle in tools like FileCheck.
      
      Reviewers: bogner
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D10109
      
      llvm-svn: 238584
      4939e6a1
  9. May 28, 2015
  10. May 27, 2015
    • Renato Golin's avatar
      ARMTargetParser: Make BSD Thumb/BE armv6 work · 66b682ab
      Renato Golin authored
      Simple change to make arch like "thumbv6" and "armbev6" to return the
      correct CPU for FreeBSD and NetBSD.
      
      llvm-svn: 238353
      66b682ab
    • Renato Golin's avatar
      ARMTargetParser: Normalising build attributes · f7c0d5f2
      Renato Golin authored
      Now that most of the methods in Clang and LLVM that were parsing arch/cpu/fpu
      strings are using ARMTargetParser, it's time to make it a bit more conforming
      with what the ABI says.
      
      This commit adds some clarification on what build attributes are accepted and
      which are "non-standard". It also makes clear that the "defaultCPU" and
      "defaultArch" methods were really just build attribute getters.
      
      It also diverges from GCC's behaviour to say that armv2/armv3 are really an
      ARMv4 in the build attributes, when the ABI has a clear state for that: Pre-v4.
      
      llvm-svn: 238344
      f7c0d5f2
    • Yaron Keren's avatar
      Avoid creating and destroying a std::string on every iteration. · 90811cb0
      Yaron Keren authored
      llvm-svn: 238343
      90811cb0
    • Alex Lorenz's avatar
      Resubmit r237954 (MIR Serialization: print and parse LLVM IR using MIR format). · 2bdb4e10
      Alex Lorenz authored
      This commit a 3rd attempt at comitting the initial MIR serialization patch.
      The first commit (r237708) was reverted in 237730. Then the second commit
      (r237954) was reverted in r238007, as the MIR library under CodeGen caused
      a circular dependency where the CodeGen library depended on MIR and MIR
      library depended on CodeGen.
      
      This commit has fixed the dependencies between CodeGen and MIR by
      reorganizing the MIR serialization code - the code that prints out
      MIR has been moved to CodeGen, and the MIR library has been renamed
      to MIRParser. Now the CodeGen library doesn't depend on the
      MIRParser library, thus the circular dependency no longer exists.
      
      --Original Commit Message--
      
      MIR Serialization: print and parse LLVM IR using MIR format.
      
      This commit is the initial commit for the MIR serialization project.
      It creates a new library under CodeGen called 'MIR'. This new
      library adds a new machine function pass that prints out the LLVM IR
      using the MIR format. This pass is then added as a last pass when a
      'stop-after' option is used in llc. The new library adds the initial
      functionality for parsing of MIR files as well. This commit also
      extends the llc tool so that it can recognize and parse MIR input files.
      
      Reviewers: Duncan P. N. Exon Smith, Matthias Braun, Philip Reames
      
      Differential Revision: http://reviews.llvm.org/D9616 
      
      llvm-svn: 238341
      2bdb4e10
  11. May 25, 2015
  12. May 24, 2015
    • Renato Golin's avatar
      Move parseSubArch to ARMTargetParser. NFC · fe54d34b
      Renato Golin authored
      Using getCanonicalArchName() is the right way to parse ARM arch names.
      
      Mapping ARMTargetParser IDs to Triple Arch IDs is temporary, until they
      are merged into a TargetDescription class.
      
      This was the last LLVM FIXME to move things to ARMTargetParser. Now on
      to Clang and beyond.
      
      llvm-svn: 238110
      fe54d34b
  13. May 22, 2015
  14. May 21, 2015
    • Alex Lorenz's avatar
      Resubmit r237708 (MIR Serialization: print and parse LLVM IR using MIR format). · c37baf82
      Alex Lorenz authored
      This commit is a 2nd attempt at committing the initial MIR serialization patch.
      The first commit (r237708) made the incremental buildbots unstable and was 
      reverted in r237730. The original commit didn't add a terminating null 
      character to the LLVM IR source which was passed to LLParser, and this 
      sometimes caused the test 'llvmIR.mir' to fail with a parsing error because 
      the LLVM IR source didn't have a null character immediately after the end 
      and thus LLLexer encountered some garbage characters that ultimately caused 
      the error.
      
      This commit also includes the other test fixes I committed in
      r237712 (llc path fix) and r237723 (remove target triple) which
      also got reverted in r237730.
      
      --Original Commit Message--
      
      MIR Serialization: print and parse LLVM IR using MIR format.
      
      This commit is the initial commit for the MIR serialization project.
      It creates a new library under CodeGen called 'MIR'. This new
      library adds a new machine function pass that prints out the LLVM IR 
      using the MIR format. This pass is then added as a last pass when a 
      'stop-after' option is used in llc. The new library adds the initial 
      functionality for parsing of MIR files as well. This commit also 
      extends the llc tool so that it can recognize and parse MIR input files.
      
      Reviewers: Duncan P. N. Exon Smith, Matthias Braun, Philip Reames
      
      Differential Revision: http://reviews.llvm.org/D9616
      
      llvm-svn: 237954
      c37baf82
    • Alex Lorenz's avatar
      YAML: Null terminate block scalar's value. · 481dca23
      Alex Lorenz authored
      The commit null terminates the string value in the `yaml::BlockScalarNode`
      class.
      
      This change is motivated by the initial MIR serialization commit (r237708)
      that I reverted in r237730 because the LLVM IR source from the block
      scalar node wasn't terminated by a null character and thus the buildbots
      failed on one testcase sometimes. This change enables me to recommit 
      the reverted commit. 
      
      llvm-svn: 237942
      481dca23
    • Derek Schuff's avatar
      Fix StreamingMemoryObject to respect known object size. · fcfd5ae8
      Derek Schuff authored
      The existing code for method StreamingMemoryObject.fetchToPos does not respect
      the corresonding call to setKnownObjectSize(). As a result, it allows the
      StreamingMemoryObject to read bytes past the object size.
      
      This patch provides a test case, and code to fix the problem.
      
      Patch by Karl Schimpf
      Differential Revision: http://reviews.llvm.org/D8931
      
      llvm-svn: 237939
      fcfd5ae8
    • Renato Golin's avatar
      Make Triple::parseARMArch use ARMTargetParser · b6b9e056
      Renato Golin authored
      Simplifying Triple::parseARMArch, leaving all the parsing to ARMTargetParser.
      
      This commit also adds AArch64 detection to ARMTargetParser canonicalization,
      and a two RedHat arch names (v{6,7}hl, meaning hard-float / little-endian).
      
      Adding enough unit tests to cover the basics. Clang checks fine.
      
      llvm-svn: 237902
      b6b9e056
    • Renato Golin's avatar
      Remove unnecessary FIXME comment · bea5bd18
      Renato Golin authored
      It has been fixed by commit r237797.
      
      llvm-svn: 237890
      bea5bd18
  15. May 20, 2015
    • Renato Golin's avatar
      Get Triple::getARMCPUForArch() to use TargetParser · e8048f0d
      Renato Golin authored
      First ARMTargetParser FIXME, conservatively changing the way we parse CPUs
      in the back-end. Still not perfect, with a lot of special cases, but moving
      towards a more generic solution.
      
      Moving all logic to the target parser made some unwritten assumptions
      about architectures in Clang to break. I've added a lot of architectures
      required by Clang, and default to CPUs that Clang believes it should
      (and I agree).
      
      I've also added a lot of unit tests, with the correct CPU for each
      architecture, and Clang seems to be working correctly, too.
      
      It also became clear that using "unsigned ID" as the argument for the get
      methods makes it hard to know what ID, so I also changed the argument names
      to match the enum type names.
      
      llvm-svn: 237797
      e8048f0d
  16. May 19, 2015
    • Alex Lorenz's avatar
      Revert r237708 (MIR serialization) - incremental buildbots became unstable. · de1970fe
      Alex Lorenz authored
      The incremental buildbots entered a pass-fail cycle where during the fail
      cycle one of the tests from this commit fails for an unknown reason. I
      have reverted this commit and will investigate the cause of this problem.
      
      llvm-svn: 237730
      de1970fe
    • Alexey Samsonov's avatar
      [DWARF parser] Add basic support for DWZ DWARF multifile extensions. · bf19a578
      Alexey Samsonov authored
      This change implements basic support for DWARF alternate sections
      proposal: http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open
      
      LLVM tools now understand new forms: DW_FORM_GNU_ref_alt and
      DW_FORM_GNU_strp_alt, which are used as references to .debug_info and
      .debug_str sections respectively, stored in a separate file, and
      possibly shared between different executables / shared objects.
      
      llvm-dwarfdump and llvm-symbolizer don't yet know how to access this
      alternate debug file (usually pointed by .gnu_debugaltlink section),
      but they can at lease properly parse and dump regular files, which
      refer to it.
      
      This change should fix crashes of llvm-dwarfdump and llvm-symbolizer on
      files produced by running "dwz" tool. Such files are already installed
      on some modern Linux distributions.
      
      llvm-svn: 237721
      bf19a578
    • Alex Lorenz's avatar
      MIR Serialization: print and parse LLVM IR using MIR format. · c5e0d4d1
      Alex Lorenz authored
      This commit is the initial commit for the MIR serialization project.
      It creates a new library under CodeGen called 'MIR'. This new
      library adds a new machine function pass that prints out the LLVM IR 
      using the MIR format. This pass is then added as a last pass when a 
      'stop-after' option is used in llc. The new library adds the initial 
      functionality for parsing of MIR files as well. This commit also 
      extends the llc tool so that it can recognize and parse MIR input files.
      
      Reviewers: Duncan P. N. Exon Smith, Matthias Braun, Philip Reames
      
      Differential Revision: http://reviews.llvm.org/D9616
      
      llvm-svn: 237708
      c5e0d4d1
    • Yaron Keren's avatar
      Rangify for loop in Cleanup(), NFC. · f4baef0c
      Yaron Keren authored
      llvm-svn: 237695
      f4baef0c
Loading