Skip to content
  1. Mar 25, 2015
    • Justin Bogner's avatar
      test: Fix the dependencies for the check-llvm-* targets · 35b4b1a4
      Justin Bogner authored
      In r233009 we gained specific check-llvm-* build targets for invoking
      specific parts of the test suite, but they were copying the
      dependencies for check-all, rather than just listing the dependencies
      for check-llvm.
      
      This moves the creation of these targets next to the check-llvm
      target, and uses that target's configuration rather than the check-all
      config.
      
      llvm-svn: 233174
      35b4b1a4
    • Rafael Espindola's avatar
      Fix build. · 6d0c397e
      Rafael Espindola authored
      llvm-svn: 233171
      6d0c397e
    • Craig Topper's avatar
      [X86] Remove GetCpuIDAndInfo, GetCpuIDAndInfoEx and DetectFamilyModel... · f2071f26
      Craig Topper authored
      [X86] Remove GetCpuIDAndInfo, GetCpuIDAndInfoEx and DetectFamilyModel functions from X86 MC layer. They haven't been used since CPU autodetection was removed from X86Subtarget.cpp.
      
      llvm-svn: 233170
      f2071f26
    • Lang Hames's avatar
      [Orc] Remove extraneous 'typename'. This should cheer the bots up. · 506d031d
      Lang Hames authored
      llvm-svn: 233168
      506d031d
    • Lang Hames's avatar
      [Orc] Refactor JITCompileCallbackManagerBase and CompileOnDemandLayer to support · 8389b552
      Lang Hames authored
      target-independent callback management.
      
      This is a prerequisite for adding orc-based lazy-jitting to lli.
      
      llvm-svn: 233166
      8389b552
    • Duncan P. N. Exon Smith's avatar
      Linker: Temporarily disable dwarfdump checks from r233164 · 419d523d
      Duncan P. N. Exon Smith authored
      At least one Linux bot [1] doesn't like my dwarfdump checks, so I've
      disable those until I can investigate what's going on there.  I'll
      continue to track this in PR22792.
      
      [1]: http://bb.pgr.jp/builders/cmake-llvm-x86_64-linux/builds/22863
      
      llvm-svn: 233165
      419d523d
    • Duncan P. N. Exon Smith's avatar
      Linker: Drop function pointers for overridden subprograms · 004ced3b
      Duncan P. N. Exon Smith authored
      Instead of dropping subprograms that have been overridden, just set
      their function pointers to `nullptr`.  This is a minor adjustment to the
      stop-gap fix for PR21910 committed in r224487, and fixes the crasher
      from PR22792.
      
      The problem that r224487 put a band-aid on: how do we find the canonical
      subprogram for a `Function`?  Since the backend currently relies on
      `DebugInfoFinder` (which does a naive in-order traversal of compile
      units and picks the first subprogram) for this, r224487 tried dropping
      non-canonical subprograms.
      
      Dropping subprograms fails because the backend *also* builds up a map
      from subprogram to compile unit (`DwarfDebug::SPMap`) based on the
      subprogram lists.  A missing subprogram causes segfaults later when an
      inlined reference (such as in this testcase) is created.
      
      Instead, just drop the `Function` pointer to `nullptr`, which nicely
      mirrors what happens when an already-inlined `Function` is optimized
      out.  We can't really be sure that it's the same definition anyway, as
      the testcase demonstrates.
      
      This still isn't completely satisfactory.  Two flaws at least that I can
      think of:
      
        - I still haven't found a straightforward way to make this symmetric
          in the IR.  (Interestingly, the DWARF output is already symmetric,
          and I've tested for that to be sure we don't regress.)
        - Using `DebugInfoFinder` to find the canonical subprogram for a
          function is kind of crazy.  We should just attach metadata to the
          function, like this:
      
              define weak i32 @foo(i32, i32) !dbg !MDSubprogram(...) {
      
      llvm-svn: 233164
      004ced3b
    • Chandler Carruth's avatar
      [ADT] Teach MapVector to support a swap member. Will be used in · d811ffa5
      Chandler Carruth authored
      a subsequent commit in Clang.
      
      llvm-svn: 233159
      d811ffa5
    • Rafael Espindola's avatar
      Fix warning on non-assert build. · 44cc6548
      Rafael Espindola authored
      llvm-svn: 233158
      44cc6548
    • Rafael Espindola's avatar
      dbb4021b
    • Paul Robinson's avatar
      'optnone' should not disable DAG combiner. · 284f0451
      Paul Robinson authored
      Reverts the code change from r221168 and the relevant test.
      It was a mistake to disable the combiner, and based on the ultimate
      definition of 'optnone' we shouldn't have considered the test case
      as failing in the first place.
      
      llvm-svn: 233153
      284f0451
    • Philip Reames's avatar
      !invariant.load semantics with potentially clobbering calls · 4dbd88f3
      Philip Reames authored
      A load from an invariant location is assumed to not alias any otherwise potentially aliasing stores. Our implementation only applied this rule to store instructions themselves whereas they it should apply for any memory accessing instruction. This results in both FRE and PRE becoming more effective at eliminating invariant loads.
      
      Note that as a follow on change I will likely move this into AliasAnalysis itself. That's where the TBAA constant flag is handled and the semantics are essentially the same. I'd like to separate the semantic change from the refactoring and thus have extended the hack that's already in MemoryDependenceAnalysis for this change.
      
      Differential Revision: http://reviews.llvm.org/D8591
      
      llvm-svn: 233140
      4dbd88f3
    • Rafael Espindola's avatar
      Don't be over eager in evaluating a subtraction with a weak symbol. · c9e7068c
      Rafael Espindola authored
      In a subtraction of the form A - B, if B is weak, there is no way to represent
      that on ELF since all relocations add the value of a symbol.
      
      llvm-svn: 233139
      c9e7068c
    • Reid Kleckner's avatar
      X86: Fix frameescape when not using an FP · 11470c48
      Reid Kleckner authored
      We can't use TargetFrameLowering::getFrameIndexOffset directly, because
      Win64 really wants the offset from the stack pointer at the end of the
      prologue. Instead, use X86FrameLowering::getFrameIndexOffsetFromSP(),
      which is a pretty close approximiation of that. It fails to handle cases
      with interestingly large stack alignments, which is pretty uncommon on
      Win64 and is TODO.
      
      llvm-svn: 233137
      11470c48
    • Justin Bogner's avatar
      Update a test I missed in r233132 · 96966c7b
      Justin Bogner authored
      llvm-svn: 233134
      96966c7b
    • Andrew Kaylor's avatar
      Disabling warnings for MSVC build to enable /W4 use. · 5c73e1f8
      Andrew Kaylor authored
      Differential Revision: http://reviews.llvm.org/D8572
      
      llvm-svn: 233133
      5c73e1f8
    • Justin Bogner's avatar
      llvm-cov: Require a subcommand when invoked as llvm-cov · 5a07bb8b
      Justin Bogner authored
      A while ago llvm-cov gained support for clang's instrumentation based
      profiling in addition to its gcov support, and subcommands were added
      to choose which behaviour to use. When no subcommand was specified, we
      fell back to gcov compatibility with a warning that a subcommand would
      be required in the future. Now, we require the subcommand.
      
      Note that if the basename of llvm-cov is gcov (via symlink or
      hardlink, for example), we still use the gcov compatible behaviour
      with no subcommand required.
      
      llvm-svn: 233132
      5a07bb8b
    • David Blaikie's avatar
      Opaque Pointer Types: GEP API migrations to specify the gep type explicitly · 156d46ed
      David Blaikie authored
      The changes to InstCombine (& SCEV) do seem a bit silly - it doesn't make
      anything obviously better to have the caller access the pointers element
      type (the thing I'm trying to remove) than the GEP itself, but it's a
      helpful migration step. This will allow me to more obviously lock down
      GEP (& Load, etc) API usage, then fix all the code that accesses pointer
      element types except the places that need to be removed (most of the
      InstCombines) anyway - at which point I'll need to just remove all that
      code because it won't be meaningful anymore (there will be no pointer
      types, so no bitcasts to combine)
      
      SCEV looks like it'll need some restructuring - we'll have to do a bit
      more work for GEP canonicalization, since it'll depend on how it's used
      if we can even manage to canonicalize it to a non-ugly GEP. I guess we
      can do some fun stuff like voting (do 2 out of 3 load from the GEP with
      a certain type that gives a pretty GEP? Does every typed use of the GEP
      use either a specific type or a generic type (i8*, etc)?)
      
      llvm-svn: 233131
      156d46ed
    • Frederic Riss's avatar
      [dsymutil] Temporarily disable some tests on windows. · 10e728a4
      Frederic Riss authored
      It seems one windows bot fails since I added ilne table linking to
      llvm-dsymutil (see r232333 commit thread).
      Disable the affected tests until I can figure out what's happening.
      
      llvm-svn: 233130
      10e728a4
  2. Mar 24, 2015
Loading