Skip to content
  1. Jan 25, 2014
    • Rafael Espindola's avatar
      This reverts commit r200064 and r200051. · 14d02fe5
      Rafael Espindola authored
      r200064 depends on r200051.
      
      r200051 is broken: I tries to replace .mips_hack_elf_flags, which is a good
      thing, but what it replaces it with is even worse.
      
      The new emitMipsELFFlags it adds corresponds to no assembly directive, is not
      marked as a hack and is not even printed to the .s file.
      
      The patch also introduces more uses of hasRawTextSupport.
      
      The correct way to remove .mips_hack_elf_flags is to have the mips target
      streamer handle the default flags (and command line options). That way the
      same code path is used for asm and obj. The streamer interface should *really*
      correspond to what is printed in the .s file.
      
      llvm-svn: 200078
      14d02fe5
    • Alp Toker's avatar
      48047f5d
    • Alp Toker's avatar
      Attempt to stabilize the Windows builder · 65dfc8ce
      Alp Toker authored
      llvm-svn: 200076
      65dfc8ce
    • Alp Toker's avatar
      PlistSupport: Unify ARCMigrate / StaticAnalyzer plist writers · bdbcfbf1
      Alp Toker authored
      Reduces the ARCMT migrator plist writer down to a single function,
      arcmt::writeARCDiagsToPlist() which shares supporting functions with the
      analyzer plist writer.
      
      llvm-svn: 200075
      bdbcfbf1
    • Chandler Carruth's avatar
      [LPM] Conclude my immediate work by making the LoopVectorizer · 3aebcb99
      Chandler Carruth authored
      a FunctionPass. With this change the loop vectorizer no longer is a loop
      pass and can readily depend on function analyses. In particular, with
      this change we no longer have to form a loop pass manager to run the
      loop vectorizer which simplifies the entire pass management of LLVM.
      
      The next step here is to teach the loop vectorizer to leverage profile
      information through the profile information providing analysis passes.
      
      llvm-svn: 200074
      3aebcb99
    • Daniel Jasper's avatar
      clang-format: Fix incorrect space removal. · ff974ab8
      Daniel Jasper authored
      Before:
        Deleted &operator=(const Deleted &)&= default;
        Deleted &operator=(const Deleted &)&&= delete;
      
      After:
        Deleted &operator=(const Deleted &)& = default;
        Deleted &operator=(const Deleted &)&& = delete;
      
      llvm-svn: 200073
      ff974ab8
    • Steve Pucci's avatar
      Support for debugging against a remote stock gdbserver. · 5ae54ae6
      Steve Pucci authored
      There are a couple of pieces:
       * some lazy-evaluation members that store info listed in a qSupported response
       * new method SendPacketsAndConcatenateResponses which is used for
         fetching fixed-size objects from the remote gdbserver by using multiple
         packets if necessary (first use will be to fetch shared-library XML files).
      
      llvm-svn: 200072
      5ae54ae6
    • Craig Topper's avatar
      Use isConcrete and getConcrete instead of using TypeVec directly. · 5f730e8e
      Craig Topper authored
      llvm-svn: 200071
      5f730e8e
    • Craig Topper's avatar
      Fix EnforceSmallerThan to check !hasVectorTypes on the other type instead of... · 6dbcb945
      Craig Topper authored
      Fix EnforceSmallerThan to check !hasVectorTypes on the other type instead of this type to force this type to be scalar.
      
      llvm-svn: 200070
      6dbcb945
    • Jason Molenda's avatar
      Change DataExtractor's ReadInt* and ReadSwapInt* routines, as well as · bbef4018
      Jason Molenda authored
      GetU32 and GetU64, to use memcpy to copy bytes into a local buffer instead
      of having a (uint64_t *) etc local variable, pointing to the address, and
      dereferencing it.  If compiled on a CPU where data alignment is required 
      (e.g. the LDM instruction on armv7) and we try to GetU64 out of a mmap'ed 
      DWARF file, that 8 byte quantity may not be world aligned and the program
      can get an unaligned memory access fault.
      
      <rdar://problem/15849231> 
      
      llvm-svn: 200069
      bbef4018
    • Jason Molenda's avatar
      Note that qHostInfo prints the cputype and cpusubtype in base10; · 44115284
      Jason Molenda authored
      qProcessInfo prints the cputype and cpusubtype in base16.
      
      llvm-svn: 200068
      44115284
    • Chandler Carruth's avatar
      [LPM] Make LCSSA a utility with a FunctionPass that applies it to all · 8765cf70
      Chandler Carruth authored
      the loops in a function, and teach LICM to work in the presance of
      LCSSA.
      
      Previously, LCSSA was a loop pass. That made passes requiring it also be
      loop passes and unable to depend on function analysis passes easily. It
      also caused outer loops to have a different "canonical" form from inner
      loops during analysis. Instead, we go into LCSSA form and preserve it
      through the loop pass manager run.
      
      Note that this has the same problem as LoopSimplify that prevents
      enabling its verification -- loop passes which run at the end of the loop
      pass manager and don't preserve these are valid, but the subsequent loop
      pass runs of outer loops that do preserve this pass trigger too much
      verification and fail because the inner loop no longer verifies.
      
      The other problem this exposed is that LICM was completely unable to
      handle LCSSA form. It didn't preserve it and it actually would give up
      on moving instructions in many cases when they were used by an LCSSA phi
      node. I've taught LICM to support detecting LCSSA-form PHI nodes and to
      hoist and sink around them. This may actually let LICM fire
      significantly more because we put everything into LCSSA form to rotate
      the loop before running LICM. =/ Now LICM should handle that fine and
      preserve it correctly. The down side is that LICM has to require LCSSA
      in order to preserve it. This is just a fact of life for LCSSA. It's
      entirely possible we should completely remove LCSSA from the optimizer.
      
      The test updates are essentially accomodating LCSSA phi nodes in the
      output of LICM, and the fact that we now completely sink every
      instruction in ashr-crash below the loop bodies prior to unrolling.
      
      With this change, LCSSA is computed only three times in the pass
      pipeline. One of them could be removed (and potentially a SCEV run and
      a separate LoopPassManager entirely!) if we had a LoopPass variant of
      InstCombine that ran InstCombine on the loop body but refused to combine
      away LCSSA PHI nodes. Currently, this also prevents loop unrolling from
      being in the same loop pass manager is rotate, LICM, and unswitch.
      
      There is one thing that I *really* don't like -- preserving LCSSA in
      LICM is quite expensive. We end up having to re-run LCSSA twice for some
      loops after LICM runs because LICM can undo LCSSA both in the current
      loop and the parent loop. I don't really see good solutions to this
      other than to completely move away from LCSSA and using tools like
      SSAUpdater instead.
      
      llvm-svn: 200067
      8765cf70
    • Jason Molenda's avatar
      Initialize the named_pipe_path in GDBRemoteCommunication::StartDebugserverProcess · 6e20554e
      Jason Molenda authored
      right after the space for it is allocated on the stack, instead of trying
      to initialize it in all the different places in this method.  It's too easy
      for another uninitialized code path to sneak in as it is written right now.
      
      llvm-svn: 200066
      6e20554e
    • Rafael Espindola's avatar
      Remove an easy use of EmitRawText from PPC. · 6b9ee9bc
      Rafael Espindola authored
      This makes lib/Target/PowerPC EmitRawText free.
      
      llvm-svn: 200065
      6b9ee9bc
    • Jack Carter's avatar
      [Mips] Move 2 test cases from MC to CodeGen. · 8150e141
      Jack Carter authored
      No code changes. Just reassignment of test case files.
      
      llvm-svn: 200064
      8150e141
    • Juergen Ributzka's avatar
      Revert "Revert "Add Constant Hoisting Pass" (r200034)" · f26beda7
      Juergen Ributzka authored
      This reverts commit r200058 and adds the using directive for
      ARMTargetTransformInfo to silence two g++ overload warnings.
      
      llvm-svn: 200062
      f26beda7
    • Eric Christopher's avatar
      One more intrinsic. · 58b40439
      Eric Christopher authored
      llvm-svn: 200061
      58b40439
    • Richard Trieu's avatar
      Remove HTML codes from a .rst file. The proper HTML code will be added back · c158c5a0
      Richard Trieu authored
      when the .html file is generated.
      
      llvm-svn: 200060
      c158c5a0
    • Reid Kleckner's avatar
      Fix llvm-dis to print the inalloca bit on allocas. · 2084403a
      Reid Kleckner authored
      llvm-svn: 200059
      2084403a
    • Hans Wennborg's avatar
      Revert "Add Constant Hoisting Pass" (r200034) · 4d67a2e8
      Hans Wennborg authored
      This commit caused -Woverloaded-virtual warnings. The two new
      TargetTransformInfo::getIntImmCost functions were only added to the superclass,
      and to the X86 subclass. The other targets were not updated, and the
      warning highlighted this by pointing out that e.g. ARMTTI::getIntImmCost was
      hiding the two new getIntImmCost variants.
      
      We could pacify the warning by adding "using TargetTransformInfo::getIntImmCost"
      to the various subclasses, or turning it off, but I suspect that it's wrong to
      leave the functions unimplemnted in those targets. The default implementations
      return TCC_Free, which I don't think is right e.g. for ARM.
      
      llvm-svn: 200058
      4d67a2e8
    • Richard Trieu's avatar
      Broaden -Wstring-conversion to catch string literals in logical or expressions. · 955231dd
      Richard Trieu authored
      Previously, string literals were ignored in all logical expressions.  This
      reduces it to only ignore in logical and expressions.
      
      assert(0 && "error"); // No warning
      assert(0 || "error"); // Warn
      
      Fixes PR17565
      
      llvm-svn: 200056
      955231dd
    • Alp Toker's avatar
      Add a proper test for -Wsystem-headers · 6bd95b8a
      Alp Toker authored
      This will be extended as we fix issues in the current implementation.
      
      llvm-svn: 200054
      6bd95b8a
    • Mark Seaborn's avatar
      llvm-objdump: Some style cleanups to follow LLVM coding style · eb03ac50
      Mark Seaborn authored
      Rename "ec" to "EC", and rename some iterators.
      
      Then fix whitespace using clang-format-diff.
      
      (As requested in http://llvm-reviews.chandlerc.com/D2559)
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2594
      
      llvm-svn: 200053
      eb03ac50
    • Rui Ueyama's avatar
      [PECOFF] Use a shorter name for the PECOFF writer member. · 7dc69287
      Rui Ueyama authored
      llvm-svn: 200052
      7dc69287
    • Jack Carter's avatar
      [Mips] TargetStreamer ELF flag Support for default and commandline options. · ca2ae49d
      Jack Carter authored
      This patch uses a common MipsTargetSteamer interface for both 
      MipsAsmPrinter and MipsAsmParser for recording default and commandline
      driven directives that affect ELF header flags.
      
      It has been noted that the .ll tests affected by this patch belong in
      test/Codegen/Mips. I will move them in a separate patch.
      
      Also, a number of directives do not get expressed by AsmPrinter in the 
      resultant .s assembly such as setting the correct ASI. I have noted this
      in the tests and they will be addressed in later patches.
      
      llvm-svn: 200051
      ca2ae49d
    • Aaron Ballman's avatar
      Typo fix. · d98a7099
      Aaron Ballman authored
      llvm-svn: 200050
      d98a7099
  2. Jan 24, 2014
Loading