Skip to content
  1. Mar 24, 2017
  2. Mar 23, 2017
    • Kostya Serebryany's avatar
      6ca44f91
    • Petr Hosek's avatar
      [CMake] Provide an option to disable runtimes build · 2705226a
      Petr Hosek authored
      This could be used to either disable the runtimes build altogether
      or avoid building them but still generate the build targets.
      
      Differential Revision: https://reviews.llvm.org/D31060
      
      llvm-svn: 298653
      2705226a
    • Krzysztof Parzyszek's avatar
      Move spill size and alignment info from MC to TargetRegisterInfo · 17bcb439
      Krzysztof Parzyszek authored
      This is another step towards implementing register classes with
      parametrized register/spill sizes.
      
      Differential Revision: https://reviews.llvm.org/D31299
      
      llvm-svn: 298652
      17bcb439
    • Jessica Paquette's avatar
      [Outliner] Remove unused lambda capture. · 5096a347
      Jessica Paquette authored
      Remove an unused lambda capture that made some bots unhappy.
      
      llvm-svn: 298651
      5096a347
    • Alex Shlyapnikov's avatar
      [asan] Add an interceptor for strtok · 4ab77b9f
      Alex Shlyapnikov authored
      Summary:
      This change addresses https://github.com/google/sanitizers/issues/766. I
      tested the change with make check-asan and the newly added test case.
      
      Reviewers: ygribov, kcc, alekseyshl
      
      Subscribers: kubamracek, llvm-commits
      
      Patch by mrigger
      
      Differential Revision: https://reviews.llvm.org/D30384
      
      llvm-svn: 298650
      4ab77b9f
    • Reid Kleckner's avatar
      [PDB] Use two DBs when dumping the IPI stream · a5d187b0
      Reid Kleckner authored
      Summary:
      When dumping these records from an object file section, we should use
      only one type database. However, when dumping from a PDB, we should use
      two: one for the type stream and one for the IPI stream.
      
      Certain type records that normally live in the .debug$T object file
      section get moved over to the IPI stream of the PDB file and they get
      new indices.
      
      So far, I've noticed that the MSVC linker always moves these records
      into IPI:
      - LF_FUNC_ID
      - LF_MFUNC_ID
      - LF_STRING_ID
      - LF_SUBSTR_LIST
      - LF_BUILDINFO
      - LF_UDT_MOD_SRC_LINE
      
      These records have index fields that can point into TPI or IPI. In
      particular, LF_SUBSTR_LIST and LF_BUILDINFO point to LF_STRING_ID
      records to describe compilation command lines.
      
      I've modified the dumper to have an optional pointer to the item DB, and
      to do type name lookup of these fields in that DB. See printItemIndex.
      The result is that our pdbdump-headers.test is more faithful to the PDB
      contents and the output is less confusing.
      
      Reviewers: ruiu
      
      Subscribers: amccarth, zturner, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D31309
      
      llvm-svn: 298649
      a5d187b0
    • Jessica Paquette's avatar
      [Outliner] Fix compile-time overhead for candidate choice · acffa28c
      Jessica Paquette authored
      The old candidate collection method in the outliner caused some very large
      regressions in compile time on large tests. For MultiSource/Benchmarks/7zip it
      caused a 284.07 s or 1156% increase in compile time. On average, using the
      SingleSource/MultiSource tests, it caused an average increase of 8 seconds in
      compile time (something like 1000%).
      
      This commit replaces that candidate collection method with a new one which
      only visits each node in the tree once. This reduces the worst compile time
      increase (still 7zip) to a 0.542 s overhead (22%) and the average compile time
      increase on SingleSource and MultiSource to 0.018 s (4%).
      
      llvm-svn: 298648
      acffa28c
    • Dehao Chen's avatar
      Update the SamplePGO test to verify that unroll/icp is not invoked in thinlto compile phase. · 1240bd31
      Dehao Chen authored
      Summary: This is the test added for https://reviews.llvm.org/D31217
      
      Reviewers: tejohnson, mehdi_amini
      
      Reviewed By: tejohnson
      
      Subscribers: cfe-commits, Prazek
      
      Differential Revision: https://reviews.llvm.org/D31219
      
      llvm-svn: 298647
      1240bd31
    • Dehao Chen's avatar
      Disable loop unrolling and icp in SamplePGO ThinLTO compile phase · 8c886719
      Dehao Chen authored
      Summary:
      loop unrolling and icp will make the sample profile annotation much harder in the backend. So disable these 2 optimization in the ThinLTO compile phase.
      Will add a test in cfe in a separate patch.
      
      Reviewers: tejohnson
      
      Reviewed By: tejohnson
      
      Subscribers: mehdi_amini, llvm-commits, Prazek
      
      Differential Revision: https://reviews.llvm.org/D31217
      
      llvm-svn: 298646
      8c886719
    • Richard Smith's avatar
      63dee972
    • Craig Topper's avatar
      [InstCombine] Remove some code from visitAnd that dealt with trying to reduce... · 74494d01
      Craig Topper authored
      [InstCombine] Remove some code from visitAnd that dealt with trying to reduce the LHS of a sub to 0. This should now be fully handled by SimplifyDemandedInstructionBits now.
      
      Now that we call ShrinkDemandedConstant on the RHS of sub this should be taken care of. This code doesn't trigger on any in tree regressions, but did before ShrinkDemandedConstant was added to the RHS.
      
      llvm-svn: 298644
      74494d01
    • Erich Keane's avatar
      LLVM Changes for alloc_align · ee1fac61
      Erich Keane authored
      GCC has the alloc_align attribute, which is similar to assume_aligned, except the attribute's parameter is the index of the integer parameter that needs aligning to.
      
      This is the required LLVM changes to make this happen.
      
      Differential Revision: https://reviews.llvm.org/D29598
      
      llvm-svn: 298643
      ee1fac61
    • Adrian Prantl's avatar
      Zero-Initialize PrevInstBB when entering a new MachineFunction. · 8f333795
      Adrian Prantl authored
      It is not guaranteed that the memory used for MachineBasicBlocks in
      the previous MachineFunction hasn't been freed, so holding on to a
      pointer to the last function's isn't correct. Particularly I have
      observed the sret.ll testcase failing because the first BasicBlock in
      the new function happened to be allocated to the exact same memory as
      the previously saved and (deleted) PrevInstBB.
      
      llvm-svn: 298642
      8f333795
    • Gil Rapaport's avatar
      [LV] Add regression test for r297610 · 638d4538
      Gil Rapaport authored
      The new test asserts that scalarized memory operations get memcheck metadata
      added even if the loop is only unrolled.
      
      Differential Revision: https://reviews.llvm.org/D30972
      
      llvm-svn: 298641
      638d4538
    • Anna Thomas's avatar
      [LVIPrinterPass] Print LVI info for function arguments · a8ce8fa7
      Anna Thomas authored
      Using AssemblyAnnotationWriter for LVI printer prints
      for instructions and basic blocks.
      So, we explicitly need to print LVI info for the arguments of the function (these
      are values and not instructions).
      
      llvm-svn: 298640
      a8ce8fa7
    • Teresa Johnson's avatar
      [ThinLTO] Clang support for emitting minimized bitcode for thin link · 488d1dc0
      Teresa Johnson authored
      Summary:
      Clang companion patch to LLVM patch D31027, which adds support
      for emitting minimized bitcode file for use in the thin link step.
      Add a cc1 option -fthin-link-bitcode=<file> to trigger this behavior.
      
      Depends on D31027.
      
      Reviewers: mehdi_amini, pcc
      
      Subscribers: cfe-commits, Prazek
      
      Differential Revision: https://reviews.llvm.org/D31050
      
      llvm-svn: 298639
      488d1dc0
    • Teresa Johnson's avatar
      [ThinLTO] Add support for emitting minimized bitcode for thin link · 0c6a4ff8
      Teresa Johnson authored
      Summary:
      The cumulative size of the bitcode files for a very large application
      can be huge, particularly with -g. In a distributed build environment,
      all of these files must be sent to the remote build node that performs
      the thin link step, and this can exceed size limits.
      
      The thin link actually only needs the summary along with a bitcode
      symbol table. Until we have a proper bitcode symbol table, simply
      stripping the debug metadata results in significant size reduction.
      
      Add support for an option to additionally emit minimized bitcode
      modules, just for use in the thin link step, which for now just strips
      all debug metadata. I plan to add a cc1 option so this can be invoked
      easily during the compile step.
      
      However, care must be taken to ensure that these minimized thin link
      bitcode files produce the same index as with the original bitcode files,
      as these original bitcode files will be used in the backends.
      
      Specifically:
      1) The module hash used for caching is typically produced by hashing the
      written bitcode, and we want to include the hash that would correspond
      to the original bitcode file. This is because we want to ensure that
      changes in the stripped portions affect caching. Added plumbing to emit
      the same module hash in the minimized thin link bitcode file.
      2) The module paths in the index are constructed from the module ID of
      each thin linked bitcode, and typically is automatically generated from
      the input file path. This is the path used for finding the modules to
      import from, and obviously we need this to point to the original bitcode
      files. Added gold-plugin support to take a suffix replacement during the
      thin link that is used to override the identifier on the MemoryBufferRef
      constructed from the loaded thin link bitcode file. The assumption is
      that the build system can specify that the minimized bitcode file has a
      name that is similar but uses a different suffix (e.g. out.thinlink.bc
      instead of out.o).
      
      Added various tests to ensure that we get identical index files out of
      the thin link step.
      
      Reviewers: mehdi_amini, pcc
      
      Subscribers: Prazek, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D31027
      
      llvm-svn: 298638
      0c6a4ff8
    • Eric Christopher's avatar
      c78be4d3
    • Kostya Kortchinsky's avatar
      [scudo] Add test exercising pthreads · 69d458fa
      Kostya Kortchinsky authored
      Summary: Scudo didn't have any test using multiple threads. Add one, borrowed from lsan.
      
      Reviewers: kcc, alekseyshl
      
      Reviewed By: alekseyshl
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D31297
      
      llvm-svn: 298636
      69d458fa
    • Erich Keane's avatar
      Correct class-template deprecation behavior-REDUX · a32910da
      Erich Keane authored
      Correct class-template deprecation behavior
      
      Based on the comment in the test, and my reading of the standard, a deprecated warning should be issued in the following case:
      template<typename T> [[deprecated]] class Foo{}; Foo<int> f;
      
      This was not the case, because the ClassTemplateSpecializationDecl creation did not also copy the deprecated attribute.
      
      Note: I did NOT audit the complete set of attributes to see WHICH ones should be copied, so instead I simply copy ONLY the deprecated attribute.
      
      Previous DiffRev: https://reviews.llvm.org/D27486, was reverted.
      This patch fixes the issues brought up here by the reverter: https://reviews.llvm.org/rL298410
      
      Differential Revision: https://reviews.llvm.org/D31245
      
      llvm-svn: 298634
      a32910da
    • Nirav Dave's avatar
      [X86] Fix Stale SDNode use in X86ISelDAGtoDAG · 9ebefeb9
      Nirav Dave authored
      Summary: Fixes pr32329.
      
      Reviewers: spatel, craig.topper
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D31286
      
      llvm-svn: 298633
      9ebefeb9
    • Rui Ueyama's avatar
      Fix varaible names that correspond to command line options. · 0cbf1fd2
      Rui Ueyama authored
      llvm-svn: 298632
      0cbf1fd2
Loading