FailedChanges

Summary

  1. [NFC] Simplify check in guard widening
  2. [llvm-objcopy] Allow regular expressions in name comparison Differential revision: https://reviews.llvm.org/D57517
  3. [DebugInfo]Print correct value for special opcode address increment The wrong variable was being used when printing the address increment in verbose output of .debug_line. This patch fixes this. Reviewed by: JDevlieghere Differential Revision: https://reviews.llvm.org/D57693
  4. [DebugInfo][llvm-symbolizer]Add some tests for edge cases when symbolizing This patch adds half a dozen new tests that test various edge cases in the behaviour of the symbolizer and DWARF data parsing. All of them test the current behaviour. Reviewed by: JDevlieghere, aprantl Differential Revision: https://reviews.llvm.org/D57741
  5. [clangd] Add CLI flag "-clang-tidy" to enable/disable running clang-tidy checks. Reviewers: sammccall Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57746
  6. [clangd] Some minor fixes. Reviewers: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57755
  7. [yaml::BinaryRef] Slight perf tuning (for llvm-exegesis analysis mode) Summary: llvm-exegesis uses this functionality to read it's benchmark dumps. This reading of `.yaml`s takes ~60% of runtime for 14656 benchmark points (i.e. one sweep over all x86 instructions), but only 30% of time for 3x as much benchmark points. In particular, this `BinaryRef` appears to be an obvious pain point. Without patch: ``` $ perf stat -r 25 ./bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file="" -analysis-inconsistencies-output-file=/tmp/clusters-orig.html no exegesis target for x86_64-unknown-linux-gnu, using default Parsed 14656 benchmark points Printing sched class consistency analysis results to file '/tmp/clusters-orig.html' ... no exegesis target for x86_64-unknown-linux-gnu, using default Parsed 14656 benchmark points Printing sched class consistency analysis results to file '/tmp/clusters-orig.html' Performance counter stats for './bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file= -analysis-inconsistencies-output-file=/tmp/clusters-orig.html' (25 runs): 972.86 msec task-clock # 0.994 CPUs utilized ( +- 0.25% ) 30 context-switches # 30.774 M/sec ( +- 21.74% ) 0 cpu-migrations # 0.370 M/sec ( +- 67.81% ) 11873 page-faults # 12211.512 M/sec ( +- 0.00% ) 3898373408 cycles # 4009682.186 GHz ( +- 0.25% ) (83.12%) 360399748 stalled-cycles-frontend # 9.24% frontend cycles idle ( +- 0.54% ) (83.24%) 1099450483 stalled-cycles-backend # 28.20% backend cycles idle ( +- 0.59% ) (33.63%) 4910528820 instructions # 1.26 insn per cycle # 0.22 stalled cycles per insn ( +- 0.13% ) (50.21%) 1111976775 branches # 1143726625.854 M/sec ( +- 0.10% ) (66.77%) 23248474 branch-misses # 2.09% of all branches ( +- 0.19% ) (83.29%) 0.97850 +- 0.00647 seconds time elapsed ( +- 0.66% ) ``` With the patch: ``` $ perf stat -r 25 ./bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file="" -analysis-inconsistencies-output-file=/tmp/clusters-new.html no exegesis target for x86_64-unknown-linux-gnu, using default Parsed 14656 benchmark points Printing sched class consistency analysis results to file '/tmp/clusters-new.html' ... no exegesis target for x86_64-unknown-linux-gnu, using default Parsed 14656 benchmark points Printing sched class consistency analysis results to file '/tmp/clusters-new.html' Performance counter stats for './bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file= -analysis-inconsistencies-output-file=/tmp/clusters-new.html' (25 runs): 905.29 msec task-clock # 0.999 CPUs utilized ( +- 0.11% ) 15 context-switches # 16.533 M/sec ( +- 32.27% ) 0 cpu-migrations # 0.000 K/sec 11873 page-faults # 13121.789 M/sec ( +- 0.00% ) 3627759720 cycles # 4009283.100 GHz ( +- 0.11% ) (83.19%) 370401480 stalled-cycles-frontend # 10.21% frontend cycles idle ( +- 0.22% ) (83.19%) 1007114438 stalled-cycles-backend # 27.76% backend cycles idle ( +- 0.34% ) (33.62%) 4414014304 instructions # 1.22 insn per cycle # 0.23 stalled cycles per insn ( +- 0.08% ) (50.36%) 1003751700 branches # 1109314021.971 M/sec ( +- 0.07% ) (66.97%) 24611010 branch-misses # 2.45% of all branches ( +- 0.10% ) (83.41%) 0.90593 +- 0.00105 seconds time elapsed ( +- 0.12% ) ``` So this decreases the overall run time of llvm-exegesis analysis mode (on one sweep) by roughly -7%. To be noted, `BinaryRef::writeAsBinary()` change is the reason for the perf changes, usage of `llvm::isHexDigit()` instead of `isxdigit()` does not appear to have any perf impact, i have only changed it "for symmetry". `writeAsBinary()` change is correct, it produces identical de-hex-ified buffer, and the final output is thus identical: ``` $ sha512sum /tmp/clusters-* db4bbd904fe8840853b589b032c5041bc060b91bcd9c27b914b56581fbc473550eea74b852238c79963b5adf2419f379e9f5db76784048b48e3937f9f3e732bf /tmp/clusters-new.html db4bbd904fe8840853b589b032c5041bc060b91bcd9c27b914b56581fbc473550eea74b852238c79963b5adf2419f379e9f5db76784048b48e3937f9f3e732bf /tmp/clusters-orig.html ``` Reviewers: silvas, espindola, sbc100, zturner, courbet, gchatelet Reviewed By: gchatelet Subscribers: tschuett, RKSimon, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57699
  8. Fix misspelled filenames in file headers of llvm/{MC,Object,CodeGen}/*.h
  9. [NFC] Factor out detatchment of dead blocks from their erasing
  10. [LoopSimplifyCFG] Do not count dead exit blocks twice, make CFG simpler
  11. [NFC] Revert rL353274
  12. [NFC] Extend API of DeleteDeadBlock(s) to collect updates without DTU
  13. [NFC] Replace readonly SmallVectorImpl with ArrayRef
  14. [HotColdSplit] Move splitting after instrumented PGO use Summary: Follow up to D57082 which moved splitting earlier in the pipeline, in order to perform it before inlining. However, it was moved too early, before the IR is annotated with instrumented PGO data. This caused the splitting to incorrectly determine cold functions. Move it to just after PGO annotation (still before inlining), in both pass managers. Reviewers: vsk, hiraditya, sebpop Subscribers: mehdi_amini, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57805
  15. [CMake] Unify scripts for generating VCS headers Previously, there were two different scripts for generating VCS headers: one used by LLVM and one used by Clang and lldb. They were both similar, but different. They were both broken in their own ways, for example the one used by Clang didn't properly handle monorepo resulting in an incorrect version information reported by Clang. This change unifies two the scripts by introducing a new script that's used from both LLVM, Clang and lldb, ensures that the new script supports both monorepo and standalone SVN and Git setups, and removes the old scripts. Differential Revision: https://reviews.llvm.org/D57063
  16. [AliasSetTracker] Minor style tweak to avoid a variable w/two distinct live ranges [NFC]
  17. [Test] Add codegen tests for unordered and monotonic integer operations
  18. Move DomTreeUpdater from IR to Analysis DomTreeUpdater depends on headers from Analysis, but is in IR. This is a layering violation since Analysis depends on IR. Relocate this code from IR to Analysis to fix the layering violation.
Revision 353290 by mkazantsev:
[NFC] Simplify check in guard widening
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/GuardWidening.cpp (diff)llvm.src/lib/Transforms/Scalar/GuardWidening.cpp
Revision 353289 by evgeny777:
[llvm-objcopy] Allow regular expressions in name comparison

Differential revision: https://reviews.llvm.org/D57517
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/globalize.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/globalize.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/keep-global-symbols.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/keep-global-symbols.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/keep-many.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/keep-many.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/keep-only-section.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/keep-only-section.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/keep-symbol.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/keep-symbol.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/localize.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/localize.test
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/regex.testllvm.src/test/tools/llvm-objcopy/ELF/regex.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/remove-section.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/remove-section.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-symbol.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/strip-symbol.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/weaken.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/weaken.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.h (diff)llvm.src/tools/llvm-objcopy/CopyConfig.h
The file was modified/llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td (diff)llvm.src/tools/llvm-objcopy/ObjcopyOpts.td
The file was modified/llvm/trunk/tools/llvm-objcopy/StripOpts.td (diff)llvm.src/tools/llvm-objcopy/StripOpts.td
Revision 353288 by jhenderson:
[DebugInfo]Print correct value for special opcode address increment

The wrong variable was being used when printing the address increment in
verbose output of .debug_line. This patch fixes this.

Reviewed by: JDevlieghere

Differential Revision: https://reviews.llvm.org/D57693
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp (diff)llvm.src/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modified/llvm/trunk/test/tools/llvm-dwarfdump/X86/verbose.test (diff)llvm.src/test/tools/llvm-dwarfdump/X86/verbose.test
Revision 353286 by jhenderson:
[DebugInfo][llvm-symbolizer]Add some tests for edge cases when symbolizing

This patch adds half a dozen new tests that test various edge cases in
the behaviour of the symbolizer and DWARF data parsing. All of them test
the current behaviour.

Reviewed by: JDevlieghere, aprantl

Differential Revision: https://reviews.llvm.org/D57741
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/DebugInfo/Inputs/symbolize-64bit-addr.cllvm.src/test/DebugInfo/Inputs/symbolize-64bit-addr.c
The file was added/llvm/trunk/test/DebugInfo/Inputs/symbolize-64bit-addr.elf.x86_64llvm.src/test/DebugInfo/Inputs/symbolize-64bit-addr.elf.x86_64
The file was added/llvm/trunk/test/DebugInfo/symbolize-64bit-address.testllvm.src/test/DebugInfo/symbolize-64bit-address.test
The file was added/llvm/trunk/test/DebugInfo/symbolize-absolute-path-in-debug-line.sllvm.src/test/DebugInfo/symbolize-absolute-path-in-debug-line.s
The file was added/llvm/trunk/test/DebugInfo/symbolize-no-debug-str.testllvm.src/test/DebugInfo/symbolize-no-debug-str.test
The file was added/llvm/trunk/test/DebugInfo/symbolize-shared-abbrev.sllvm.src/test/DebugInfo/symbolize-shared-abbrev.s
The file was added/llvm/trunk/test/DebugInfo/symbolize-stripped-sections.testllvm.src/test/DebugInfo/symbolize-stripped-sections.test
The file was added/llvm/trunk/test/tools/llvm-symbolizer/invalid-input-address.testllvm.src/test/tools/llvm-symbolizer/invalid-input-address.test
Revision 353284 by hokein:
[clangd] Add CLI flag "-clang-tidy" to enable/disable running clang-tidy checks.

Reviewers: sammccall

Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D57746
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp (diff)clang-tools-extra.src/clangd/tool/ClangdMain.cpp
Revision 353283 by hokein:
[clangd] Some minor fixes.

Reviewers: ilya-biryukov

Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D57755
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/Selection.cpp (diff)clang-tools-extra.src/clangd/Selection.cpp
The file was modified/clang-tools-extra/trunk/clangd/refactor/Tweak.h (diff)clang-tools-extra.src/clangd/refactor/Tweak.h
The file was modified/clang-tools-extra/trunk/unittests/clangd/SelectionTests.cpp (diff)clang-tools-extra.src/unittests/clangd/SelectionTests.cpp
The file was modified/clang-tools-extra/trunk/unittests/clangd/TweakTests.cpp (diff)clang-tools-extra.src/unittests/clangd/TweakTests.cpp
Revision 353282 by lebedevri:
[yaml::BinaryRef] Slight perf tuning (for llvm-exegesis analysis mode)

Summary:
llvm-exegesis uses this functionality to read it's benchmark dumps.
This reading of `.yaml`s takes ~60% of runtime for 14656 benchmark points (i.e. one sweep over all x86 instructions),
but only 30% of time for 3x as much benchmark points.

In particular, this `BinaryRef` appears to be an obvious pain point.
Without patch:
```
$ perf stat -r 25 ./bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file="" -analysis-inconsistencies-output-file=/tmp/clusters-orig.html
no exegesis target for x86_64-unknown-linux-gnu, using default
Parsed 14656 benchmark points
Printing sched class consistency analysis results to file '/tmp/clusters-orig.html'
...
no exegesis target for x86_64-unknown-linux-gnu, using default
Parsed 14656 benchmark points
Printing sched class consistency analysis results to file '/tmp/clusters-orig.html'

Performance counter stats for './bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file= -analysis-inconsistencies-output-file=/tmp/clusters-orig.html' (25 runs):

            972.86 msec task-clock                #    0.994 CPUs utilized            ( +-  0.25% )
                30      context-switches          #   30.774 M/sec                    ( +- 21.74% )
                 0      cpu-migrations            #    0.370 M/sec                    ( +- 67.81% )
             11873      page-faults               # 12211.512 M/sec                   ( +-  0.00% )
        3898373408      cycles                    # 4009682.186 GHz                   ( +-  0.25% )  (83.12%)
         360399748      stalled-cycles-frontend   #    9.24% frontend cycles idle     ( +-  0.54% )  (83.24%)
        1099450483      stalled-cycles-backend    #   28.20% backend cycles idle      ( +-  0.59% )  (33.63%)
        4910528820      instructions              #    1.26  insn per cycle
                                                  #    0.22  stalled cycles per insn  ( +-  0.13% )  (50.21%)
        1111976775      branches                  # 1143726625.854 M/sec              ( +-  0.10% )  (66.77%)
          23248474      branch-misses             #    2.09% of all branches          ( +-  0.19% )  (83.29%)

           0.97850 +- 0.00647 seconds time elapsed  ( +-  0.66% )
```
With the patch:
```
$ perf stat -r 25 ./bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file="" -analysis-inconsistencies-output-file=/tmp/clusters-new.html
no exegesis target for x86_64-unknown-linux-gnu, using default
Parsed 14656 benchmark points
Printing sched class consistency analysis results to file '/tmp/clusters-new.html'
...
no exegesis target for x86_64-unknown-linux-gnu, using default
Parsed 14656 benchmark points
Printing sched class consistency analysis results to file '/tmp/clusters-new.html'

Performance counter stats for './bin/llvm-exegesis -mode=analysis -analysis-epsilon=1.0 -benchmarks-file=/tmp/benchmarks-inverse_throughput-onefull.yaml -analysis-clusters-output-file= -analysis-inconsistencies-output-file=/tmp/clusters-new.html' (25 runs):

            905.29 msec task-clock                #    0.999 CPUs utilized            ( +-  0.11% )
                15      context-switches          #   16.533 M/sec                    ( +- 32.27% )
                 0      cpu-migrations            #    0.000 K/sec
             11873      page-faults               # 13121.789 M/sec                   ( +-  0.00% )
        3627759720      cycles                    # 4009283.100 GHz                   ( +-  0.11% )  (83.19%)
         370401480      stalled-cycles-frontend   #   10.21% frontend cycles idle     ( +-  0.22% )  (83.19%)
        1007114438      stalled-cycles-backend    #   27.76% backend cycles idle      ( +-  0.34% )  (33.62%)
        4414014304      instructions              #    1.22  insn per cycle
                                                  #    0.23  stalled cycles per insn  ( +-  0.08% )  (50.36%)
        1003751700      branches                  # 1109314021.971 M/sec              ( +-  0.07% )  (66.97%)
          24611010      branch-misses             #    2.45% of all branches          ( +-  0.10% )  (83.41%)

           0.90593 +- 0.00105 seconds time elapsed  ( +-  0.12% )
```
So this decreases the overall run time of llvm-exegesis analysis mode (on one sweep) by roughly -7%.

To be noted, `BinaryRef::writeAsBinary()` change is the reason for the perf changes,
usage of `llvm::isHexDigit()` instead of `isxdigit()` does not appear to have any perf impact,
i have only changed it "for symmetry".

`writeAsBinary()` change is correct, it produces identical de-hex-ified buffer, and the final output is thus identical:
```
$ sha512sum /tmp/clusters-*
db4bbd904fe8840853b589b032c5041bc060b91bcd9c27b914b56581fbc473550eea74b852238c79963b5adf2419f379e9f5db76784048b48e3937f9f3e732bf  /tmp/clusters-new.html
db4bbd904fe8840853b589b032c5041bc060b91bcd9c27b914b56581fbc473550eea74b852238c79963b5adf2419f379e9f5db76784048b48e3937f9f3e732bf  /tmp/clusters-orig.html
```

Reviewers: silvas, espindola, sbc100, zturner, courbet, gchatelet

Reviewed By: gchatelet

Subscribers: tschuett, RKSimon, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57699
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ObjectYAML/YAML.cpp (diff)llvm.src/lib/ObjectYAML/YAML.cpp
Revision 353278 by maskray:
Fix misspelled filenames in file headers of llvm/{MC,Object,CodeGen}/*.h
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/Legalizer.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/Legalizer.h
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineInstrBundle.h (diff)llvm.src/include/llvm/CodeGen/MachineInstrBundle.h
The file was modified/llvm/trunk/include/llvm/CodeGen/MachinePostDominators.h (diff)llvm.src/include/llvm/CodeGen/MachinePostDominators.h
The file was modified/llvm/trunk/include/llvm/CodeGen/PBQPRAConstraint.h (diff)llvm.src/include/llvm/CodeGen/PBQPRAConstraint.h
The file was modified/llvm/trunk/include/llvm/CodeGen/ScheduleDFS.h (diff)llvm.src/include/llvm/CodeGen/ScheduleDFS.h
The file was modified/llvm/trunk/include/llvm/MC/ConstantPools.h (diff)llvm.src/include/llvm/MC/ConstantPools.h
The file was modified/llvm/trunk/include/llvm/MC/MCCodePadder.h (diff)llvm.src/include/llvm/MC/MCCodePadder.h
The file was modified/llvm/trunk/include/llvm/Object/Wasm.h (diff)llvm.src/include/llvm/Object/Wasm.h
Revision 353277 by mkazantsev:
[NFC] Factor out detatchment of dead blocks from their erasing
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/BasicBlockUtils.h (diff)llvm.src/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpp (diff)llvm.src/lib/Transforms/Utils/BasicBlockUtils.cpp
Revision 353276 by mkazantsev:
[LoopSimplifyCFG] Do not count dead exit blocks twice, make CFG simpler
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopSimplifyCFG.cpp (diff)llvm.src/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modified/llvm/trunk/test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll (diff)llvm.src/test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll
Revision 353275 by mkazantsev:
[NFC] Revert rL353274
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/BasicBlockUtils.h (diff)llvm.src/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpp (diff)llvm.src/lib/Transforms/Utils/BasicBlockUtils.cpp
Revision 353274 by mkazantsev:
[NFC] Extend API of DeleteDeadBlock(s) to collect updates without DTU
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/BasicBlockUtils.h (diff)llvm.src/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpp (diff)llvm.src/lib/Transforms/Utils/BasicBlockUtils.cpp
Revision 353273 by mkazantsev:
[NFC] Replace readonly SmallVectorImpl with ArrayRef
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/BasicBlockUtils.h (diff)llvm.src/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpp (diff)llvm.src/lib/Transforms/Utils/BasicBlockUtils.cpp
Revision 353270 by tejohnson:
[HotColdSplit] Move splitting after instrumented PGO use

Summary:
Follow up to D57082 which moved splitting earlier in the pipeline, in
order to perform it before inlining. However, it was moved too early,
before the IR is annotated with instrumented PGO data. This caused the
splitting to incorrectly determine cold functions.

Move it to just after PGO annotation (still before inlining), in both
pass managers.

Reviewers: vsk, hiraditya, sebpop

Subscribers: mehdi_amini, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57805
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cpp (diff)llvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (diff)llvm.src/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was added/llvm/trunk/test/Other/Inputs/pass-pipelines.proftextllvm.src/test/Other/Inputs/pass-pipelines.proftext
The file was modified/llvm/trunk/test/Other/new-pm-pgo.ll (diff)llvm.src/test/Other/new-pm-pgo.ll
The file was modified/llvm/trunk/test/Other/pass-pipelines.ll (diff)llvm.src/test/Other/pass-pipelines.ll
Revision 353268 by phosek:
[CMake] Unify scripts for generating VCS headers

Previously, there were two different scripts for generating VCS headers:
one used by LLVM and one used by Clang and lldb. They were both similar,
but different. They were both broken in their own ways, for example the
one used by Clang didn't properly handle monorepo resulting in an
incorrect version information reported by Clang.

This change unifies two the scripts by introducing a new script that's
used from both LLVM, Clang and lldb, ensures that the new script
supports both monorepo and standalone SVN and Git setups, and removes
the old scripts.

Differential Revision: https://reviews.llvm.org/D57063
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/CMakeLists.txt (diff)clang.src/lib/Basic/CMakeLists.txt
The file was modified/cfe/trunk/lib/Basic/Version.cpp (diff)clang.src/lib/Basic/Version.cpp
The file was modified/lldb/trunk/source/CMakeLists.txt (diff)N/A
The file was modified/lldb/trunk/source/lldb.cpp (diff)N/A
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
The file was modified/llvm/trunk/cmake/modules/AddLLVM.cmake (diff)llvm.src/cmake/modules/AddLLVM.cmake
The file was removed/llvm/trunk/cmake/modules/GenerateVersionFromCVS.cmakellvm.src/cmake/modules/GenerateVersionFromCVS.cmake
The file was added/llvm/trunk/cmake/modules/GenerateVersionFromVCS.cmakellvm.src/cmake/modules/GenerateVersionFromVCS.cmake
The file was removed/llvm/trunk/cmake/modules/GetSVN.cmakellvm.src/cmake/modules/GetSVN.cmake
The file was modified/llvm/trunk/cmake/modules/VersionFromVCS.cmake (diff)llvm.src/cmake/modules/VersionFromVCS.cmake
The file was modified/llvm/trunk/include/llvm/Support/CMakeLists.txt (diff)llvm.src/include/llvm/Support/CMakeLists.txt
Revision 353267 by reames:
[AliasSetTracker] Minor style tweak to avoid a variable w/two distinct live ranges [NFC]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/AliasSetTracker.cpp (diff)llvm.src/lib/Analysis/AliasSetTracker.cpp
Revision 353266 by reames:
[Test] Add codegen tests for unordered and monotonic integer operations
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/atomic-monotonic.llllvm.src/test/CodeGen/X86/atomic-monotonic.ll
The file was added/llvm/trunk/test/CodeGen/X86/atomic-unordered.llllvm.src/test/CodeGen/X86/atomic-unordered.ll
Revision 353265 by rtrieu:
Move DomTreeUpdater from IR to Analysis

DomTreeUpdater depends on headers from Analysis, but is in IR.  This is a
layering violation since Analysis depends on IR.  Relocate this code from IR
to Analysis to fix the layering violation.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/include/llvm/Analysis/DomTreeUpdater.hllvm.src/include/llvm/Analysis/DomTreeUpdater.h
The file was removed/llvm/trunk/include/llvm/IR/DomTreeUpdater.hllvm.src/include/llvm/IR/DomTreeUpdater.h
The file was modified/llvm/trunk/include/llvm/Transforms/Scalar/JumpThreading.h (diff)llvm.src/include/llvm/Transforms/Scalar/JumpThreading.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/BasicBlockUtils.h (diff)llvm.src/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/include/llvm/module.modulemap (diff)llvm.src/include/llvm/module.modulemap
The file was modified/llvm/trunk/lib/Analysis/CMakeLists.txt (diff)llvm.src/lib/Analysis/CMakeLists.txt
The file was added/llvm/trunk/lib/Analysis/DomTreeUpdater.cppllvm.src/lib/Analysis/DomTreeUpdater.cpp
The file was modified/llvm/trunk/lib/Analysis/IVDescriptors.cpp (diff)llvm.src/lib/Analysis/IVDescriptors.cpp
The file was modified/llvm/trunk/lib/IR/CMakeLists.txt (diff)llvm.src/lib/IR/CMakeLists.txt
The file was removed/llvm/trunk/lib/IR/DomTreeUpdater.cppllvm.src/lib/IR/DomTreeUpdater.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp (diff)llvm.src/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/ADCE.cpp (diff)llvm.src/lib/Transforms/Scalar/ADCE.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp (diff)llvm.src/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/GVN.cpp (diff)llvm.src/lib/Transforms/Scalar/GVN.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp (diff)llvm.src/lib/Transforms/Scalar/JumpThreading.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopSimplifyCFG.cpp (diff)llvm.src/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp (diff)llvm.src/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp (diff)llvm.src/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpp (diff)llvm.src/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/CloneFunction.cpp (diff)llvm.src/lib/Transforms/Utils/CloneFunction.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopRotationUtils.cpp (diff)llvm.src/lib/Transforms/Utils/LoopRotationUtils.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp (diff)llvm.src/lib/Transforms/Utils/LoopUtils.cpp
The file was modified/llvm/trunk/unittests/Analysis/CMakeLists.txt (diff)llvm.src/unittests/Analysis/CMakeLists.txt
The file was added/llvm/trunk/unittests/Analysis/DomTreeUpdaterTest.cppllvm.src/unittests/Analysis/DomTreeUpdaterTest.cpp
The file was modified/llvm/trunk/unittests/IR/CMakeLists.txt (diff)llvm.src/unittests/IR/CMakeLists.txt
The file was removed/llvm/trunk/unittests/IR/DomTreeUpdaterTest.cppllvm.src/unittests/IR/DomTreeUpdaterTest.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/CloningTest.cpp (diff)llvm.src/unittests/Transforms/Utils/CloningTest.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/LocalTest.cpp (diff)llvm.src/unittests/Transforms/Utils/LocalTest.cpp