SuccessChanges

Summary

  1. [lldb-cmake-standalone] Ninja verbose flag is -v
  2. [lldb-cmake-standalone] Remove note about Xcode generator This was fixed with https://reviews.llvm.org/rGa0781b6e3a3a
  3. [lldb-cmake-standalone] Enable tests for CMake-generated Xcode project
  4. [lldb-cmake-standalone] Run check-lldb in TERM=vt100
  5. [lldb-cmake-standalone] Checkout libc++ the same way as other subprojects
Revision 363366 by stefan.graenitz:
[lldb-cmake-standalone] Ninja verbose flag is -v
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-standalonezorg/jenkins/jobs/jobs/lldb-cmake-standalone
Revision 363283 by stefan.graenitz:
[lldb-cmake-standalone] Remove note about Xcode generator

This was fixed with https://reviews.llvm.org/rGa0781b6e3a3a
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-standalonezorg/jenkins/jobs/jobs/lldb-cmake-standalone
Revision 363282 by stefan.graenitz:
[lldb-cmake-standalone] Enable tests for CMake-generated Xcode project
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-standalonezorg/jenkins/jobs/jobs/lldb-cmake-standalone
Revision 363177 by stefan.graenitz:
[lldb-cmake-standalone] Run check-lldb in TERM=vt100
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-standalonezorg/jenkins/jobs/jobs/lldb-cmake-standalone
Revision 363176 by stefan.graenitz:
[lldb-cmake-standalone] Checkout libc++ the same way as other subprojects
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-standalonezorg/jenkins/jobs/jobs/lldb-cmake-standalone

Summary

  1. [X86] CombineShuffleWithExtract - assert all src ops types are multiples of rootsize. NFCI.
  2. [X86][AVX] Handle lane-crossing shuffle(extract_subvector(x,c1),extract_subvector(y,c2),m1) shuffles Pull out the existing (non)lane-crossing fold into a helper lambda and use for lane-crossing unary shuffles as well. Fixes PR34380
  3. [X86][AVX] Decode constant bits from insert_subvector(c1, c2, c3) This mostly happens due to SimplifyDemandedVectorElts reducing a vector to insert_subvector(undef, c1, 0)
  4. [NFC][MCA][X86] Add one more 'clear super register' pattern - movss/movsd load clears high XMM bits
  5. [NFC][MCA][X86] Add baseline test coverage for AMD Barcelona (aka K10, fam10h) Looking into sched model for that CPU ...
  6. [Clang] Harmonize Split DWARF options with llc Summary: With Split DWARF the resulting object file (then called skeleton CU) contains the file name of another ("DWO") file with the debug info. This can be a problem for remote compilation, as it will contain the name of the file on the compilation server, not on the client. To use Split DWARF with remote compilation, one needs to either * make sure only relative paths are used, and mirror the build directory structure of the client on the server, * inject the desired file name on the client directly. Since llc already supports the latter solution, we're just copying that over. We allow setting the actual output filename separately from the value of the DW_AT_[GNU_]dwo_name attribute in the skeleton CU. Fixes PR40276. Reviewers: dblaikie, echristo, tejohnson Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D59673
  7. [PowerPC] Set the innermost hot loop to align 32 bytes Summary: If the nested loop is an innermost loop, prefer to a 32-byte alignment, so that we can decrease cache misses and branch-prediction misses. Actual alignment of the loop will depend on the hotness check and other logic in alignBlocks. The old code will only align hot loop to 32 bytes when the LoopSize larger than 16 bytes and smaller than 32 bytes, this patch will align the innermost hot loop to 32 bytes not only for the hot loop whose size is 16~32 bytes. Reviewed By: steven.zhang, jsji Differential Revision: https://reviews.llvm.org/D61228
  8. [clang] Add storage for APValue in ConstantExpr Summary: When using ConstantExpr we often need the result of the expression to be kept in the AST. Currently this is done on a by the node that needs the result and has been done multiple times for enumerator, for constexpr variables... . This patch adds to ConstantExpr the ability to store the result of evaluating the expression. no functional changes expected. Changes: - Add trailling object to ConstantExpr that can hold an APValue or an uint64_t. the uint64_t is here because most ConstantExpr yield integral values so there is an optimized layout for integral values. - Add basic* serialization support for the trailing result. - Move conversion functions from an enum to a fltSemantics from clang::FloatingLiteral to llvm::APFloatBase. this change is to make it usable for serializing APValues. - Add basic* Import support for the trailing result. - ConstantExpr created in CheckConvertedConstantExpression now stores the result in the ConstantExpr Node. - Adapt AST dump to print the result when present. basic* : None, Indeterminate, Int, Float, FixedPoint, ComplexInt, ComplexFloat, the result is not yet used anywhere but for -ast-dump. Reviewers: rsmith, martong, shafik Reviewed By: rsmith Subscribers: rnkovacs, hiraditya, dexonsmith, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D62399
  9. [BranchProbability] Delete a redundant overflow check
  10. [SCEV] Use unsigned/signed intersection type in SCEV Based on D59959, this switches SCEV to use unsigned/signed range intersection based on the sign hint. This will prefer non-wrapping ranges in the relevant domain. I've left the one intersection in getRangeForAffineAR() to use the smallest intersection heuristic, as there doesn't seem to be any obvious preference there. Differential Revision: https://reviews.llvm.org/D60035
  11. [SimplifyIndVar] Simplify non-overflowing saturating add/sub If we can detect that saturating math that depends on an IV cannot overflow, replace it with simple math. This is similar to the CVP optimization from D62703, just based on a different underlying analysis (SCEV vs LVI) that catches different cases. Differential Revision: https://reviews.llvm.org/D62792
  12. [RISCV] Regenerate remat.ll and atomic-rmw.ll after D43256
  13. [RISCV] Simplify RISCVAsmBackend::writeNopData(). NFC
  14. [objcopy] Error when --preserve-dates is specified with standard streams Summary: llvm-objcopy/strip now error when -p is specified when reading from stdin or writing to stdout Reviewers: jhenderson, rupprecht, espindola, alexshap Reviewed By: jhenderson, rupprecht Subscribers: emaste, arichardson, jakehehrlich, MaskRay, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63090
  15. adding more fmf propagation for selects plus updated tests
  16. Revert "adding more fmf propagation for selects plus tests" This reverts rL363474. -debug-only=isel was added to some tests that don't specify `REQUIRES: asserts`. This causes failures on -DLLVM_ENABLE_ASSERTIONS=off builds. I chose to revert instead of fixing the tests because I'm not sure whether we should add `REQUIRES: asserts` to more tests.
  17. [InstCombine] Add tests to show missing fold opportunity for "icmp and shift" (nfc). Summary: For icmp pred (and (sh X, Y), C), 0 When C is signbit, expect to fold (X << Y) & signbit ==/!= 0 into (X << Y) >=/< 0, rather than (X & (signbit >> Y)) != 0. When C+1 is power of 2, expect to fold (X << Y) & ~C ==/!= 0 into (X << Y) </>= C+1, rather than (X & (~C >> Y)) == 0. For icmp pred (and X, (sh signbit, Y)), 0 Expect to fold (X & (signbit l>> Y)) ==/!= 0 into (X << Y) >=/< 0 Expect to fold (X & (signbit << Y)) ==/!= 0 into (X l>> Y) >=/< 0 Reviewers: lebedev.ri, efriedma, spatel, craig.topper Reviewed By: lebedev.ri Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63025
  18. Reapply "GlobalISel: Avoid producing Illegal copies in RegBankSelect" This reapplies r363410, avoiding null dereference if there is no AltRegBank.
  19. Add a map_range function for applying map_iterator to a range. In preparation for use in Clang.
  20. Revert "GlobalISel: Avoid producing Illegal copies in RegBankSelect" This patch breaks UBSan build bots. See https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild for a guide as to how to reproduce the error. This reverts commit c2864c0de07efb5451d32d27a7d4ff2984830929. This reverts rL363410.
  21. adding more fmf propagation for selects plus tests
  22. [MBP] Move a latch block with conditional exit and multi predecessors to top of loop Current findBestLoopTop can find and move one kind of block to top, a latch block has one successor. Another common case is: * a latch block * it has two successors, one is loop header, another is exit * it has more than one predecessors If it is below one of its predecessors P, only P can fall through to it, all other predecessors need a jump to it, and another conditional jump to loop header. If it is moved before loop header, all its predecessors jump to it, then fall through to loop header. So all its predecessors except P can reduce one taken branch. Differential Revision: https://reviews.llvm.org/D43256
  23. [ObjC][ARC] Delete ObjC runtime calls on global variables annotated with 'objc_arc_inert' Those calls are no-ops, so they can be safely deleted. rdar://problem/49839633 Differential Revision: https://reviews.llvm.org/D62433
  24. AMDGPU: Avoid most waitcnts before calls Currently you get extra waits, because waits are inserted for the register dependencies of the call, and the function prolog waits on everything. Currently waits are still inserted on returns. It may make sense to not do this, and wait in the caller instead.
  25. Add --print-supported-cpus flag for clang. This patch allows clang users to print out a list of supported CPU models using clang [--target=<target triple>] --print-supported-cpus Then, users can select the CPU model to compile to using clang --target=<triple> -mcpu=<model> a.c It is a handy feature to help cross compilation.
  26. [Remarks][NFC] Improve testing and documentation of -foptimization-record-passes This adds: * documentation to the user manual * nicer error message * test for the error case * test for the gold plugin
  27. SROA: Allow eliminating addrspacecasted allocas There is a circular dependency between SROA and InferAddressSpaces today that requires running both multiple times in order to be able to eliminate all simple allocas and addrspacecasts. InferAddressSpaces can't remove addrspacecasts when written to memory, and SROA helps move pointers out of memory. This should avoid inserting new commuting addrspacecasts with GEPs, since there are unresolved questions about pointer wrapping between different address spaces. For now, don't replace volatile operations that don't match the alloca addrspace, as it would change the address space of the access. It may be still OK to insert an addrspacecast from the new alloca, but be more conservative for now.
  28. [PowerPC][NFC] Comments update and remove some unused def
  29. SROA: Add baseline test for addrspacecast changes
  30. AMDGPU: Fix capitalized register names in asm constraints This was a workaround a long time ago, but the canonical lower case names work now.
  31. AMDGPU: Fix dropping memref for ds append/consume The way SelectionDAG treats memory operands is very frustrating, and by default drops them unless a property is set on the pattern. There is no pattern for manually selected instructions, so this requires manually setting them.
  32. AMDGPU: Set isTrap on S_TRAP This seems to only be used for generating some kind of documentation, but might as well set it.
  33. AMDGPU: Add baseline test for call waitcnt insertion
  34. UpdateTestChecks: Consider .section as end of function for AMDGPU Kernels seem to go directly to a section switch instead of emitting .Lfunc_end. This fixes including all of the kernel metadata in the check lines, which is undesirable most of the time.
  35. [x86] add test for 256-bit blendv with AVX targets; NFC This is a reduction of the pattern seen in D63233.
  36. [JITLink] Move JITLinkMemoryManager into its own header.
  37. build: extract LLVM distribution target handling This extracts the LLVM distribution target handling into a support module. Extraction will enable us to restructure the builds to support multiple distribution configurations (e.g. developer and user) to permit us to build the development package and the user package at once.
  38. [Remarks] Use the RemarkSetup error in setupOptimizationRemarks Added the errors in r363415 but they were not used in the RemarkStreamer.
  39. gn build: Add NVPTX target The NVPTX target is a bit unusual in that it's the only target without a disassembler, and one of three targets without an asm parser (and the first one of those three in the gn build). NVPTX doesn't have those because it's not a binary format. The CMake build checks for the existence of {AsmParser,Disassembler}/CMakeLists.txt when setting LLVM_ENUM_ASM_PARSERS / LLVM_ENUM_DISASSEBLERS (http://llvm-cs.pcc.me.uk/CMakeLists.txt#744). The GN build doesn't want to hit the disk for things like this, so instead I'm adding explicit `targets_with_asm_parsers` and `targets_with_disassemblers` lists. Since both are needed rarely, they are defined in their own gni files. Differential Revision: https://reviews.llvm.org/D63210
  40. gn build: Simplify Target build files Now that the cycle between MCTargetDesc and TargetInfo is gone (see revisions 360709 360718 360722 360724 360726 360731 360733 360735 360736), remove the dependency from TargetInfo on MCTargetDesc:tablegen. In most targets, this makes MCTargetDesc:tablegen have just a single use, so inline it there. For AArch64, ARM, and RISCV there's still a similar cycle between MCTargetDesc and Utils, so the MCTargetDesc:tablegen indirection is still needed there. Differential Revision: https://reviews.llvm.org/D63200
  41. [GlobalISel] Add a G_BRJT opcode. This is a branch opcode that takes a jump table pointer, jump table index and an index into the table to do an indirect branch. We pass both the table pointer and JTI to allow targets like ARM64 to more easily use the existing jump table compression optimization without having to walk up the block to find a paired G_JUMP_TABLE. Differential Revision: https://reviews.llvm.org/D63159
  42. Revert Fix a bug w/inbounds invalidation in LFTR Reverting because it breaks a green dragon build: http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/18208 This reverts r363289 (git commit eb88badff96dacef8fce3f003dec34c2ef6900bf)
  43. Revert [LFTR] Stylistic cleanup as suggested in last review comment of D62939 [NFC] Reverting because it depends on r363289, which breaks a green dragon build: http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/18208 This reverts r363292 (git commit 42a3fc133d3544b5c0c032fe99c6e8a469a836c2)
  44. Revert [LFTR] Rename variable to minimize confusion [NFC] Reverting because it depends on r363289, which breaks a green dragon build: http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/18208 This reverts r363293 (git commit c37be29634214fb1cb4c823840bffc31e5ebfe40)
  45. [GISel]: Fix pattern matcher for m_OneUse https://reviews.llvm.org/D63302
  46. [PowerPC][NFC] Format comments in P9InstrResrouce.td
  47. [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two and replace with an equilivent countTrailingZeros. GCD is much more expensive than this, with repeated division. This depends on D60823 Differential Revision: https://reviews.llvm.org/D61151
  48. build: don't attempt to run config.guess on Windows When cross-compiling LLVM to android from Windows (for LLVMSupport), we would attempt to execute `config.guess` to determine the host triple since `CMAKE_SYSTEM_NAME` is not Windows and `CMAKE_C_COMPILER` will be set to GNU or Clang. This will fail as `config.guess` is a shell script which cannot be executed on Windows. Simply log a warning instead. The user can specify the value for this instead in those cases.
  49. [AMDGPU] Don't constrain callees with inlinehint from inlining on MaxBB check Summary: Function bodies marked inline in an opencl source are eliminated but MaxBB check may prevent inlining them leaving undefined references. Reviewers: rampitec, arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, Anastasia, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63337
  50. [FPEnv] Lower STRICT_FP_EXTEND and STRICT_FP_ROUND nodes in preprocess phase of ISelLowering to mirror non-strict nodes on x86. I recently discovered a bug on the x86 platform: The fp80 type was not handled well by x86 for constrained floating point nodes, as their regular counterparts are replaced by extending loads and truncating stores during the preprocess phase. Normally, platforms don't have this issue, as they don't typically attempt to perform such legalizations during instruction selection preprocessing. Before this change, strict_fp nodes survived until they were mutated to normal nodes, which happened shortly after preprocessing on other platforms. This modification lowers these nodes at the same phase while properly utilizing the chain.5 Submitted by: Drew Wock <drew.wock@sas.com> Reviewed by: Craig Topper, Kevin P. Neal Approved by: Craig Topper Differential Revision: https://reviews.llvm.org/D63271
  51. [AMDGPU] gfx1010 BoolReg definition. NFC. Earlier commit has added AMDGPUOperand::isBoolReg(). Turns out gcc issues warning about unused function since D63204 is not yet submitted. Added NFC part of D63204 to have a use of that function and mute the warning.
  52. Reland: [Remarks] Refactor optimization remarks setup * Add a common function to setup opt-remarks * Rename common options to the same names * Add error types to distinguish between file errors and regex errors
  53. [x86] move vector shift tests for PR37428; NFC As suggested in the post-commit thread for rL363392 - it's wasteful to have so many runs for larger tests. AVX1/AVX2 is what shows the diff and probably what matters most going forward.
  54. GlobalISel: Avoid producing Illegal copies in RegBankSelect Avoid producing illegal register bank copies for reg_sequence and phi. The default implementation assumes it is possible to pick any operand's bank and use that for the result, introducing a copy for operands with a different bank. This does not check for illegal copies. It is not legal to introduce a VGPR->SGPR copy, so any VGPR operand requires the result to be a VGPR. The changes in getInstrMappingImpl aren't strictly necessary, since AMDGPU now just bypasses this for reg_sequence/phi. This could be replaced with an assert in case other targets run into this. It is currently responsible for producing the error for unsatisfiable copies, but this will be better served with a verifier check. For phis, for now assume any undetermined operands must be VGPRs. Eventually, this needs to be able to defer mapping these operations. This also does not yet have a way to check for whether the block is in a divergent region.
  55. [CodeGenPrepare] propagate debuginfo when copying a shuffle
  56. [Attributor] Disable the Attributor by default and fix a comment
  57. [Attributor] Introduce bit-encodings for abstract states Summary: The IntegerState, and its sepecialization BooleanState, can be used to simplify the implementation of abstract attributes. The two abstract state implementations provide storage and helpers to deal with bit-wise encoded state. Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60012
  58. AMDGPU: Fold readlane intrinsics of constants I'm not 100% sure about this, since I'm worried about IR transforms that might end up introducing divergence downstream once replaced with a constant, but I haven't come up with an example yet.
  59. [ARM] Add MVE horizontal accumulation instructions This is the family of vector instructions that combine all the lanes in their input vector(s), and output a value in one or two GPRs. Differential Revision: https://reviews.llvm.org/D62670
  60. Revert "Revert r363377: [yaml2obj] - Allow setting custom section types for implicit sections." LLD test case will be fixed in a following commit. Original commit message: [yaml2obj] - Allow setting custom section types for implicit sections. We were hardcoding the final section type for sections that are usually implicit. The patch fixes that. This also fixes a few issues in existent test cases and removes one precompiled object. Differential revision: https://reviews.llvm.org/D63267
  61. Revert r363377: [yaml2obj] - Allow setting custom section types for implicit sections. This reverts commit r363377 because lld's ELF/invalid/undefined-local-symbol-in-dso.test test started failing after this commit.
  62. Fix failing test on ARM buildbot r363261 caused test failure on 32-bit ARM buildbot, because of unsigned integer overflow. This patch fixes it changing offset type from size_t to uint64_t.
  63. [x86] add test for original example in PR37428; NFC The reduced case may avoid complications seen in this larger function.
  64. RegBankSelect: Remove checks for invalid mappings Avoid a check for valid and a set of redundant asserts. The place InstructionMapping is constructed asserts all of the default fields are passed anyway for an invalid mapping, so don't overcomplicate this.
  65. AMDGPU: Fix input chain when gluing copies to m0 I don't think this was causing any observable issues, but was making reading the DAG dump confusing.
  66. [lit] Fix UnicodeEncodeError when test commands contain non-ASCII chars Ensure that the bash script written by lit TestRunner is open with UTF-8 encoding when using Python 3. Otherwise, attempt to write non-ASCII characters causes UnicodeEncodeError. This happened e.g. with the following LLD test: UNRESOLVED: lld :: ELF/format-binary-non-ascii.s (657 of 2119) ******************** TEST 'lld :: ELF/format-binary-non-ascii.s' FAILED ******************** Exception during script execution: Traceback (most recent call last): File "/home/mgorny/llvm-project/llvm/utils/lit/lit/worker.py", line 63, in _execute_test result = test.config.test_format.execute(test, lit_config) File "/home/mgorny/llvm-project/llvm/utils/lit/lit/formats/shtest.py", line 25, in execute self.execute_external) File "/home/mgorny/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 1644, in executeShTest res = _runShTest(test, litConfig, useExternalSh, script, tmpBase) File "/home/mgorny/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 1590, in _runShTest res = executeScript(test, litConfig, tmpBase, script, execdir) File "/home/mgorny/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 1157, in executeScript f.write('{ ' + '; } &&\n{ '.join(commands) + '; }') UnicodeEncodeError: 'ascii' codec can't encode character '\xa3' in position 274: ordinal not in range(128) Differential Revision: https://reviews.llvm.org/D63254
  67. [MCA] Ignore invalid processor resource writes of zero cycles. NFCI In debug mode, the tool also raises a warning and prints out a message which helps identify the problematic MCWriteProcResEntry from the scheduling class. This message would have been useful to have when triaging PR42282.
  68. Fix not calling TargetCustom PSVs printer If the enum value was greater than the starting target custom value, the custom printer wasn't called.
  69. AMDGPU: Refactor to prepare for manually selecting more intrinsics
  70. AMDGPU: Fix printing trailing whitespace after s_endpgm
  71. AMDGPU: Fix missing const
  72. [docs][llvm-dwarfdump] Make the --show-parents and --show-children help text and docs more consistent and correct The docs and help text for --show-parents and --show-children were a bit inconsistent. The help text claimed they had an effect when "=<offset>" was used, whereas the doc said it had an effect when "--find" or "--name" were used. This change changes the doc to mention "=<offset>" and removes this reference from the help text, to avoid having a very long description in the help text (it still says "when selectively printing entries"). Reviewed by: JDevlieghere, aprantl Differential Revision: https://reviews.llvm.org/D63275
  73. Revert r363298 "[lit] Disable test on darwin when building shared libs." It broke running check-lld on mac, see https://reviews.llvm.org/D61697
  74. gn build: Merge r363376
  75. [yaml2obj] - Allow setting custom section types for implicit sections. We were hardcoding the final section type for sections that are usually implicit. The patch fixes that. This also fixes a few issues in existent test cases and removes one precompiled object. Differential revision: https://reviews.llvm.org/D63267
  76. [llvm-readobj] Don't abort printing of dynamic table if string reference is invalid If dynamic table is missing, output "dynamic strtab not found'. If the index is out of range, output "Invalid Offset<..>". https://bugs.llvm.org/show_bug.cgi?id=40807 Reviewed by: jhenderson, grimar, MaskRay Differential Revision: https://reviews.llvm.org/D63084 Patch by Yuanfang Chen.
  77. [llvm-readobj] - Do not fail to dump the object which has wrong type of .shstrtab. Imagine we have object that has .shstrtab with type != SHT_STRTAB. In this case, we fail to dump the object, though GNU readelf dumps it without any issues and warnings. This patch fixes that. It adds a code to ELFDumper.cpp which is based on the implementation of getSectionName from the ELF.h: https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ELF.h#L608 https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ELF.h#L431 https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ELF.h#L539 The difference is that all non critical errors are ommitted what allows us to improve the dumping on a tool side. Also, this opens a road for a follow-up that should allow us to dump the section headers, but drop the section names in case if .shstrtab is completely absent and/or broken. Differential revision: https://reviews.llvm.org/D63266
  78. [ARM] MVE VPT Block Pass Initial commit of a new pass to create vector predication blocks, called VPT blocks, that are supported by the Armv8.1-M MVE architecture. This is a first naive implementation. I.e., for 2 consecutive predicated instructions I1 and I2, for example, it will generate 2 VPT blocks: VPST I1 VPST I2 A more optimal implementation would obviously put instructions in the same VPT block when they are predicated on the same condition and when it is allowed to do this: VPTT I1 I2 We will address this optimisation with follow up patches when the groundwork is in. Creating VPT Blocks is very similar to IT Blocks, which is the reason I added this to Thumb2ITBlocks.cpp. This allows reuse of the def use analysis that we need for the more optimal implementation. VPT blocks cannot be nested in IT blocks, and vice versa, and so these 2 passes cannot interact with each other. Instructions allowed in VPT blocks must be MVE instructions that are marked as VPT compatible. Differential Revision: https://reviews.llvm.org/D63247
  79. [yaml2obj] - Allow setting the custom Address for .strtab Despite the fact that .strtab is non-allocatable, there is no reason to disallow setting the custom address for it. The patch also adds a test case showing we can set any address we want for other implicit sections. Differential revision: https://reviews.llvm.org/D63137
  80. [yaml2obj] - Allow setting cutom Flags for implicit sections. With this patch we get ability to set any flags we want for implicit sections defined in YAML. Differential revision: https://reviews.llvm.org/D63136
  81. [SCEV] Pass NoWrapFlags when expanding an AddExpr InsertBinop now accepts NoWrapFlags, so pass them through when expanding a simple add expression. This is the first re-commit of the functional changes from rL362687, which was previously reverted. Differential Revision: https://reviews.llvm.org/D61934
  82. [llvm-objcopy][IHEX] Improve test case formatting. NFC Differential revision: https://reviews.llvm.org/D63258
  83. Move commentary on opcode translation for code16 mov instructions to segment registers closer to the segment register check for when we add further optimizations.
  84. [llvm-objcopy] Remove no-op flush of errs Reviewers: alexshap, rupprecht, jhenderson Subscribers: jakehehrlich, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63313
  85. gn build: Merge r363204 (clang-scan-deps)
  86. [llvm-objcopy] Changed command line parsing errors Summary: Tidied up errors during command line parsing to be more consistent with the rest of llvm-objcopy errors. Reviewers: jhenderson, rupprecht, espindola, alexshap Reviewed By: jhenderson, rupprecht Subscribers: emaste, arichardson, MaskRay, llvm-commits, jakehehrlich Tags: #llvm Differential Revision: https://reviews.llvm.org/D62973
  87. DebugInfo: Include enumerators in pubnames This is consistent with GCC's behavior (which is the defacto standard for pubnames). Though I find the presence of enumerators from enum classes to be a bit confusing, possibly a bug on GCC's end (since they can't be named unqualified, unlike the other names - and names nested in classes don't go in pubnames, for instance - presumably because one must name the class first & that's enough to limit the scope of the search)
  88. [X86] Add target triple for live-debug-values-fragments.mir
  89. Add REQUIRES: zlib to test added in r363325 as the profile uses zlib compression.
  90. [AMDGPU] gfx1011/gfx1012 targets Differential Revision: https://reviews.llvm.org/D63307
  91. Revert "[Remarks] Refactor optimization remarks setup" This reverts commit 6e6e3af55bb97e1a4c97375c15a2b0099120c5a7. This breaks greendragon.
  92. [Coverage] Speculative fix for r363325 for an older compiler It looks like an older version of gcc can't figure out that it needs to move a unique_ptr while implicitly constructing an Expected object.
  93. [AMDGPU] gfx1010 wave32 icmp/fcmp intrinsic changes for wave32 Differential Revision: https://reviews.llvm.org/D63301
  94. [llvm-objcopy] Fix sparc target endianness Summary: AFAIK, the "sparc" target is big endian and the target for 32-bit little-endian SPARC is denoted as "sparcel". This patch fixes the endianness of "sparc" target and adds "sparcel" target for 32-bit little-endian SPARC. Reviewers: espindola, alexshap, rupprecht, jhenderson Reviewed By: jhenderson Subscribers: jyknight, emaste, arichardson, fedor.sergeev, jakehehrlich, MaskRay, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63251
  95. Use fully qualified name when printing S_CONSTANT records Summary: Before it was using the fully qualified name only for static data members. Now it does for all variable names to match MSVC. Reviewers: rnk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63012
  96. Symbolize: Remove dead code. NFCI. The only caller of SymbolizableObjectFile::create passes a non-null DebugInfoContext and asserts that they do so. Move the assert into SymbolizableObjectFile::create and remove null checks. Differential Revision: https://reviews.llvm.org/D63298
  97. [AMDGPU] gfx10 documentation update. NFC.
  98. [GlobalISel][IRTranslator] Add debug loc with line 0 to constants emitted into the entry block. Constants, including G_GLOBAL_VALUE, are all emitted into the entry block which lets us use the vreg def assuming it dominates all other users. However, it can cause jumpy debug behaviour since the DebugLoc attached to these MIs are from a user instruction that could be in a different block. Fixes PR40887. Differential Revision: https://reviews.llvm.org/D63286
  99. [X86Disassembler] Unify the EVEX and VEX code in emitContextTable. Merge the ATTR_VEXL/ATTR_EVEXL bits. NFCI Merging the two bits shrinks the context table from 16384 bytes to 8192 bytes. Remove the ATTRIBUTE_BITS macro and just create an enum directly. Then fix the ATTR_max define to be 8192 to reflect the table size so we stop hardcoding it separately.
  100. [MachinePiepliner] Don't check boundary node in checkValidNodeOrder This was exposed by PowerPC target enablement. In ScheduleDAG, if we haven't seen any uses in this scheduling region, we will create a dependence edge to ExitSU to model the live-out latency. This is required for vreg defs with no in-region use, and prefetches with no vreg def. When we build NodeOrder in Scheduler, we ignore these boundary nodes. However, when we check Succs in checkValidNodeOrder, we did not skip them, so we still assume all the nodes have been sorted and in order in Indices array. So when we call lower_bound() for ExitSU, it will return Indices.end(), causing memory issues in following Node access. Differential Revision: https://reviews.llvm.org/D63282
  101. [Remarks] Refactor optimization remarks setup * Add a common function to setup opt-remarks * Rename common options to the same names * Add error types to distinguish between file errors and regex errors
  102. [Coverage] Load code coverage data from archives Support loading code coverage data from regular archives, thin archives, and from MachO universal binaries which contain archives. Testing: check-llvm, check-profile (with {A,UB}San enabled) rdar://51538999 Differential Revision: https://reviews.llvm.org/D63232
  103. gn build: Merge r363242
  104. [AMDGPU] gfx1010 AMDGPUSetCCOp definition It was missing from D63293 and breaks in a debug tablegen w/o this part.
  105. [ORC] Rename MaterializationResponsibility resolve and emit methods to notifyResolved/notifyEmitted. The 'notify' prefix better describes what these methods do: they update the JIT symbol states and notify any pending queries that the 'resolved' and 'emitted' states have been reached (rather than actually performing the resolution or emission themselves). Since new states are going to be introduced in the near future (to track symbol registration/initialization) it's worth changing the convention pre-emptively to avoid further confusion.
  106. [LangRef] Clarify poison semantics I find the current documentation of poison somewhat confusing, mainly because its use of "undefined behavior" doesn't seem to align with our usual interpretation (of immediate UB). Especially the sentence "any instruction that has a dependence on a poison value has undefined behavior" is very confusing. Clarify poison semantics by: * Replacing the introductory paragraph with the standard rationale for having poison values. * Spelling out that instructions depending on poison return poison. * Spelling out how we go from a poison value to immediate undefined behavior and give the two examples we currently use in ValueTracking. * Spelling out that side effects depending on poison are UB. Differential Revision: https://reviews.llvm.org/D63044
  107. [SimplifyCFG] NFC, update Switch tests as a baseline. Also add baseline tests to show effect of later patches. There were a couple of regressions here that were never caught, but my patch set that this is a preparation to will fix them. This is the third attempt to land this patch. Differential Revision: https://reviews.llvm.org/D61150
  108. Add a clarifying comment about branching on poison I recently got this wrong (again), and I'm sure I'm not the only one. Put a comment in the logical place someone would look to "fix" the obvious "missed optimization" which arrises based on the common misunderstanding. Hopefully, this will save others time. :)
  109. Revert "[NFC][CodeGen] Add unary fneg tests to fp-fast.ll fp-fold.ll fp-in-intregs.ll fp-stack-compare-cmov.ll fp-stack-compare.ll fsxor-alignment.ll" This reverts commit 1d85a7518c6b660a85caabd580b632f9abd5a8ab.
  110. Revert "[NFC][CodeGen] Add unary fneg tests to fmul-combines.ll fnabs.ll" This reverts commit 5c0114058126757ce21e546997121afffc8119cd.
  111. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma_patterns_wide.ll" This reverts commit f1b8c6ac4f9d31899a2bc128f8a37b5a1c3e1f77.
  112. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma_patterns.ll" This reverts commit 06de52674da73f30751f3ff19fdf457f87077c65.
  113. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma4-fneg-combine.ll" This reverts commit f288a0685f874d2b965db25a16b9c44f78c55b12.
  114. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma-scalar-combine.ll" This reverts commit 3d2ee0053aa2576fd19cd169798c496199f0a29b.
  115. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma-intrinsics-x86.ll" This reverts commit 169fc2b0209d5574fca0927a707706ea2d5f5a09.
  116. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma4-intrinsics-x86.ll" This reverts commit 66f286845cad73a280617a606e29c9009bb4da87.
  117. Revert "[NFC][CodeGen] Add unary FNeg tests to some X86/ and XCore/ tests." This reverts commit 4f3cf3853e1145e3e08fb42ace79ba3e4e268540.
  118. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/fma-intrinsics-canonical.ll" This reverts commit ee5881a88cbe148bb64d14b8a5b31a314ee22343.
  119. Revert "[NFC][CodeGen] Forgot 2 unary FNeg tests in X86/fma-intrinsics-canonical.ll" This reverts commit 5f39a3096f8e7b09bd1645f4e4ca66343066a6e1.
  120. Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma-fneg-combine.ll" This reverts commit 10c085554215e84831d272f2e6a93b7c70d143bf.
  121. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll" This reverts commit e04c4b6af81d6142c4ff8dd9d00f44a27e9a66eb.
  122. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll X86/combine-fabs.ll" This reverts commit 6fe46ec25d849a9fd5be25acf0ee77e3c06c0786.
  123. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll" This reverts commit 2aa5ada267d268fec2b1e90efeae1ddee24617be.
  124. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll" This reverts commit 27a5db9de57d13d44c7a7704e06d8ba69ec8b4af.
  125. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll" This reverts commit 41e0b9f2803089155536bdec7cbea6b82680a727.
  126. Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll" This reverts commit aeb89f8b33d8fca4e819ba41267093699a7e4885.
  127. [AMDGPU] gfx1010 base changes for wave32 Differential Revision: https://reviews.llvm.org/D63293
  128. [lit] Disable test on darwin when building shared libs. Summary: This test fails to link shared libraries because tries to run a copied version of clang-check to see if the mock version of libcxx in the same directory can be loaded dynamically. Since the test is specifically designed not to look in the default just-built lib directory, it must be disabled when building with BUILD_SHARED_LIBS=ON. Currently only disabling it on Darwin and basing it on the enable_shared flag. Reviewed By: ilya-biryukov Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D61697
  129. [AMDGPU] gfx1010: small test change for wave32. NFC
  130. [docs] Fix TableGen/LangRef typos This fixes: - `Pred` -> `Prep` - `IfDef` -> `Ifdef` (rst is case sensitive here)
  131. [LFTR] Rename variable to minimize confusion [NFC] As pointed out by Nikita in D62625, BackedgeTakenCount is generally used to refer to the backedge taken count of the loop. A conditional backedge taken count - one which only applies if a particular exit is taken - is called a ExitCount in SCEV code, so be consistent here.
  132. [LFTR] Stylistic cleanup as suggested in last review comment of D62939 [NFC]
  133. [InstCombine] add test for failed libfunction prototype matching; NFC
  134. Fix a bug w/inbounds invalidation in LFTR This contains fixes for two cases where we might invalidate inbounds and leave it stale in the IR (a miscompile). Case 1 is when switching to an IV with no dynamically live uses, and case 2 is when doing pre-to-post conversion on the same pointer type IV. The basic scheme used is to prove that using the given IV (pre or post increment forms) would have to already trigger UB on the path to the test we're modifying. As such, our potential UB triggering use does not change the semantics of the original program. As was pointed out in the review thread by Nikita, this is defending against a separate issue from the hasConcreteDef case. This is about poison, that's about undef. Unfortunately, the two are different, see Nikita's comment for a fuller explanation, he explains it well. (Note: I'm going to address Nikita's last style comment in a separate commit just to minimize chance of subtle bugs being introduced due to typos.) Differential Revision: https://reviews.llvm.org/D62939
  135. [clang][NewPM] Fix broken -O0 test from missing assumptions Add an AssumptionCache callback to the InlineFuntionInfo used for the AlwaysInlinerPass to match codegen of the AlwaysInlinerLegacyPass to generate llvm.assume. This fixes CodeGen/builtin-movdir.c when new PM is enabled by default. Differential Revision: https://reviews.llvm.org/D63170
  136. [InstCombine] auto-generate complete test checks; NFC
  137. [NFC] Updated testcase for D54411/rL363284
  138. [Codegen] Merge tail blocks with no successors after block placement Summary: I found the following case having tail blocks with no successors merging opportunities after block placement. Before block placement: bb0: ... bne a0, 0, bb2: bb1: mv a0, 1 ret bb2: ... bb3: mv a0, 1 ret bb4: mv a0, -1 ret The conditional branch bne in bb0 is opposite to beq. After block placement: bb0: ... beq a0, 0, bb1 bb2: ... bb4: mv a0, -1 ret bb1: mv a0, 1 ret bb3: mv a0, 1 ret After block placement, that appears new tail merging opportunity, bb1 and bb3 can be merged as one block. So the conditional constraint for merging tail blocks with no successors should be removed. In my experiment for RISC-V, it decreases code size. Author of original patch: Jim Lin Reviewers: haicheng, aheejin, craig.topper, rnk, RKSimon, Jim, dmgreen Reviewed By: Jim, dmgreen Subscribers: xbolva00, dschuff, javed.absar, sbc100, jgravelle-google, aheejin, kito-cheng, dmgreen, PkmX, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D54411
  139. [AMDGPU] ImmArg and SourceOfDivergence for permlane/dpp Added missing ImmArg and SourceOfDivergence to the crosslane intrinsics. Differential Revision: https://reviews.llvm.org/D63216
  140. [NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll Patch 2 of n.
  141. [EarlyCSE] Ensure equal keys have the same hash value Summary: The logic in EarlyCSE that looks through 'not' operations in the predicate recognizes e.g. that `select (not (cmp sgt X, Y)), X, Y` is equivalent to `select (cmp sgt X, Y), Y, X`. Without this change, however, only the latter is recognized as a form of `smin X, Y`, so the two expressions receive different hash codes. This leads to missed optimization opportunities when the quadratic probing for the two hashes doesn't happen to collide, and assertion failures when probing doesn't collide on insertion but does collide on a subsequent table grow operation. This change inverts the order of some of the pattern matching, checking first for the optional `not` and then for the min/max/abs patterns, so that e.g. both expressions above are recognized as a form of `smin X, Y`. It also adds an assertion to isEqual verifying that it implies equal hash codes; this fires when there's a collision during insertion, not just grow, and so will make it easier to notice if these functions fall out of sync again. A new flag --earlycse-debug-hash is added which can be used when changing the hash function; it forces hash collisions so that any pair of values inserted which compare as equal but hash differently will be caught by the isEqual assertion. Reviewers: spatel, nikic Reviewed By: spatel, nikic Subscribers: lebedev.ri, arsenm, craig.topper, efriedma, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62644
  142. Fix GCC compiler warning. NFC.
  143. [X86] Use fresh MemOps when emitting VAARG64 Previously it copied over MachineMemOperands verbatim which caused MOV32rm to have store flags set, and MOV32mr to have load flags set. This fixes some assertions being thrown with EXPENSIVE_CHECKS on. Committed on behalf of @luke (Luke Lau) Differential Revision: https://reviews.llvm.org/D62726
  144. Remove ';' after namespace's closing bracket [NFC]
  145. [docs][llvm-symbolizer] Fix formatting issue with --functions Reviewed by: rupprecht Differential Revision: https://reviews.llvm.org/D63195
  146. [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack Summary: Relate bug: https://bugs.llvm.org/show_bug.cgi?id=37472 The shrink wrapping pass prematurally restores the stack, at a point where the stack might still be accessed. Taking an exception can cause the stack to be corrupted. As a first approach, this patch is overly conservative, assuming that any instruction that may load or store could access the stack. Reviewers: dmgreen, qcolombet Reviewed By: qcolombet Subscribers: simpal01, efriedma, eli.friedman, javed.absar, llvm-commits, eugenis, chill, carwil, thegameg Tags: #llvm Differential Revision: https://reviews.llvm.org/D63152
  147. [docs][llvm-dwarfdump] Add missing options and behaviour to documentation This fixes https://bugs.llvm.org/show_bug.cgi?id=42185. llvm-dwarfdump's documentation was missing a number of options and other behaviours. This change tries to fix up the documentation by adding these missing items. Reviewed by: JDevlieghere Differential Revision: https://reviews.llvm.org/D63217
  148. Extra error checking to ARMAttributeParser The patch checks for subsection length as discussed in D63191
  149. [NFC] Sink a function call into LiveDebugValues::process This was requested in D62904, which I successfully missed. This is just a refactor and shouldn't change any behaviour.
  150. [ARM] Set up infrastructure for MVE vector instructions. This commit prepares the way to start adding the main collection of MVE instructions, which operate on the 128-bit vector registers. The most obvious thing that's needed, and the simplest, is to add the MQPR register class, which is like the existing QPR except that it has fewer registers in it. The more complicated part: MVE defines a system of vector predication, in which instructions operating on 128-bit vector registers can be constrained to operate on only a subset of the lanes, using a system of prefix instructions similar to the existing Thumb IT, in that you have one prefix instruction which designates up to 4 following instructions as subject to predication, and within that sequence, the predicate can be inverted by means of T/E suffixes ('Then' / 'Else'). To support instructions of this type, we've added two new Tablegen classes `vpred_n` and `vpred_r` for standard clusters of MC operands to add to a predicated instruction. Both include a flag indicating how the instruction is predicated at all (options are T, E and 'not predicated'), and an input register field for the register controlling the set of active lanes. They differ from each other in that `vpred_r` also includes an input operand for the previous value of the output register, for instructions that leave inactive lanes unchanged. `vpred_n` lacks that extra operand; it will be used for instructions that don't preserve inactive lanes in their output register (either because inactive lanes are zeroed, as the MVE load instructions do, or because the output register isn't a vector at all). This commit also adds the family of prefix instructions themselves (VPT / VPST), and all the machinery needed to work with them in assembly and disassembly (e.g. generating the 't' and 'e' mnemonic suffixes on disassembled instructions within a predicated block) I've added a couple of demo instructions that derive from the new Tablegen base classes and use those two operand clusters. The bulk of the vector instructions will come in followup commits small enough to be manageable. (One exception is that I've added the full version of `isMnemonicVPTPredicable` in the AsmParser, because it seemed pointless to carefully split it up.) Reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62669
  151. [CodeGen] Add getMachineMemOperand + MachineMemOperand::Flags allocator helper wrapper. NFCI. Pre-commit for D62726 on behalf of @luke (Luke Lau)
  152. [DebugInfo] Honour variable fragments in LiveDebugValues This patch makes the LiveDebugValues pass consider fragments when propagating DBG_VALUE insts between blocks, fixing PR41979. Fragment info for a variable location is added to the open-ranges key, which allows distinct fragments to be tracked separately. To handle overlapping fragments things become slightly funkier. To avoid excessive searching for overlaps in the data-flow part of LiveDebugValues, this patch: * Pre-computes pairings of fragments that overlap, for each DILocalVariable * During data-flow, whenever something happens that causes an open range to be terminated (via erase), any fragments pre-determined to overlap are also terminated. The effect of which is that when encountering a DBG_VALUE fragment that overlaps others, the overlapped fragments do not get propagated to other blocks. We still rely on later location-list building to correctly handle overlapping fragments within blocks. It's unclear whether a mixture of DBG_VALUEs with and without fragmented expressions are legitimate. To avoid suprises, this patch interprets a DBG_VALUE with no fragment as overlapping any DBG_VALUE _with_ a fragment. Differential Revision: https://reviews.llvm.org/D62904
  153. [AMDGPU][MC] Enabled constant expressions as operands of s_getreg/s_setreg See bug 40820: https://bugs.llvm.org/show_bug.cgi?id=40820 Reviewers: artem.tamazov, arsenm Differential Revision: https://reviews.llvm.org/D61125
  154. [ThinLTO][Bitcode] Add 'entrycount' to FS_COMBINED_PROFILE. NFC Differential revision: https://reviews.llvm.org/D63078
  155. [X86][AVX] Add broadcast(v4f64 hadd) test
  156. [X86][SSE] Avoid assert for broadcast(horiz-op()) cases for non-f64 cases. Based on fuzz test from @craig.topper
  157. [X86][SSE] Add tests for underaligned nt stores Test both 'unaligned' (which we should scalarize) and 'subvector aligned' (which we should split)
  158. [llvm-nm] Additional lit tests for command line options Differential Revision: https://reviews.llvm.org/D62955
  159. [X86][SSE] Add SSE4A nt store tests on X86 as well as X64 We should be able to use MOVNTSD (f64) instead of MOVNTI (i32) to reduce the number of ops 32-bit targets Pulled out of D63246
  160. [DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC) Since the DebugLocEntry::Value is used as part of DwarfDebug and DebugLocEntry make it as the separate class. Reviewers: aprantl, dstenb Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D63213
  161. [DebugInfo] Use FrameDestroy to extend stack locations to end-of-function We aim to ignore changes in variable locations during the prologue and epilogue of functions, to avoid using space documenting location changes that aren't visible. However in D61940 / r362951 this got ripped out as the previous implementation was unsound. Instead, use the FrameDestroy flag to identify when we're in the epilogue of a function, and ignore variable location changes accordingly. This fits in with existing code that examines the FrameSetup flag. Some variable locations get shuffled in modified tests as they now cover greater ranges, which is what would be expected. Some additional single-location variables are generated too. Two tests are un-xfailed, they were only xfailed due to r362951 deleting functionality they depended on. Apparently some out-of-tree backends don't accurately maintain FrameDestroy flags -- if you're an out-of-tree maintainer and see changes in variable locations disappear due to a faulty FrameDestroy flag, it's safe to back this change out. The impact is just slightly more debug info than necessary. Differential Revision: https://reviews.llvm.org/D62314
  162. [ARM] Refactor handling of IT mask operands. During assembly, the mask operand to an IT instruction (storing the sequence of T/E for 'Then' and 'Else') is parsed out of the mnemonic into a representation that encodes 'Then' and 'Else' in the same way regardless of the condition code. At some point during encoding it has to be converted into the instruction encoding used in the architecture, in which the mask encodes a sequence of replacement low-order bits for the condition code, so that which bit value means 'then' and which 'else' depends on whether the original condition code had its low bit set. Previously, that transformation was done by processInstruction(), half way through assembly. So an MCOperand storing an IT mask would sometimes store it in one format, and sometimes in the other, depending on where in the assembly pipeline you were. You can see this in diagnostics from `llvm-mc -debug -triple=thumbv8a -show-inst`, for example: if you give it an instruction such as `itete eq`, you'd see an `<MCOperand Imm:5>` in a diagnostic become `<MCOperand Imm:11>` in the final output. Having the same data structure store values with time-dependent semantics is confusing already, and it will get more confusing when we introduce the MVE VPT instruction which reuses the Then/Else bitmask idea in a different context. So I'm refactoring: now, all `ARMOperand` and `MCOperand` representations of an IT mask work exactly the same way, namely, 0 means 'Then' and 1 means 'Else', regardless of what original predicate is being referred to. The architectural encoding of IT that depends on the original condition is now constructed at the point when we turn the `MCOperand` into the final instruction bit pattern, and decoded similarly in the disassembler. The previous condition-independent parse-time format used 0 for Else and 1 for Then. I've taken the opportunity to flip the sense of it while I'm changing all of this anyway, because it seems to me more natural to use 0 for 'leave the starting condition unchanged' and 1 for 'invert it', as if those bits were an XOR mask. Reviewers: ostannard Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63219
  163. [llvm-objcopy] Implement IHEX reader This is the final part of IHEX format support in llvm-objcopy Differential revision: https://reviews.llvm.org/D62583
  164. Improve reduction intrinsics by overloading result value. This patch uses the mechanism from D62995 to strengthen the definitions of the reduction intrinsics by letting the scalar result/accumulator type be overloaded from the vector element type. For example: ; The LLVM LangRef specifies that the scalar result must equal the ; vector element type, but this is not checked/enforced by LLVM. declare i32 @llvm.experimental.vector.reduce.or.i32.v4i32(<4 x i32> %a) This patch changes that into: declare i32 @llvm.experimental.vector.reduce.or.v4i32(<4 x i32> %a) Which has the type-constraint more explicit and causes LLVM to check the result type with the vector element type. Reviewers: RKSimon, arsenm, rnk, greened, aemerson Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D62996
  165. Revert [llvm-ar][test] Add to MRI test coverage This reverts 363232 due to mru-utf8.test buildbot test failure Differential Revision: https://reviews.llvm.org/D63197
  166. [NFC] Simplify Call query Use getIntrinsicID() directly from IntrinsicInst.
  167. [ARM][TTI] Scan for existing loop intrinsics TTI should report that it's not profitable to generate a hardware loop if it, or one of its child loops, has already been converted. Differential Revision: https://reviews.llvm.org/D63212
  168. [IntrinsicEmitter] Extend argument overloading with forward references. Extend the mechanism to overload intrinsic arguments by using either backward or forward references to the overloadable arguments. In for example: def int_something : Intrinsic<[LLVMPointerToElt<0>], [llvm_anyvector_ty], []>; LLVMPointerToElt<0> is a forward reference to the overloadable operand of type 'llvm_anyvector_ty' and would allow intrinsics such as: declare i32* @llvm.something.v4i32(<4 x i32>); declare i64* @llvm.something.v2i64(<2 x i64>); where the result pointer type is deduced from the element type of the first argument. If the returned pointer is not a pointer to the element type, LLVM will give an error: Intrinsic has incorrect return type! i64* (<4 x i32>)* @llvm.something.v4i32 Reviewers: RKSimon, arsenm, rnk, greened Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D62995
  169. [llvm-ar][test] Add to MRI test coverage This change adds tests to cover existing MRI script functionality. Differential Revision: https://reviews.llvm.org/D63197
  170. [X86] Correct instruction operands in evex-to-vex-compress.mir to be closer to real instructions. $noreg was being used way more than it should have. We also had xmm registers in addressing modes. Mostly found by hacking the machine verifier to do some stricter checking that happened to work for this test, but not sure if generally applicable for other tests or other targets.
  171. [SimplifyCFG] reverting preliminary Switch patches again This reverts 363226 and 363227, both NFC intended I swear I fixed the test case that is failing, and ran the tests, but I will look into it again.
  172. [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two and replace with an equilivent countTrailingZeros. GCD is much more expensive than this, with repeated division. This depends on D60823 Differential Revision: https://reviews.llvm.org/D61151
  173. [SimplifyCFG] NFC, update Switch tests to better examine successive patches Also add baseline tests to show effect of later patches. There were a couple of regressions here that were never caught, but my patch set that this is a preparation to will fix them. Differential Revision: https://reviews.llvm.org/D61150
  174. [X86] Add tests for some the special cases in EVEX to VEX to the evex-to-vex-compress.mir test.
  175. [SimplifyCFG] revert the last commit. I ran ALL the test suite locally, so I will look into this...
  176. [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything Also add baseline tests to show effect of later patches. Differential Revision: https://reviews.llvm.org/D61150
  177. X86: Clean up pass initialization Summary: - Remove redundant initializations from pass constructors that were already being initialized by LLVMInitializeX86Target(). - Add initialization function for the FPS pass. Reviewers: craig.topper Reviewed By: craig.topper Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63218
  178. Revert r361811: 'Re-commit r357452 (take 2): "SimplifyCFG SinkCommonCodeFromPredecessors ...' We have observed some failures with internal builds with this revision. - Performance regressions: - llvm's SingleSource/Misc evalloop shows performance regressions (although these may be red herrings). - Benchmarks for Abseil's SwissTable. - Correctness: - Failures for particular libicu tests when building the Google AppEngine SDK (for PHP). hwennborg has already been notified, and is aware of reproducer failures.
  179. [SLP] Update propagate_ir_flags.ll test to check that we do retain the common subset, NFC.
  180. [Tests] Highlight impact of multiple exit LFTR (D62625) as requested by reviewer
  181. [NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll Patch 1 of n.
  182. [llvm] Expose DWARFDebugLine::LineTable::getFileNameEntry Summary: This is useful for scenarios where Prologue was directly used and DWARF 5 awareness is required. The current alternative would be to either duplicate the logic in getFileNameEntry, or to use getFileNameByIndex. The latter isn't quite an in-place replacement - it performs some processing, and it produces a string instead of a StringRef, meaning the caller needs to handle its lifetime. Reviewers: tamur, dblaikie, JDevlieghere Reviewed By: tamur, JDevlieghere Subscribers: aprantl, llvm-commits Tags: #llvm, #debug-info Differential Revision: https://reviews.llvm.org/D63228
  183. [x86] add tests for vector shifts; NFC
  184. Sanitize llvm-extract -help output Filter out irrelevant options New output: OVERVIEW: llvm extractor USAGE: llvm-extract [options] <input bitcode file> OPTIONS: Generic Options: --help - Display available options (--help-hidden for more) --help-list - Display list of available options (--help-list-hidden for more) --version - Display the version of this program llvm-extract Options: --alias=<alias> - Specify alias to extract --bb=<function:bb> - Specify <function, basic block> pairs to extract --delete - Delete specified Globals from Module -f - Enable binary output on terminals --func=<function> - Specify function to extract --glob=<global> - Specify global to extract -o=<filename> - Specify output filename --ralias=<ralias> - Specify alias(es) to extract using a regular expression --recursive - Recursively extract all called functions --rfunc=<rfunction> - Specify function(s) to extract using a regular expression --rglob=<rglobal> - Specify global(s) to extract using a regular expression Differential Revision: https://reviews.llvm.org/D62511
  185. [NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll Patch 3 of 3 for X86/avx512vl-intrinsics-fast-isel.ll
  186. [llvm-readobj] Fix output interleaving issue caused by using multiple streams at the same time. Summary: Use llvm::fouts() as the default stream for outputing. No new stream should be constructed to output at the same time. https://bugs.llvm.org/show_bug.cgi?id=42140 Reviewers: jhenderson, grimar, MaskRay, phosek, rupprecht Reviewed By: rupprecht Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63115 Patch by Yuanfang Chen!
  187. [IndVars] Extend diagnostic -replexitval flag w/ability to bypass hard use hueristic Note: This does mean that "always" is now more powerful than it was.
  188. [NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll Patch 2 of 3 for X86/avx512vl-intrinsics-fast-isel.ll
  189. [Tests] Autogen RLEV test and add tests for a future enhancement
  190. [Tests] Add tests to highlight sibling loop optimization order issue for exit rewriting The issue addressed in r363180 is more broadly relevant. For the moment, we don't actually get any of these cases because we a) restrict SCEV formation due to SCEExpander needing to preserve LCSSA, and b) don't iterate between loops.
  191. [AMDGPU] more gfx1010 tests. NFC.
  192. [llvm-ar][test] Relax lit directory assumptions in thin-archive.test Summary: thin-archive.test assumes the Output/<testname> structure that lit creates. Rewrite the test in a way that still tests the same thing (creating via relative path and adding via absolute path) but doesn't assume this specific lit structure, making it possible to run in a lit emulator. Reviewers: gbreynoo Reviewed By: gbreynoo Subscribers: llvm-commits, bkramer Tags: #llvm Differential Revision: https://reviews.llvm.org/D62930
  193. [AMDGPU] gfx1010 dpp16 and dpp8 Differential Revision: https://reviews.llvm.org/D63203
  194. [AMDGPU] gfx1010 premlane instructions Differential Revision: https://reviews.llvm.org/D63202
  195. [Mips] Add s.d instruction alias for Mips1 Add support for s.d instruction for Mips1 which expands into two swc1 instructions. Patch by Mirko Brkusanin. Differential Revision: https://reviews.llvm.org/D63199
  196. [llvm-lipo] Update llvm-lipo docs for -archs flag The information for -archs flag is added to llvm-lipo.rst. Patch by Anusha Basana <anusha.basana@gmail.com> Differential Revision: https://reviews.llvm.org/D63100
  197. [X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores codegen tests.
  198. [SCEV] Teach computeSCEVAtScope benefit from one-input Phi. PR39673 SCEV does not propagate arguments through one-input Phis so as to make it easy for the SCEV expander (and related code) to preserve LCSSA. It's not entirely clear this restriction is neccessary, but for the moment it exists. For this reason, we don't analyze single-entry phi inputs. However it is possible that when an this input leaves the loop through LCSSA Phi, it is a provable constant. Missing that results in an order of optimization issue in loop exit value rewriting where we miss some oppurtunities based on order in which we visit sibling loops. This patch teaches computeSCEVAtScope about this case. We can generalize it later, but so far we can only replace LCSSA Phis with their constant loop-exiting values. We should probably also add similiar logic directly in the SCEV construction path itself. Patch by: mkazantsev (with revised commit message by me) Differential Revision: https://reviews.llvm.org/D58113
  199. [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123) As discussed on D62910, we need to check whether particular types of memory access are allowed, not just their alignment/address-space. This NFC patch adds a MachineMemOperand::Flags argument to allowsMemoryAccess and allowsMisalignedMemoryAccesses, and wires up calls to pass the relevant flags to them. If people are happy with this approach I can then update X86TargetLowering::allowsMisalignedMemoryAccesses to handle misaligned NT load/stores. Differential Revision: https://reviews.llvm.org/D63075
  200. [X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y),c) Handles PSHUFD/PSHUFLW/PSHUFHW (AVX2) + VPERMILPS (AVX1). An extra AVX1 PSHUFD->VPERMILPS combine will be added in a future commit.
  201. [InstCombine] add tests for fmin/fmax libcalls; NFC
  202. Revert rL363156. The patch was to fix buildbots, but rL363157 should now be fixing it in a cleaner way.
  203. [NFC[ Updated tests for D54411
  204. gn build: Add SystemZ target
  205. StackProtector: Use PointerMayBeCaptured This was using its own, outdated list of possible captures. This was at minimum not catching cmpxchg and addrspacecast captures. One change is now any volatile access is treated as capturing. The test coverage for this pass is quite inadequate, but this required removing volatile in the lifetime capture test. Also fixes some infrastructure issues to allow running just the IR pass. Fixes bug 42238.
  206. AMDGPU/GlobalISel: Fix using illegal situations in tests These were using illegal copies as the side effecting use, so make them legal.
  207. [ARM] Fix compiler warning Without this fix clang 3.6 complains with: ../lib/Target/ARM/ARMAsmPrinter.cpp:1473:18: error: variable 'BranchTarget' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] } else if (MI->getOperand(1).isSymbol()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../lib/Target/ARM/ARMAsmPrinter.cpp:1479:22: note: uninitialized use occurs here MCInst.addExpr(BranchTarget); ^~~~~~~~~~~~ ../lib/Target/ARM/ARMAsmPrinter.cpp:1473:14: note: remove the 'if' if its condition is always true } else if (MI->getOperand(1).isSymbol()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../lib/Target/ARM/ARMAsmPrinter.cpp:1465:33: note: initialize the variable 'BranchTarget' to silence this warning const MCExpr *BranchTarget; ^ = nullptr 1 error generated. Discussed here: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190610/661417.html
  208. LoopVersioning: Respect convergent This changes the standalone pass only. Arguably the utility class itself should assert there are no convergent calls. However, a target pass with additional context may still be able to version a loop if all of the dynamic conditions are sufficiently uniform.
  209. [MIR] Skip hoisting to basic block which may throw exception or return Summary: Fix hoisting to basic block which are not legal for hoisting cause it can be terminated by exception or it is return block. Reviewers: john.brawn, RKSimon, MatzeB Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63148
  210. [InstCombine] add tests for fcmp+select with FMF (minnum/maxnum); NFC
  211. LoopLoadElim: Respect convergent
  212. [DebugInfo] Add a test that fell out of an earlier commit r362951 was supposed to contain this test, however it didn't get committed due to operator error. This was originally part of D59431.
  213. LoopDistribute/LAA: Respect convergent This case is slightly tricky, because loop distribution should be allowed in some cases, and not others. As long as runtime dependency checks don't need to be introduced, this should be OK. This is further complicated by the fact that LoopDistribute partially ignores if LAA says that vectorization is safe, and then does its own runtime pointer legality checks. Note this pass still does not handle noduplicate correctly, as this should always be forbidden with it. I'm not going to bother trying to fix it, as it would require more effort and I think noduplicate should be removed. https://reviews.llvm.org/D62607
  214. gn build: Add Mips target
  215. LoopDistribute/LAA: Add tests to catch regressions I broke 2 of these with a patch, but were not covered by existing tests. https://reviews.llvm.org/D63035
  216. [NFC] Add HardwareLoops lit.local.cfg file Set Transforms/HardwareLoops/ARM/ tests as unsupported if there isn't an arm target.
  217. Attempt to fix non-Arm buildbots Adding REQUIRES: arm to failing tests
  218. Fix a Wunused-lambda-capture warning. The capture was added in the first commit of https://reviews.llvm.org/D61934 when it was used. In the reland, the use was removed but the capture wasn't removed.
  219. gn build: add RISCV target Patch from David L. Jones <dlj@google.com>, with minor tweaks by me. Differential Revision: https://reviews.llvm.org/D61821
  220. [X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat) folds. NFCI.
  221. gn build: Merge r363122
  222. [Legacy LTO] Fix build bots: r363140: Fix export name
  223. [ARM] Implement TTI::isHardwareLoopProfitable Implement the backend target hook to drive the HardwareLoops pass. The low-overhead branch extension for Arm M-class cores is flexible enough that we don't have to ensure correctness at this point, except checking that the loop counter variable can be stored in LR - a 32-bit register. For it to be profitable, we want to avoid loops that contain function calls, or any other instruction that alters the PC. This implementation uses TargetLoweringInfo, to query type and operation actions, looks at intrinsic calls and also performs some manual checks for remainder/division and FP operations. I think this should be a good base to start and extra details can be filled out later. Differential Revision: https://reviews.llvm.org/D62907
  224. [bindings/go][NFC] Format code with go fmt Run go fmt (version 1.12) over the Go bindings. This cleans up lots of inconsistencies in the code, it does not change the code in a functional way. Differential Revision: https://reviews.llvm.org/D63057
  225. [NFC][SCEV] Add NoWrapFlag argument to InsertBinOp 'Use wrap flags in InsertBinop' (rL362687) was reverted due to miscompiles. This patch introduces the previous change to pass no-wrap flags but now only FlagAnyWrap is passed. Differential Revision: https://reviews.llvm.org/D61934
  226. [docs][llvm-symbolizer] Fix typo and grammar error
  227. Share /machine: handling code with llvm-cvtres too r363016 let lld-link and llvm-lib share the /machine: parsing code. This lets llvm-cvtres share it as well. Making llvm-cvtres depend on llvm-lib seemed a bit strange (it doesn't need llvm-lib's dependencies on BinaryFormat and BitReader) and I couldn't find a good place to put this code. Since it's just a few lines, put it in lib/Object for now. Differential Revision: https://reviews.llvm.org/D63120
  228. [DOC] Fix `load` instructions' syntax, function definition. Summary: In this patch, I updated `load` instruction syntax and fixed function definition. Besides, I re-named some variables to make them obey SSA rule. Reviewers: MaskRay Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63186
  229. [XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI. Noticed in D63075 - there was a allowsMisalignedMemoryAccesses call to check for unaligned loads and a check for aligned legal type loads - which is exactly what allowsMemoryAccess does.
  230. [ThinLTO]LTO]Legacy] Fix dependent libraries support by adding querying of the IRSymtab Dependent libraries support for the legacy api was committed in a broken state (see: https://reviews.llvm.org/D60274). This was missed due to the painful nature of having to integrate the changes into a linker in order to test. This change implements support for dependent libraries in the legacy LTO api: - I have removed the current api function, which returns a single string, and added functions to access each dependent library specifier individually. - To reduce the testing pain, I have made the api functions as thin as possible to maximize coverage from llvm-lto. - When doing ThinLTO the system linker will load the modules lazily when scanning the input files. Unfortunately, when modules are lazily loaded there is no access to module level named metadata. To fix this I have added api functions that allow querying the IRSymtab for the dependent libraries. I hope to expand the api in the future so that, eventually, all the information needed by a client linker during scan can be retrieved from the IRSymtab. Differential Revision: https://reviews.llvm.org/D62935
  231. [docs] Fix typo
  232. [XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI. Noticed in D63075 - there was a allowsMisalignedMemoryAccesses call to check for unaligned loads and a check for aligned legal type loads - which is exactly what allowsMemoryAccess does.
  233. [llvm-nm] Fix docs and help text for --print-size The --print-size help text and documentation claimed that the size was printed instead of the address, but this is incorrect. It is printed as well as the address. This patch fixes this issue. Reviewed by: MaskRay, mtrent, ruiu Differential Revision: https://reviews.llvm.org/D63142
  234. Revert "[DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion" This reverts commit 1a0f7a2077b70c9864faa476e15b048686cf1ca7. See phabricator thread for D60831.
  235. [AVR] Fix the 'avr-tiny.ll' and 'avr25.ll' subtarget feature tests When these tests were originally written, the middle end would introduce an unnecessary copy from r24:r23->GPR16->r24:r23, and these tests mistakenly relied on it. The most optimal codegen for the functions in the test cases before this patch would be NOPs. This is because the first i16 argument always gets the same register allocation as an i16 return value in the AVR calling convention. These tests broke in r362963 when the codegen was improved and the redundant copy was eliminated. After this, the test functions were lowered to their optimal form - a 'ret' and nothing else. This patch prepends an extra i16 operand to each of the test functions so that a 16-bit copy must be inserted for the program to be correct.
  236. [AArch64] Merge globals when optimising for size Extern global merging is good for code-size. There's definitely potential for performance too, but there's one regression in a benchmark that needs investigating, so that's why we enable it only when we optimise for size for now. Patch by Ramakota Reddy and Sjoerd Meijer. Differential Revision: https://reviews.llvm.org/D61947
  237. gitignore: Ignore Qt Creator project configuration files. NFC
  238. [X86] Add VCMPSSZrr_Intk and VCMPSDZrr_Intk to isNonFoldablePartialRegisterLoad. The non-masked versions are already in there. I'm having some trouble coming up with a way to test this right now. Most load folding should happen during isel so I'm not sure how to get peephole pass to do it.
  239. [RISCV] Fix inline-asm.ll test by adding nounwind attribute This test failed since CFI directive support was added in r361320.
  240. [RISCV] Add CFI directives for RISCV prologue/epilog. In order to generate correct debug frame information, it needs to generate CFI information in prologue and epilog. Differential Revision: https://reviews.llvm.org/D61773
  241. [NFC] Correct comments in RegisterCoalescer. Differential Revision: https://reviews.llvm.org/D63124
  242. [PowerPC][NFC] Added test for sext/shl combination after isel.
  243. [NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll X86/combine-fabs.ll X86/avx512vl-intrinsics-fast-isel.ll is only partially complete.
  244. Fix a bug in getSCEVAtScope w.r.t. non-canonical loops The issue is that if we have a loop with multiple predecessors outside the loop, the code was expecting to merge them and only return if equal, but instead returned the first one seen. I have no idea if this actually tripped anywhere. I noticed it by accident when reading the code and have no idea how to go about constructing a test case.
  245. Generalize icmp matching in IndVars' eliminateTrunc We were only matching RHS being a loop invariant value, not the inverse. Since there's nothing which appears to canonicalize loop invariant values to RHS, this means we missed cases. Differential Revision: https://reviews.llvm.org/D63112
  246. [Analysis] add isSplatValue() for vectors in IR We have the related getSplatValue() already in IR (see code just above the proposed addition). But sometimes we only need to know that the value is a splat rather than capture the splatted scalar value. Also, we have an isSplatValue() function already in SDAG. Motivation - recent bugs that would potentially benefit from improved splat analysis in IR: https://bugs.llvm.org/show_bug.cgi?id=37428 https://bugs.llvm.org/show_bug.cgi?id=42174 Differential Revision: https://reviews.llvm.org/D63138
  247. [PowerPC][NFC]Remove sms-simple.ll test temporarily. Looks like a MachinePipeliner algorithm problem found by sanitizer-x86_64-linux-fast. I will backout this test first while investigating the problem to unblock buildbot. ==49637==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x614000002e08 at pc 0x000004364350 bp 0x7ffe228a3bd0 sp 0x7ffe228a3bc8 READ of size 4 at 0x614000002e08 thread T0 #0 0x436434f in llvm::SwingSchedulerDAG::checkValidNodeOrder(llvm::SmallVector<llvm::NodeSet, 8u> const&) const /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:3736:11 #1 0x4342cd0 in llvm::SwingSchedulerDAG::schedule() /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:486:3 #2 0x434042d in llvm::MachinePipeliner::swingModuloScheduler(llvm::MachineLoop&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:385:7 #3 0x433eb90 in llvm::MachinePipeliner::runOnMachineFunction(llvm::MachineFunction&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:207:5 #4 0x428b7ea in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13 #5 0x4d1a913 in llvm::FPPassManager::runOnFunction(llvm::Function&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1648:27 #6 0x4d1b192 in llvm::FPPassManager::runOnModule(llvm::Module&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1685:16 #7 0x4d1c06d in runOnModule /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1752:27 #8 0x4d1c06d in llvm::legacy::PassManagerImpl::run(llvm::Module&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1865 #9 0xa48ca3 in compileModule(char**, llvm::LLVMContext&) /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:611:8 #10 0xa4270f in main /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:365:22 #11 0x7fec902572e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0) #12 0x971b69 in _start (/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x971b69)
  248. [docs] Add "GNU binutils Replacements" section to command guide Summary: This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches. Tested by running `ninja docs-llvm-html` and inspecting locally. Reviewers: jhenderson, MaskRay, grimar, alexshap Reviewed By: jhenderson, MaskRay, grimar Subscribers: smeenai, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63014
  249. [GlobalISel] Add a G_JUMP_TABLE opcode. This opcode generates a pointer to the address of the jump table specified by the source operand, which is a jump table index. It will be used in conjunction with an upcoming G_BRJT opcode to support jump table codegen with GlobalISel. Differential Revision: https://reviews.llvm.org/D63111
  250. [MemorySSA] When applying updates, clean unnecessary Phis. Summary: After applying a set of insert updates, there may be trivial Phis left over. Clean them up. Reviewers: george.burgess.iv Subscribers: jlebar, Prazek, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63033
  251. [NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll
  252. Only passes that preserve MemorySSA must mark it as preserved. Summary: The method `getLoopPassPreservedAnalyses` should not mark MemorySSA as preserved, because it's being called in a lot of passes that do not preserve MemorySSA. Instead, mark the MemorySSA analysis as preserved by each pass that does preserve it. These changes only affect the new pass mananger. Reviewers: chandlerc Subscribers: mehdi_amini, jlebar, Prazek, george.burgess.iv, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62536
  253. Deduplicate S_CONSTANTs in LLD. Summary: Deduplicate S_CONSTANTS when linking, if they have the same value. Reviewers: rnk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63151
  254. [PowerPC] Enable MachinePipeliner for P9 with -ppc-enable-pipeliner Implement necessary target hooks to enable MachinePipeliner for P9 only. The pass is off by default, can be enabled with -ppc-enable-pipeliner for P9. Differential Revision: https://reviews.llvm.org/D62164
  255. [NFC][CodeGen] Add unary fneg tests to X86/fma-fneg-combine.ll
  256. [Path] Set FD to -1 in moved-from TempFile When moving a temp file, explicitly set the file descriptor to -1 so we can never accidentally close the moved-from TempFile. Differential revision: https://reviews.llvm.org/D63087
  257. [InstCombine] Handle -(X-Y) --> (Y-X) for unary fneg when NSZ Differential Revision: https://reviews.llvm.org/D62612
  258. [docs][llvm-nm] Add darwin as --format option
  259. [InstCombine] Update fptrunc (fneg x)) -> (fneg (fptrunc x) for unary FNeg Differential Revision: https://reviews.llvm.org/D62629
  260. Fix docs build issue introduced by r363035 Replacing '.. code-block:: llvm' by '::' is a quick fix to the build warning/error: Could not lex literal_block as "llvm".
  261. lld-link: Reject more than one resource .obj file Users are exepcted to pass all .res files to the linker, which then merges all the resource in all .res files into a tree structure and then converts the final tree structure to a .obj file with .rsrc$01 and .rsrc$02 sections and then links that. If the user instead passes several .obj files containing such resources, the correct thing to do would be to have custom code to merge the trees in the resource sections instead of doing normal section merging -- but link.exe rejects if multiple resource obj files are passed in with LNK4078, so let lld-link do that too instead of silently writing broken .rsrc sections in that case. The only real way to run into this is if users manually convert .res files to .obj files by running cvtres and then handing the resulting .obj files to lld-link instead, which in practice likely never happens. (lld-link is slightly stricter than link.exe now: If link.exe is passed one .obj file created by cvtres, and a .res file, for some reason it just emits a warning instead of an error and outputs strange looking data. lld-link now errors out on mixed input like this.) One way users could accidentally run into this is the following scenario: If a .res file is passed to lib.exe, then lib.exe calls cvtres.exe on the .res file before putting it in the output .lib. (llvm-lib currently doesn't do this.) link.exe's /wholearchive seems to only add obj files referenced from the static library index, but lld-link current really adds all files in the archive. So if lld-link /wholearchive is used with .lib files produced by lib.exe and .res files were among the files handed to lib.exe, we previously silently produced invalid output, but now we error out. link.exe's /wholearchive semantics on the other hand mean that it wouldn't load the resource object files from the .lib file at all. Since this scenario is probably still an unlikely corner case, the difference in behavior here seems fine -- and lld-link might have to change to use link.exe's /wholearchive semantics in the future anyways. Vaguely related to PR42180. Differential Revision: https://reviews.llvm.org/D63109
  262. [X86] Regenerate CmpISel test for future patch
  263. [docs][llvm-nm] Make --help help text consistent with other options
  264. [llvm-dwarfdump] Simplify --ignore-case help text and documentation There was a typo in the --ignore-case help text that was copied into the llvm-dwarfdump command-guide. Additionally, this patch simplifies the wording, since it was unnecessarily verbose: the switch applies for searching in general and doesn't need explicitly stating different search modes (which might go out-of-date as options are added or removed). Reviwed by: JDevlieghere Differential Revision: https://reviews.llvm.org/D63133
  265. [docs][llvm-nm] Fix documentation regarding llvm-nm reading stdin llvm-nm reads a.out NOT stdin when no input file is specified. This patch fixes the doc accordingly, and rephrases the surrounding sentence slightly. Reviewed by: grimar Differential Revision: https://reviews.llvm.org/D63135
  266. [ARM] Fix a typo in the test from r363039
  267. [RISCV] Add lowering of addressing sequences for PIC This patch allows lowering of PIC addresses by using PC-relative addressing for DSO-local symbols and accessing the address through the global offset table for non-DSO-local symbols. Differential Revision: https://reviews.llvm.org/D55303
  268. [RISCV][NFC] Add missing test file for D54093
  269. [RISCV] Lower inline asm constraints I, J & K for RISC-V This validates and lowers arguments to inline asm nodes which have the constraints I, J & K, with the following semantics (equivalent to GCC): I: Any 12-bit signed immediate. J: Immediate integer zero only. K: Any 5-bit unsigned immediate. Differential Revision: https://reviews.llvm.org/D54093
  270. [ARM] First MVE instructions: scalar shifts. This introduces a new decoding table for MVE instructions, and starts by adding the family of scalar shift instructions that are part of the MVE architecture extension: saturating shifts within a single GPR, and long shifts across a pair of GPRs (both saturating and normal). Some of these shift instructions have only 3-bit register fields in the encoding, with the low bit fixed. So they can only address an odd or even numbered GPR (depending on the operand), and therefore I add two new register classes, GPREven and GPROdd. Differential Revision: https://reviews.llvm.org/D62668 Change-Id: Iad95d5f83d26aef70c674027a184a6b1e0098d33
  271. Let writeWindowsResourceCOFF() take a TimeStamp parameter For lld, pass in Config->Timestamp (which is set based on lld's /timestamp: and /Brepro flags). Since the writeWindowsResourceCOFF() data is only used in-memory by LLD and the obj's timestamp isn't used for anything in the output, this doesn't change behavior. For llvm-cvtres, add an optional /timestamp: parameter, and use the current behavior of calling time() if the parameter is not passed in. This doesn't really change observable behavior (unless someone passes /timestamp: to llvm-cvtres, which wasn't possible before), but it removes the last unqualified call to time() from llvm/lib, which seems like a good thing. Differential Revision: https://reviews.llvm.org/D63116
  272. [NFC] Fixed arm/aarch64 test
  273. [TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI. As suggested by @arsenm on D63075 - this adds a TargetLowering::allowsMemoryAccess wrapper that takes a Load/Store node's MachineMemOperand to handle the AddressSpace/Alignment arguments and will also implicitly handle the MachineMemOperand::Flags change in D63075.
  274. [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion Summary: Bug: https://bugs.llvm.org/show_bug.cgi?id=39024 The bug reports that a vectorized loop is stepped through 4 times and each step through the loop seemed to show a different path. I found two problems here: A) An incorrect line number on a preheader block (for.body.preheader) instruction causes a step into the loop before it begins. B) Instructions in the middle block have different line numbers which give the impression of another iteration. In this patch I give all of the middle block instructions the line number of the scalar loop latch terminator branch. This seems to provide the smoothest debugging experience because the vectorized loops will always end on this line before dropping into the scalar loop. To solve problem A I have altered llvm::SplitBlockPredecessors to accommodate loop header blocks. I have set up a separate review D61933 for a fix which is required for this patch. Reviewers: samsonov, vsk, aprantl, probinson, anemet, hfinkel, jmorse Reviewed By: hfinkel, jmorse Subscribers: jmorse, javed.absar, eraman, kcc, bjope, jmellorcrummey, hfinkel, gbedwell, hiraditya, zzheng, llvm-commits Tags: #llvm, #debug-info Differential Revision: https://reviews.llvm.org/D60831
  275. [llvm-readobj] - Do not use precompiled binary in elf-broken-dynsym-link.test Now we can remove the "TODO" since https://bugs.llvm.org/show_bug.cgi?id=42216 was fixed.
  276. [llvm-dwarfdump] Add -o to help text and remove --out-file from doc -o is in the documentation, but not in the llvm-dwarfdump help text. This patch adds it by inverting the -o and --out-file aliasing. It also removes --out-file from the documentation, since we don't really want people to be using this switch in practice. Reviewed by: aprantl, JDevlieghere, dblaikie Differential Revision: https://reviews.llvm.org/D63013
  277. [ARM] Fix unused-variable warning in rL363039. The variable `OffsetMask` is currently only used in an assertion, so if assertions are compiled out and -Werror is enabled, it becomes a build failure.
  278. [yaml2elf] - Check we are able to set custom sh_link for .symtab/.dynsym Allow using both custom numeric and string values for Link field of the dynamic and regular symbol tables. Differential revision: https://reviews.llvm.org/D63077
  279. [DAGCombine] GetNegatedExpression - constant float vector support (PR42105) Add support for negation of constant build vectors. Differential Revision: https://reviews.llvm.org/D62963
  280. [ARM] Add the non-MVE instructions in Arm v8.1-M. This adds support for the new family of conditional selection / increment / negation instructions; the low-overhead branch instructions (e.g. BF, WLS, DLS); the CLRM instruction to zero a whole list of registers at once; the new VMRS/VMSR and VLDR/VSTR instructions to get data in and out of 8.1-M system registers, particularly including the new VPR register used by MVE vector predication. To support this, we also add a register name 'zr' (used by the CSEL family to force one of the inputs to the constant 0), and operand types for lists of registers that are also allowed to include APSR or VPR (used by CLRM). The VLDR/VSTR instructions also need a new addressing mode. The low-overhead branch instructions exist in their own separate architecture extension, which we treat as enabled by default, but you can say -mattr=-lob or equivalent to turn it off. Reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover Reviewed By: samparker Subscribers: miyuki, javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62667
  281. Change semantics of fadd/fmul vector reductions. This patch changes how LLVM handles the accumulator/start value in the reduction, by never ignoring it regardless of the presence of fast-math flags on callsites. This change introduces the following new intrinsics to replace the existing ones: llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.v2.fadd llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.v2.fmul and adds functionality to auto-upgrade existing LLVM IR and bitcode. Reviewers: RKSimon, greened, dmgreen, nikic, simoll, aemerson Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D60261
  282. [X86] Add load folding isel patterns to scalar_math_patterns and AVX512_scalar_math_fp_patterns. Also add a FIXME for the peephole pass not being able to handle this.
  283. Revert CMake: Make most target symbols hidden by default This reverts r362990 (git commit 374571301dc8e9bc9fdd1d70f86015de198673bd) This was causing linker warnings on Darwin: ld: warning: direct access in function 'llvm::initializeEvexToVexInstPassPass(llvm::PassRegistry&)' from file '../../lib/libLLVMX86CodeGen.a(X86EvexToVex.cpp.o)' to global weak symbol 'void std::__1::__call_once_proxy<std::__1::tuple<void* (&)(llvm::PassRegistry&), std::__1::reference_wrapper<llvm::PassRegistry>&&> >(void*)' from file '../../lib/libLLVMCore.a(Verifier.cpp.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
  284. Symbolize: Make DWPName a symbolizer option instead of an argument to symbolize{,Inlined}Code. This makes the interface simpler and more consistent with the interface for .dSYM files and fixes a bug where llvm-symbolizer would not read the dwp if it was asked to symbolize data before symbolizing code. Differential Revision: https://reviews.llvm.org/D63114
  285. Symbolize: Replace the Options constructor with in-class initialization. NFCI. This is not only less code but also clearer at the use site. Differential Revision: https://reviews.llvm.org/D63113
  286. AtomicExpand: Don't crash on non-0 alloca This now produces garbage on AMDGPU with a call to an nonexistent, anonymous libcall but won't assert.
  287. AMDGPU: Expand < 32-bit atomics Also fix AtomicExpand asserting on atomicrmw fadd/fsub.
  288. gn build: Merge r362939
  289. gn build: Merge r362972
  290. llvm-lib: Implement /machine: argument And share some code with lld-link. While here, also add a FIXME about PR42180 and merge r360150 to llvm-lib. Differential Revision: https://reviews.llvm.org/D63021
  291. Setup testing target dependencies for default runtimes Summary: The default runtimes targets aren't getting their dependencies configured correctly which results in check-runtimes failing when built from a clean build. Reviewers: phosek, compnerd Reviewed By: phosek Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63107
  292. [AArch64] Add more CPUs to host detection Returns "cortex-a73" for 3rd and 4th gen Kryo; not precisely correct, but close enough. Differential Revision: https://reviews.llvm.org/D63099
  293. [MIR-Canon] Fixing non-determinism that was breaking bots (NFC). An earlier fix of a subtle iterator invalidation bug had uncovered a nondeterminism that was present in the MultiUsers bag. Problem was that MultiUsers was being looked up using pointers. This patch is an NFC change that numbers each multiuser and processes each in numbered order. This fixes the test failure on netbsd and will likely fix the green-dragon bot too.
  294. Break a couple more false dependencies on target libraries Summary: Repeat r361567 for a few more tools. Reviewers: bogner Reviewed By: bogner Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62438
  295. [dsymutil] Remove stale comment (NFC) The comment was no longer relevant after r362621.
  296. [Support] Explicitly detect recursive response files Previous detection relied upon an arbitrary hard coded limit of 21 response files, which some code bases were running up against. The new detection maintains a stack of processing response files and explicitly checks if a newly encountered file is in the current stack. Some bookkeeping data is necessary in order to detect when to pop the stack. Patch by Chris Glover. Differential Revision: https://reviews.llvm.org/D62798
  297. [PGO] Fix the buildbot failure in r362995 Fixed one unused variable warning.
  298. [Tests] Adjust LFTR dead-iv tests to bypass undef cases As pointed out by Nikita in review, undef and poison need to be handled separately. Since we're no longer expecting any test improvements - just fixes for miscompiles - update the tests to bypass the existing undef check.
  299. [NFC][CodeGen] Forgot 2 unary FNeg tests in X86/fma-intrinsics-canonical.ll Follow-up to r362999.
  300. [NFC][CodeGen] Add unary FNeg tests to X86/fma-intrinsics-canonical.ll
  301. Fix typo from r362990 to fix Windows builds
  302. [PGO] Handle cases of non-instrument BBs As shown in PR41279, some basic blocks (such as catchswitch) cannot be instrumented. This patch filters out these BBs in PGO instrumentation. It also sets the profile count to the fail-to-instrument edge, so that we can propagate the counts in the CFG. Differential Revision: https://reviews.llvm.org/D62700
  303. [Tests] Split an LFTR dead-iv case There are two interesting sub-cases here. 1) Switching IVs is legal, but only in pre-increment form. and 2) Switching IVs is legal, and so is post-increment form.
  304. CMake: Make most target symbols hidden by default Summary: For builds with LLVM_BUILD_LLVM_DYLIB=ON and BUILD_SHARED_LIBS=OFF this change makes all symbols in the target specific libraries hidden by default. A new macro called LLVM_EXTERNAL_VISIBILITY has been added to mark symbols in these libraries public, which is mainly needed for the definitions of the LLVMInitialize* functions. This patch reduces the number of public symbols in libLLVM.so by about 25%. This should improve load times for the dynamic library and also make abi checker tools, like abidiff require less memory when analyzing libLLVM.so One side-effect of this change is that for builds with LLVM_BUILD_LLVM_DYLIB=ON and LLVM_LINK_LLVM_DYLIB=ON some unittests that access symbols that are no longer public will need to be statically linked. Before and after public symbol counts (using gcc 8.2.1, ld.bfd 2.31.1): nm before/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l 36221 nm after/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l 26278 Reviewers: chandlerc, beanz, mgorny, rnk, hans Reviewed By: rnk, hans Subscribers: Jim, hiraditya, michaelplatings, chapuni, jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, javed.absar, sbc100, jgravelle-google, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, mgrang, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, kristina, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D54439
  305. [GlobalISel] Translate memset/memmove/memcpy from undef ptrs into nops If the source is undef, then just don't do anything. This matches SelectionDAG's behaviour in SelectionDAG.cpp. Also add a test showing that we do the right thing here. (irtranslator-memfunc-undef.ll) Differential Revision: https://reviews.llvm.org/D63095
  306. [NFC][CodeGen] Add unary FNeg tests to some X86/ and XCore/ tests.
Revision 363501 by rksimon:
[X86] CombineShuffleWithExtract - assert all src ops types are multiples of rootsize. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
Revision 363500 by rksimon:
[X86][AVX] Handle lane-crossing shuffle(extract_subvector(x,c1),extract_subvector(y,c2),m1) shuffles

Pull out the existing (non)lane-crossing fold into a helper lambda and use for lane-crossing unary shuffles as well.

Fixes PR34380
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-shuffles/partial_permute.lltrunk/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-512-v8.lltrunk/test/CodeGen/X86/vector-shuffle-512-v8.ll
Revision 363499 by rksimon:
[X86][AVX] Decode constant bits from insert_subvector(c1, c2, c3)

This mostly happens due to SimplifyDemandedVectorElts reducing a vector to insert_subvector(undef, c1, 0)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-shuffles/partial_permute.lltrunk/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-avx.lltrunk/test/CodeGen/X86/vector-shuffle-combining-avx.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-avx512bw.lltrunk/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-xop.lltrunk/test/CodeGen/X86/vector-shuffle-combining-xop.ll
Revision 363498 by lebedevri:
[NFC][MCA][X86] Add one more 'clear super register' pattern - movss/movsd load clears high XMM bits
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/clear-super-register-2.strunk/test/tools/llvm-mca/X86/Barcelona/clear-super-register-2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-3.strunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-3.s
Revision 363497 by lebedevri:
[NFC][MCA][X86] Add baseline test coverage for AMD Barcelona (aka K10, fam10h)

Looking into sched model for that CPU ...
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelonatrunk/test/tools/llvm-mca/X86/Barcelona
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/clear-super-register-1.strunk/test/tools/llvm-mca/X86/Barcelona/clear-super-register-1.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-cmp.strunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-cmp.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpeq.strunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpeq.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpgt.strunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpgt.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-1.strunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-1.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-2.strunk/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-1.strunk/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-1.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-2.strunk/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-3.strunk/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-3.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/one-idioms.strunk/test/tools/llvm-mca/X86/Barcelona/one-idioms.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-2.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-3.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-3.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-4.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-4.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-5.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-5.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-6.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-6.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-7.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-7.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update.strunk/test/tools/llvm-mca/X86/Barcelona/partial-reg-update.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/rcu-statistics.strunk/test/tools/llvm-mca/X86/Barcelona/rcu-statistics.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/read-advance-1.strunk/test/tools/llvm-mca/X86/Barcelona/read-advance-1.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/read-advance-2.strunk/test/tools/llvm-mca/X86/Barcelona/read-advance-2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/read-advance-3.strunk/test/tools/llvm-mca/X86/Barcelona/read-advance-3.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-1.strunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-1.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-2.strunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-3.strunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-3.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-4.strunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-4.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-5.strunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-5.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-6.strunk/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-6.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-3dnow.strunk/test/tools/llvm-mca/X86/Barcelona/resources-3dnow.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmov.strunk/test/tools/llvm-mca/X86/Barcelona/resources-cmov.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.strunk/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-lea.strunk/test/tools/llvm-mca/X86/Barcelona/resources-lea.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-lzcnt.strunk/test/tools/llvm-mca/X86/Barcelona/resources-lzcnt.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-mmx.strunk/test/tools/llvm-mca/X86/Barcelona/resources-mmx.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-popcnt.strunk/test/tools/llvm-mca/X86/Barcelona/resources-popcnt.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-prefetchw.strunk/test/tools/llvm-mca/X86/Barcelona/resources-prefetchw.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-sse1.strunk/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-sse2.strunk/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-sse3.strunk/test/tools/llvm-mca/X86/Barcelona/resources-sse3.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-sse4a.strunk/test/tools/llvm-mca/X86/Barcelona/resources-sse4a.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_32.strunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_32.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.strunk/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/resources-x87.strunk/test/tools/llvm-mca/X86/Barcelona/resources-x87.s
The file was added/llvm/trunk/test/tools/llvm-mca/X86/Barcelona/zero-idioms.strunk/test/tools/llvm-mca/X86/Barcelona/zero-idioms.s
The file was modified/llvm/trunk/test/tools/llvm-mca/X86/cpus.strunk/test/tools/llvm-mca/X86/cpus.s
The file was modified/llvm/trunk/test/tools/llvm-mca/X86/read-after-ld-1.strunk/test/tools/llvm-mca/X86/read-after-ld-1.s
The file was modified/llvm/trunk/test/tools/llvm-mca/X86/register-file-statistics.strunk/test/tools/llvm-mca/X86/register-file-statistics.s
The file was modified/llvm/trunk/test/tools/llvm-mca/X86/scheduler-queue-usage.strunk/test/tools/llvm-mca/X86/scheduler-queue-usage.s
The file was modified/llvm/trunk/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.strunk/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s
Revision 363496 by aaronpuchert:
[Clang] Harmonize Split DWARF options with llc

Summary:
With Split DWARF the resulting object file (then called skeleton CU)
contains the file name of another ("DWO") file with the debug info.
This can be a problem for remote compilation, as it will contain the
name of the file on the compilation server, not on the client.

To use Split DWARF with remote compilation, one needs to either

* make sure only relative paths are used, and mirror the build directory
  structure of the client on the server,
* inject the desired file name on the client directly.

Since llc already supports the latter solution, we're just copying that
over. We allow setting the actual output filename separately from the
value of the DW_AT_[GNU_]dwo_name attribute in the skeleton CU.

Fixes PR40276.

Reviewers: dblaikie, echristo, tejohnson

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D59673
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/CodeGenOptions.hN/A
The file was modified/cfe/trunk/include/clang/Driver/CC1Options.tdN/A
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cppN/A
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cppN/A
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cppN/A
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cppN/A
The file was modified/cfe/trunk/test/CodeGen/split-debug-filename.cN/A
The file was added/cfe/trunk/test/CodeGen/split-debug-output.cN/A
The file was modified/cfe/trunk/test/CodeGen/split-debug-single-file.cN/A
The file was modified/cfe/trunk/test/CodeGen/thinlto-split-dwarf.cN/A
The file was modified/cfe/trunk/test/Driver/split-debug.cN/A
The file was modified/llvm/trunk/include/llvm/LTO/Config.htrunk/include/llvm/LTO/Config.h
The file was modified/llvm/trunk/lib/LTO/LTOBackend.cpptrunk/lib/LTO/LTOBackend.cpp
Revision 363495 by zhangkang:
[PowerPC] Set the innermost hot loop to align 32 bytes

Summary:
If the nested loop is an innermost loop, prefer to a 32-byte alignment, so that
we can decrease cache misses and branch-prediction misses. Actual alignment of
the loop will depend on the hotness check and other logic in alignBlocks.

The old code will only align hot loop to 32 bytes when the LoopSize larger than
16 bytes and smaller than 32 bytes, this patch will align the innermost hot loop
to 32 bytes not only for the hot loop whose size is 16~32 bytes.

Reviewed By: steven.zhang, jsji

Differential Revision: https://reviews.llvm.org/D61228
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpptrunk/lib/Target/PowerPC/PPCISelLowering.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/loop-align.lltrunk/test/CodeGen/PowerPC/loop-align.ll
Revision 363493 by tyker:
[clang] Add storage for APValue in ConstantExpr

Summary:
When using ConstantExpr we often need the result of the expression to be kept in the AST. Currently this is done on a by the node that needs the result and has been done multiple times for enumerator, for constexpr variables... . This patch adds to ConstantExpr the ability to store the result of evaluating the expression. no functional changes expected.

Changes:
- Add trailling object to ConstantExpr that can hold an APValue or an uint64_t. the uint64_t is here because most ConstantExpr yield integral values so there is an optimized layout for integral values.
- Add basic* serialization support for the trailing result.
- Move conversion functions from an enum to a fltSemantics from clang::FloatingLiteral to llvm::APFloatBase. this change is to make it usable for serializing APValues.
- Add basic* Import support for the trailing result.
- ConstantExpr created in CheckConvertedConstantExpression now stores the result in the ConstantExpr Node.
- Adapt AST dump to print the result when present.

basic* : None, Indeterminate, Int, Float, FixedPoint, ComplexInt, ComplexFloat,
the result is not yet used anywhere but for -ast-dump.

Reviewers: rsmith, martong, shafik

Reviewed By: rsmith

Subscribers: rnkovacs, hiraditya, dexonsmith, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D62399
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/APValue.hN/A
The file was modified/cfe/trunk/include/clang/AST/ASTContext.hN/A
The file was modified/cfe/trunk/include/clang/AST/Expr.hN/A
The file was modified/cfe/trunk/include/clang/AST/Stmt.hN/A
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.hN/A
The file was modified/cfe/trunk/include/clang/Serialization/ASTReader.hN/A
The file was modified/cfe/trunk/include/clang/Serialization/ASTWriter.hN/A
The file was modified/cfe/trunk/lib/AST/APValue.cppN/A
The file was modified/cfe/trunk/lib/AST/ASTContext.cppN/A
The file was modified/cfe/trunk/lib/AST/ASTImporter.cppN/A
The file was modified/cfe/trunk/lib/AST/Expr.cppN/A
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cppN/A
The file was modified/cfe/trunk/lib/Sema/SemaOverload.cppN/A
The file was modified/cfe/trunk/lib/Serialization/ASTReader.cppN/A
The file was modified/cfe/trunk/lib/Serialization/ASTReaderStmt.cppN/A
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cppN/A
The file was modified/cfe/trunk/lib/Serialization/ASTWriterStmt.cppN/A
The file was modified/cfe/trunk/test/AST/ast-dump-color.cppN/A
The file was modified/llvm/trunk/include/llvm/ADT/APFloat.htrunk/include/llvm/ADT/APFloat.h
The file was modified/llvm/trunk/lib/Support/APFloat.cpptrunk/lib/Support/APFloat.cpp
Revision 363492 by maskray:
[BranchProbability] Delete a redundant overflow check
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/BranchProbability.cpptrunk/lib/Support/BranchProbability.cpp
Revision 363490 by nikic:
[SCEV] Use unsigned/signed intersection type in SCEV

Based on D59959, this switches SCEV to use unsigned/signed range
intersection based on the sign hint. This will prefer non-wrapping
ranges in the relevant domain. I've left the one intersection in
getRangeForAffineAR() to use the smallest intersection heuristic,
as there doesn't seem to be any obvious preference there.

Differential Revision: https://reviews.llvm.org/D60035
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolution.cpptrunk/lib/Analysis/ScalarEvolution.cpp
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/extract-highbits-sameconstmask.lltrunk/test/Analysis/ScalarEvolution/extract-highbits-sameconstmask.ll
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.lltrunk/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.lltrunk/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.lltrunk/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.ll
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/sext-mul.lltrunk/test/Analysis/ScalarEvolution/sext-mul.ll
Revision 363489 by nikic:
[SimplifyIndVar] Simplify non-overflowing saturating add/sub

If we can detect that saturating math that depends on an IV cannot
overflow, replace it with simple math. This is similar to the CVP
optimization from D62703, just based on a different underlying
analysis (SCEV vs LVI) that catches different cases.

Differential Revision: https://reviews.llvm.org/D62792
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpptrunk/lib/Transforms/Utils/SimplifyIndVar.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/eliminate-sat.lltrunk/test/Transforms/IndVarSimplify/eliminate-sat.ll
Revision 363487 by maskray:
[RISCV] Regenerate remat.ll and atomic-rmw.ll after D43256
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/RISCV/atomic-rmw.lltrunk/test/CodeGen/RISCV/atomic-rmw.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/remat.lltrunk/test/CodeGen/RISCV/remat.ll
Revision 363486 by maskray:
[RISCV] Simplify RISCVAsmBackend::writeNopData(). NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpptrunk/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Revision 363485 by abrachet:
[objcopy] Error when --preserve-dates is specified with standard streams

Summary: llvm-objcopy/strip now error when -p is specified when reading from stdin or writing to stdout

Reviewers: jhenderson, rupprecht, espindola, alexshap

Reviewed By: jhenderson, rupprecht

Subscribers: emaste, arichardson, jakehehrlich, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63090
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/invalid-preserve-dates.testtrunk/test/tools/llvm-objcopy/ELF/invalid-preserve-dates.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpptrunk/tools/llvm-objcopy/CopyConfig.cpp
Revision 363484 by mcberg2017:
adding more fmf propagation for selects plus updated tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpptrunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/select_fmf.lltrunk/test/CodeGen/AArch64/select_fmf.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fdiv-combine.lltrunk/test/CodeGen/X86/fdiv-combine.ll
Revision 363482 by maskray:
Revert "adding more fmf propagation for selects plus tests"

This reverts rL363474. -debug-only=isel was added to some tests that
don't specify `REQUIRES: asserts`. This causes failures on
-DLLVM_ENABLE_ASSERTIONS=off builds.

I chose to revert instead of fixing the tests because I'm not sure
whether we should add `REQUIRES: asserts` to more tests.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpptrunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-fmax.lltrunk/test/CodeGen/AArch64/arm64-fmax.ll
The file was removed/llvm/trunk/test/CodeGen/AArch64/select_fmf.lltrunk/test/CodeGen/AArch64/select_fmf.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fdiv-combine.lltrunk/test/CodeGen/X86/fdiv-combine.ll
Revision 363479 by huihuiz:
[InstCombine] Add tests to show missing fold opportunity for "icmp and shift" (nfc).

Summary:
For icmp pred (and (sh X, Y), C), 0

  When C is signbit, expect to fold (X << Y) & signbit ==/!= 0 into (X << Y) >=/< 0,
  rather than (X & (signbit >> Y)) != 0.

  When C+1 is power of 2, expect to fold (X << Y) & ~C ==/!= 0 into (X << Y) </>= C+1,
  rather than (X & (~C >> Y)) == 0.

For icmp pred (and X, (sh signbit, Y)), 0

  Expect to fold (X & (signbit l>> Y)) ==/!= 0 into (X << Y) >=/< 0
  Expect to fold (X & (signbit << Y)) ==/!= 0 into (X l>> Y) >=/< 0

  Reviewers: lebedev.ri, efriedma, spatel, craig.topper

  Reviewed By: lebedev.ri

  Subscribers: llvm-commits

  Tags: #llvm

  Differential Revision: https://reviews.llvm.org/D63025
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.lltrunk/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.lltrunk/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.lltrunk/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.lltrunk/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/signbit-lshr-and-icmpeq-zero.lltrunk/test/Transforms/InstCombine/signbit-lshr-and-icmpeq-zero.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/signbit-shl-and-icmpeq-zero.lltrunk/test/Transforms/InstCombine/signbit-shl-and-icmpeq-zero.ll
Revision 363478 by arsenm:
Reapply "GlobalISel: Avoid producing Illegal copies in RegBankSelect"

This reapplies r363410, avoiding null dereference if there is no
AltRegBank.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.htrunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpptrunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpptrunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mir
Revision 363477 by rsmith:
Add a map_range function for applying map_iterator to a range.

In preparation for use in Clang.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/STLExtras.htrunk/include/llvm/ADT/STLExtras.h
Revision 363476 by hctim:
Revert "GlobalISel: Avoid producing Illegal copies in RegBankSelect"

This patch breaks UBSan build bots. See
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild for
a guide as to how to reproduce the error.

This reverts commit c2864c0de07efb5451d32d27a7d4ff2984830929.
This reverts rL363410.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.htrunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpptrunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpptrunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mir
Revision 363474 by mcberg2017:
adding more fmf propagation for selects plus tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpptrunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-fmax.lltrunk/test/CodeGen/AArch64/arm64-fmax.ll
The file was added/llvm/trunk/test/CodeGen/AArch64/select_fmf.lltrunk/test/CodeGen/AArch64/select_fmf.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fdiv-combine.lltrunk/test/CodeGen/X86/fdiv-combine.ll
Revision 363471 by carrot:
[MBP] Move a latch block with conditional exit and multi predecessors to top of loop

Current findBestLoopTop can find and move one kind of block to top, a latch block has one successor. Another common case is:

    * a latch block
    * it has two successors, one is loop header, another is exit
    * it has more than one predecessors

If it is below one of its predecessors P, only P can fall through to it, all other predecessors need a jump to it, and another conditional jump to loop header. If it is moved before loop header, all its predecessors jump to it, then fall through to loop header. So all its predecessors except P can reduce one taken branch.

Differential Revision: https://reviews.llvm.org/D43256
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpptrunk/lib/CodeGen/MachineBlockPlacement.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/cmpxchg-idioms.lltrunk/test/CodeGen/AArch64/cmpxchg-idioms.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/neg-imm.lltrunk/test/CodeGen/AArch64/neg-imm.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/tailmerging_in_mbp.lltrunk/test/CodeGen/AArch64/tailmerging_in_mbp.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/collapse-endcf.lltrunk/test/CodeGen/AMDGPU/collapse-endcf.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.lltrunk/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/global_smrd_cfg.lltrunk/test/CodeGen/AMDGPU/global_smrd_cfg.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hoist-cond.lltrunk/test/CodeGen/AMDGPU/hoist-cond.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/i1-copy-from-loop.lltrunk/test/CodeGen/AMDGPU/i1-copy-from-loop.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/indirect-addressing-si.lltrunk/test/CodeGen/AMDGPU/indirect-addressing-si.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/loop_break.lltrunk/test/CodeGen/AMDGPU/loop_break.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/loop_exit_with_xor.lltrunk/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/madmk.lltrunk/test/CodeGen/AMDGPU/madmk.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/multilevel-break.lltrunk/test/CodeGen/AMDGPU/multilevel-break.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/optimize-negated-cond.lltrunk/test/CodeGen/AMDGPU/optimize-negated-cond.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/si-annotate-cf.lltrunk/test/CodeGen/AMDGPU/si-annotate-cf.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/valu-i1.lltrunk/test/CodeGen/AMDGPU/valu-i1.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/wqm.lltrunk/test/CodeGen/AMDGPU/wqm.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/2011-03-23-PeepholeBug.lltrunk/test/CodeGen/ARM/2011-03-23-PeepholeBug.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/arm-and-tst-peephole.lltrunk/test/CodeGen/ARM/arm-and-tst-peephole.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/atomic-cmp.lltrunk/test/CodeGen/ARM/atomic-cmp.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/atomic-cmpxchg.lltrunk/test/CodeGen/ARM/atomic-cmpxchg.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/code-placement.lltrunk/test/CodeGen/ARM/code-placement.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/pr32578.lltrunk/test/CodeGen/ARM/pr32578.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/swifterror.lltrunk/test/CodeGen/ARM/swifterror.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/bug6757-endloop.lltrunk/test/CodeGen/Hexagon/bug6757-endloop.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/early-if-merge-loop.lltrunk/test/CodeGen/Hexagon/early-if-merge-loop.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/prof-early-if.lltrunk/test/CodeGen/Hexagon/prof-early-if.ll
The file was modified/llvm/trunk/test/CodeGen/Hexagon/redundant-branching2.lltrunk/test/CodeGen/Hexagon/redundant-branching2.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/atomics-regression.lltrunk/test/CodeGen/PowerPC/atomics-regression.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/cmp_elimination.lltrunk/test/CodeGen/PowerPC/cmp_elimination.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/ctrloop-shortLoops.lltrunk/test/CodeGen/PowerPC/ctrloop-shortLoops.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/expand-foldable-isel.lltrunk/test/CodeGen/PowerPC/expand-foldable-isel.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/knowCRBitSpill.lltrunk/test/CodeGen/PowerPC/knowCRBitSpill.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/licm-remat.lltrunk/test/CodeGen/PowerPC/licm-remat.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/atomicrmw-minmax-01.lltrunk/test/CodeGen/SystemZ/atomicrmw-minmax-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/atomicrmw-minmax-02.lltrunk/test/CodeGen/SystemZ/atomicrmw-minmax-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/loop-01.lltrunk/test/CodeGen/SystemZ/loop-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/loop-02.lltrunk/test/CodeGen/SystemZ/loop-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/swifterror.lltrunk/test/CodeGen/SystemZ/swifterror.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb/consthoist-physical-addr.lltrunk/test/CodeGen/Thumb/consthoist-physical-addr.ll
The file was modified/llvm/trunk/test/CodeGen/X86/block-placement.lltrunk/test/CodeGen/X86/block-placement.ll
The file was modified/llvm/trunk/test/CodeGen/X86/code_placement.lltrunk/test/CodeGen/X86/code_placement.ll
The file was modified/llvm/trunk/test/CodeGen/X86/code_placement_cold_loop_blocks.lltrunk/test/CodeGen/X86/code_placement_cold_loop_blocks.ll
The file was modified/llvm/trunk/test/CodeGen/X86/code_placement_ignore_succ_in_inner_loop.lltrunk/test/CodeGen/X86/code_placement_ignore_succ_in_inner_loop.ll
The file was modified/llvm/trunk/test/CodeGen/X86/code_placement_loop_rotation2.lltrunk/test/CodeGen/X86/code_placement_loop_rotation2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/code_placement_no_header_change.lltrunk/test/CodeGen/X86/code_placement_no_header_change.ll
The file was modified/llvm/trunk/test/CodeGen/X86/conditional-tailcall.lltrunk/test/CodeGen/X86/conditional-tailcall.ll
The file was modified/llvm/trunk/test/CodeGen/X86/loop-blocks.lltrunk/test/CodeGen/X86/loop-blocks.ll
The file was added/llvm/trunk/test/CodeGen/X86/loop-rotate.lltrunk/test/CodeGen/X86/loop-rotate.ll
The file was modified/llvm/trunk/test/CodeGen/X86/lsr-loop-exit-cond.lltrunk/test/CodeGen/X86/lsr-loop-exit-cond.ll
The file was added/llvm/trunk/test/CodeGen/X86/move_latch_to_loop_top.lltrunk/test/CodeGen/X86/move_latch_to_loop_top.ll
The file was modified/llvm/trunk/test/CodeGen/X86/pr38185.lltrunk/test/CodeGen/X86/pr38185.ll
The file was modified/llvm/trunk/test/CodeGen/X86/ragreedy-hoist-spill.lltrunk/test/CodeGen/X86/ragreedy-hoist-spill.ll
The file was modified/llvm/trunk/test/CodeGen/X86/reverse_branches.lltrunk/test/CodeGen/X86/reverse_branches.ll
The file was modified/llvm/trunk/test/CodeGen/X86/speculative-load-hardening.lltrunk/test/CodeGen/X86/speculative-load-hardening.ll
The file was modified/llvm/trunk/test/CodeGen/X86/swifterror.lltrunk/test/CodeGen/X86/swifterror.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tail-dup-merge-loop-headers.lltrunk/test/CodeGen/X86/tail-dup-merge-loop-headers.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tail-dup-repeat.lltrunk/test/CodeGen/X86/tail-dup-repeat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-by-select-loop.lltrunk/test/CodeGen/X86/vector-shift-by-select-loop.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-1.lltrunk/test/CodeGen/X86/widen_arith-1.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-2.lltrunk/test/CodeGen/X86/widen_arith-2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-3.lltrunk/test/CodeGen/X86/widen_arith-3.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-4.lltrunk/test/CodeGen/X86/widen_arith-4.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-5.lltrunk/test/CodeGen/X86/widen_arith-5.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-6.lltrunk/test/CodeGen/X86/widen_arith-6.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_cast-4.lltrunk/test/CodeGen/X86/widen_cast-4.ll
The file was modified/llvm/trunk/test/CodeGen/X86/x86-cmov-converter.lltrunk/test/CodeGen/X86/x86-cmov-converter.ll
The file was modified/llvm/trunk/test/DebugInfo/X86/PR37234.lltrunk/test/DebugInfo/X86/PR37234.ll
The file was modified/llvm/trunk/test/DebugInfo/X86/dbg-value-transfer-order.lltrunk/test/DebugInfo/X86/dbg-value-transfer-order.ll
Revision 363468 by ahatanak:
[ObjC][ARC] Delete ObjC runtime calls on global variables annotated
with 'objc_arc_inert'

Those calls are no-ops, so they can be safely deleted.

rdar://problem/49839633

Differential Revision: https://reviews.llvm.org/D62433
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/ObjCARCInstKind.htrunk/include/llvm/Analysis/ObjCARCInstKind.h
The file was modified/llvm/trunk/lib/Analysis/ObjCARCInstKind.cpptrunk/lib/Analysis/ObjCARCInstKind.cpp
The file was modified/llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpptrunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
The file was added/llvm/trunk/test/Transforms/ObjCARC/inert-global.lltrunk/test/Transforms/ObjCARC/inert-global.ll
Revision 363465 by arsenm:
AMDGPU: Avoid most waitcnts before calls

Currently you get extra waits, because waits are inserted for the
register dependencies of the call, and the function prolog waits on
everything.

Currently waits are still inserted on returns. It may make sense to
not do this, and wait in the caller instead.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInsertWaitcnts.cpptrunk/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-argument-types.lltrunk/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-waitcnt.lltrunk/test/CodeGen/AMDGPU/call-waitcnt.ll
Revision 363464 by ziangwan725:
Add --print-supported-cpus flag for clang.

This patch allows clang users to print out a list of supported CPU models using
clang [--target=<target triple>] --print-supported-cpus

Then, users can select the CPU model to compile to using
clang --target=<triple> -mcpu=<model> a.c

It is a handy feature to help cross compilation.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangCommandLineReference.rstN/A
The file was modified/cfe/trunk/docs/CommandGuide/clang.rstN/A
The file was modified/cfe/trunk/include/clang/Driver/Options.tdN/A
The file was modified/cfe/trunk/include/clang/Frontend/FrontendOptions.hN/A
The file was modified/cfe/trunk/lib/Driver/Driver.cppN/A
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cppN/A
The file was added/cfe/trunk/test/Driver/print-supported-cpus.cN/A
The file was modified/cfe/trunk/tools/driver/cc1_main.cppN/A
The file was modified/llvm/trunk/lib/MC/MCSubtargetInfo.cpptrunk/lib/MC/MCSubtargetInfo.cpp
Revision 363463 by thegameg:
[Remarks][NFC] Improve testing and documentation of -foptimization-record-passes

This adds:

* documentation to the user manual
* nicer error message
* test for the error case
* test for the gold plugin
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/UsersManual.rstN/A
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.tdN/A
The file was modified/cfe/trunk/test/CodeGen/opt-record.cN/A
The file was modified/llvm/trunk/test/tools/gold/X86/opt-remarks.lltrunk/test/tools/gold/X86/opt-remarks.ll
Revision 363462 by arsenm:
SROA: Allow eliminating addrspacecasted allocas

There is a circular dependency between SROA and InferAddressSpaces
today that requires running both multiple times in order to be able to
eliminate all simple allocas and addrspacecasts. InferAddressSpaces
can't remove addrspacecasts when written to memory, and SROA helps
move pointers out of memory.

This should avoid inserting new commuting addrspacecasts with GEPs,
since there are unresolved questions about pointer wrapping between
different address spaces.

For now, don't replace volatile operations that don't match the alloca
addrspace, as it would change the address space of the access. It may
be still OK to insert an addrspacecast from the new alloca, but be
more conservative for now.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/PtrUseVisitor.htrunk/include/llvm/Analysis/PtrUseVisitor.h
The file was modified/llvm/trunk/lib/Analysis/PtrUseVisitor.cpptrunk/lib/Analysis/PtrUseVisitor.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/SROA.cpptrunk/lib/Transforms/Scalar/SROA.cpp
The file was modified/llvm/trunk/test/Transforms/SROA/addrspacecast.lltrunk/test/Transforms/SROA/addrspacecast.ll
The file was modified/llvm/trunk/test/Transforms/SROA/basictest.lltrunk/test/Transforms/SROA/basictest.ll
The file was modified/llvm/trunk/test/Transforms/SROA/phi-and-select.lltrunk/test/Transforms/SROA/phi-and-select.ll
Revision 363461 by jsji:
[PowerPC][NFC] Comments update and remove some unused def
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/P9InstrResources.tdtrunk/lib/Target/PowerPC/P9InstrResources.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCScheduleP9.tdtrunk/lib/Target/PowerPC/PPCScheduleP9.td
Revision 363460 by arsenm:
SROA: Add baseline test for addrspacecast changes
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/SROA/addrspacecast.lltrunk/test/Transforms/SROA/addrspacecast.ll
Revision 363459 by arsenm:
AMDGPU: Fix capitalized register names in asm constraints

This was a workaround a long time ago, but the canonical lower case
names work now.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/branch-relax-spill.lltrunk/test/CodeGen/AMDGPU/branch-relax-spill.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-preserved-registers.lltrunk/test/CodeGen/AMDGPU/call-preserved-registers.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/early-if-convert.lltrunk/test/CodeGen/AMDGPU/early-if-convert.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/frame-index-elimination.lltrunk/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/inline-constraints.lltrunk/test/CodeGen/AMDGPU/inline-constraints.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.interp.f16.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.interp.f16.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/spill-m0.lltrunk/test/CodeGen/AMDGPU/spill-m0.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/uaddo.lltrunk/test/CodeGen/AMDGPU/uaddo.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/usubo.lltrunk/test/CodeGen/AMDGPU/usubo.ll
Revision 363455 by arsenm:
AMDGPU: Fix dropping memref for ds append/consume

The way SelectionDAG treats memory operands is very frustrating, and
by default drops them unless a property is set on the pattern. There
is no pattern for manually selected instructions, so this requires
manually setting them.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdtrunk/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpptrunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.ds.append.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.ds.append.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.ds.consume.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.ds.consume.ll
Revision 363454 by arsenm:
AMDGPU: Set isTrap on S_TRAP

This seems to only be used for generating some kind
of documentation, but might as well set it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SOPInstructions.tdtrunk/lib/Target/AMDGPU/SOPInstructions.td
Revision 363453 by arsenm:
AMDGPU: Add baseline test for call waitcnt insertion
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/AMDGPU/call-waitcnt.lltrunk/test/CodeGen/AMDGPU/call-waitcnt.ll
Revision 363452 by arsenm:
UpdateTestChecks: Consider .section as end of function for AMDGPU

Kernels seem to go directly to a section switch instead of emitting
.Lfunc_end. This fixes including all of the kernel metadata in the
check lines, which is undesirable most of the time.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/UpdateTestChecks/asm.pytrunk/utils/UpdateTestChecks/asm.py
Revision 363448 by spatel:
[x86] add test for 256-bit blendv with AVX targets; NFC

This is a reduction of the pattern seen in D63233.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vselect-avx.lltrunk/test/CodeGen/X86/vselect-avx.ll
Revision 363444 by Lang Hames:
[JITLink] Move JITLinkMemoryManager into its own header.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLink.htrunk/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was added/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.htrunk/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/CMakeLists.txttrunk/lib/ExecutionEngine/JITLink/CMakeLists.txt
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLink.cpptrunk/lib/ExecutionEngine/JITLink/JITLink.cpp
The file was added/llvm/trunk/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpptrunk/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
Revision 363440 by Saleem Abdulrasool:
build: extract LLVM distribution target handling

This extracts the LLVM distribution target handling into a support module.
Extraction will enable us to restructure the builds to support multiple
distribution configurations (e.g. developer and user) to permit us to build the
development package and the user package at once.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txttrunk/CMakeLists.txt
The file was added/llvm/trunk/cmake/modules/LLVMDistributionSupport.cmaketrunk/cmake/modules/LLVMDistributionSupport.cmake
Revision 363439 by thegameg:
[Remarks] Use the RemarkSetup error in setupOptimizationRemarks

Added the errors in r363415 but they were not used in the
RemarkStreamer.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/IR/RemarkStreamer.cpptrunk/lib/IR/RemarkStreamer.cpp
Revision 363437 by nico:
gn build: Add NVPTX target

The NVPTX target is a bit unusual in that it's the only target without a
disassembler, and one of three targets without an asm parser (and the
first one of those three in the gn build). NVPTX doesn't have those
because it's not a binary format.

The CMake build checks for the existence of
{AsmParser,Disassembler}/CMakeLists.txt when setting
LLVM_ENUM_ASM_PARSERS / LLVM_ENUM_DISASSEBLERS
(http://llvm-cs.pcc.me.uk/CMakeLists.txt#744). The GN build doesn't want
to hit the disk for things like this, so instead I'm adding explicit
`targets_with_asm_parsers` and `targets_with_disassemblers` lists. Since
both are needed rarely, they are defined in their own gni files.

Differential Revision: https://reviews.llvm.org/D63210
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/TODO.txttrunk/utils/gn/TODO.txt
The file was modified/llvm/trunk/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gntrunk/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/NVPTXtrunk/utils/gn/secondary/llvm/lib/Target/NVPTX
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/NVPTX/MCTargetDesctrunk/utils/gn/secondary/llvm/lib/Target/NVPTX/MCTargetDesc
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/NVPTX/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/NVPTX/MCTargetDesc/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/NVPTX/TargetInfotrunk/utils/gn/secondary/llvm/lib/Target/NVPTX/TargetInfo
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/NVPTX/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/NVPTX/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gnitrunk/utils/gn/secondary/llvm/lib/Target/targets.gni
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets_with_asm_parsers.gnitrunk/utils/gn/secondary/llvm/lib/Target/targets_with_asm_parsers.gni
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets_with_disassemblers.gnitrunk/utils/gn/secondary/llvm/lib/Target/targets_with_disassemblers.gni
Revision 363436 by nico:
gn build: Simplify Target build files

Now that the cycle between MCTargetDesc and TargetInfo is gone
(see revisions 360709 360718 360722 360724 360726 360731 360733 360735 360736),
remove the dependency from TargetInfo on MCTargetDesc:tablegen. In most
targets, this makes MCTargetDesc:tablegen have just a single use, so
inline it there.

For AArch64, ARM, and RISCV there's still a similar cycle between
MCTargetDesc and Utils, so the MCTargetDesc:tablegen indirection is
still needed there.

Differential Revision: https://reviews.llvm.org/D63200
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/AArch64/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/AArch64/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/AArch64/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/AArch64/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/AArch64/Utils/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/AArch64/Utils/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/ARM/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/ARM/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/ARM/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/ARM/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/ARM/Utils/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/ARM/Utils/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Hexagon/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Hexagon/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Hexagon/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Hexagon/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Lanai/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Lanai/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Lanai/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Lanai/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/PowerPC/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/PowerPC/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/PowerPC/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/PowerPC/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/Utils/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/Utils/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/WebAssembly/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/WebAssembly/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/WebAssembly/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/WebAssembly/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/X86/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/X86/MCTargetDesc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/X86/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/X86/TargetInfo/BUILD.gn
Revision 363434 by aemerson:
[GlobalISel] Add a G_BRJT opcode.

This is a branch opcode that takes a jump table pointer, jump table index and an
index into the table to do an indirect branch.

We pass both the table pointer and JTI to allow targets like ARM64 to more
easily use the existing jump table compression optimization without having to
walk up the block to find a paired G_JUMP_TABLE.

Differential Revision: https://reviews.llvm.org/D63159
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.htrunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modified/llvm/trunk/include/llvm/Support/TargetOpcodes.deftrunk/include/llvm/Support/TargetOpcodes.def
The file was modified/llvm/trunk/include/llvm/Target/GenericOpcodes.tdtrunk/include/llvm/Target/GenericOpcodes.td
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/MachineIRBuilder.cpptrunk/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpptrunk/lib/CodeGen/MachineVerifier.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mirtrunk/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
The file was added/llvm/trunk/test/MachineVerifier/test_g_brjt.mirtrunk/test/MachineVerifier/test_g_brjt.mir
Revision 363427 by fhahn:
Revert Fix a bug w/inbounds invalidation in LFTR

Reverting because it breaks a green dragon build:
    http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/18208

This reverts r363289 (git commit eb88badff96dacef8fce3f003dec34c2ef6900bf)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/2011-10-27-lftrnull.lltrunk/test/Transforms/IndVarSimplify/2011-10-27-lftrnull.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.lltrunk/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.lltrunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr.lltrunk/test/Transforms/IndVarSimplify/lftr.ll
Revision 363426 by fhahn:
Revert [LFTR] Stylistic cleanup as suggested in last review comment of D62939 [NFC]

Reverting because it depends on r363289, which breaks a green dragon build:
    http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/18208

This reverts r363292 (git commit 42a3fc133d3544b5c0c032fe99c6e8a469a836c2)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 363425 by fhahn:
Revert [LFTR] Rename variable to minimize confusion [NFC]

Reverting because it depends on r363289, which breaks a green dragon
build:
    http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/18208

This reverts r363293 (git commit c37be29634214fb1cb4c823840bffc31e5ebfe40)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 363424 by aditya_nandakumar:
[GISel]: Fix pattern matcher for m_OneUse

https://reviews.llvm.org/D63302
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MIPatternMatch.htrunk/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/PatternMatchTest.cpptrunk/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Revision 363423 by jsji:
[PowerPC][NFC] Format comments in P9InstrResrouce.td
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/P9InstrResources.tdtrunk/lib/Target/PowerPC/P9InstrResources.td
Revision 363422 by shawnl:
[SimpligyCFG] NFC intended, remove GCD that was only used for powers of two

and replace with an equilivent countTrailingZeros.

GCD is much more expensive than this, with repeated division.

This depends on D60823

Differential Revision: https://reviews.llvm.org/D61151
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpptrunk/lib/Transforms/Utils/SimplifyCFG.cpp
Revision 363420 by Saleem Abdulrasool:
build: don't attempt to run config.guess on Windows

When cross-compiling LLVM to android from Windows (for LLVMSupport), we would
attempt to execute `config.guess` to determine the host triple since
`CMAKE_SYSTEM_NAME` is not Windows and `CMAKE_C_COMPILER` will be set to GNU or
Clang.  This will fail as `config.guess` is a shell script which cannot be
executed on Windows.  Simply log a warning instead.  The user can specify the
value for this instead in those cases.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/GetHostTriple.cmaketrunk/cmake/modules/GetHostTriple.cmake
Revision 363418 by vpykhtin:
[AMDGPU] Don't constrain callees with inlinehint from inlining on MaxBB check

Summary: Function bodies marked inline in an opencl source are eliminated but MaxBB check may prevent inlining them leaving undefined references.

Reviewers: rampitec, arsenm

Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, Anastasia, t-tye, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63337
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInline.cpptrunk/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/inline-maxbb.lltrunk/test/CodeGen/AMDGPU/inline-maxbb.ll
Revision 363417 by kpn:
[FPEnv] Lower STRICT_FP_EXTEND and STRICT_FP_ROUND nodes in preprocess phase of ISelLowering to mirror non-strict nodes on x86.

I recently discovered a bug on the x86 platform: The fp80 type was not handled well by x86 for constrained floating point nodes, as their regular counterparts are replaced by extending loads and truncating stores during the preprocess phase. Normally, platforms don't have this issue, as they don't typically attempt to perform such legalizations during instruction selection preprocessing. Before this change, strict_fp nodes survived until they were mutated to normal nodes, which happened shortly after preprocessing on other platforms. This modification lowers these nodes at the same phase while properly utilizing the chain.5

Submitted by: Drew Wock <drew.wock@sas.com>
Reviewed by: Craig Topper, Kevin P. Neal
Approved by: Craig Topper
Differential Revision: https://reviews.llvm.org/D63271
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpptrunk/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was added/llvm/trunk/test/CodeGen/X86/constrained-fp80-trunc-ext.lltrunk/test/CodeGen/X86/constrained-fp80-trunc-ext.ll
Revision 363416 by rampitec:
[AMDGPU] gfx1010 BoolReg definition. NFC.

Earlier commit has added AMDGPUOperand::isBoolReg(). Turns out
gcc issues warning about unused function since D63204 is not
yet submitted.

Added NFC part of D63204 to have a use of that function and
mute the warning.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdtrunk/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.tdtrunk/lib/Target/AMDGPU/SIRegisterInfo.td
Revision 363415 by thegameg:
Reland: [Remarks] Refactor optimization remarks setup

* Add a common function to setup opt-remarks
* Rename common options to the same names
* Add error types to distinguish between file errors and regex errors
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenAction.cppN/A
The file was modified/llvm/trunk/include/llvm/IR/RemarkStreamer.htrunk/include/llvm/IR/RemarkStreamer.h
The file was modified/llvm/trunk/include/llvm/LTO/LTO.htrunk/include/llvm/LTO/LTO.h
The file was modified/llvm/trunk/lib/IR/RemarkStreamer.cpptrunk/lib/IR/RemarkStreamer.cpp
The file was modified/llvm/trunk/lib/LTO/LTO.cpptrunk/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/LTO/LTOBackend.cpptrunk/lib/LTO/LTOBackend.cpp
The file was modified/llvm/trunk/lib/LTO/LTOCodeGenerator.cpptrunk/lib/LTO/LTOCodeGenerator.cpp
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cpptrunk/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modified/llvm/trunk/tools/gold/gold-plugin.cpptrunk/tools/gold/gold-plugin.cpp
The file was modified/llvm/trunk/tools/llc/llc.cpptrunk/tools/llc/llc.cpp
The file was modified/llvm/trunk/tools/llvm-lto2/llvm-lto2.cpptrunk/tools/llvm-lto2/llvm-lto2.cpp
The file was modified/llvm/trunk/tools/opt/opt.cpptrunk/tools/opt/opt.cpp
Revision 363411 by spatel:
[x86] move vector shift tests for PR37428; NFC

As suggested in the post-commit thread for rL363392 - it's
wasteful to have so many runs for larger tests. AVX1/AVX2
is what shows the diff and probably what matters most going
forward.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/vector-shift-by-select-loop.lltrunk/test/CodeGen/X86/vector-shift-by-select-loop.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-shl-128.lltrunk/test/CodeGen/X86/vector-shift-shl-128.ll
Revision 363410 by arsenm:
GlobalISel: Avoid producing Illegal copies in RegBankSelect

Avoid producing illegal register bank copies for reg_sequence and
phi. The default implementation assumes it is possible to pick any
operand's bank and use that for the result, introducing a copy for
operands with a different bank. This does not check for illegal
copies. It is not legal to introduce a VGPR->SGPR copy, so any VGPR
operand requires the result to be a VGPR.

The changes in getInstrMappingImpl aren't strictly necessary, since
AMDGPU now just bypasses this for reg_sequence/phi. This could be
replaced with an assert in case other targets run into this. It is
currently responsible for producing the error for unsatisfiable
copies, but this will be better served with a verifier check.

For phis, for now assume any undetermined operands must be
VGPRs. Eventually, this needs to be able to defer mapping these
operations. This also does not yet have a way to check for whether the
block is in a divergent region.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.htrunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpptrunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpptrunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-illegal-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-reg-sequence.mir
Revision 363409 by spatel:
[CodeGenPrepare] propagate debuginfo when copying a shuffle
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/CodeGenPrepare.cpptrunk/lib/CodeGen/CodeGenPrepare.cpp
The file was modified/llvm/trunk/test/Transforms/CodeGenPrepare/X86/vec-shift.lltrunk/test/Transforms/CodeGenPrepare/X86/vec-shift.ll
Revision 363408 by jdoerfert:
[Attributor] Disable the Attributor by default and fix a comment
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.htrunk/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpptrunk/lib/Transforms/IPO/Attributor.cpp
Revision 363407 by jdoerfert:
[Attributor] Introduce bit-encodings for abstract states

Summary:
The IntegerState, and its sepecialization BooleanState, can be used to
simplify the implementation of abstract attributes. The two abstract
state implementations provide storage and helpers to deal with bit-wise
encoded state.

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60012
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.htrunk/include/llvm/Transforms/IPO/Attributor.h
Revision 363406 by arsenm:
AMDGPU: Fold readlane intrinsics of constants

I'm not 100% sure about this, since I'm worried about IR transforms
that might end up introducing divergence downstream once replaced with
a constant, but I haven't come up with an example yet.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpptrunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.lltrunk/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Revision 363403 by miyuki:
[ARM] Add MVE horizontal accumulation instructions

This is the family of vector instructions that combine all the lanes
in their input vector(s), and output a value in one or two GPRs.

Differential Revision: https://reviews.llvm.org/D62670
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrFormats.tdtrunk/lib/Target/ARM/ARMInstrFormats.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.tdtrunk/lib/Target/ARM/ARMInstrMVE.td
The file was added/llvm/trunk/test/MC/ARM/mve-reductions-fp.strunk/test/MC/ARM/mve-reductions-fp.s
The file was modified/llvm/trunk/test/MC/ARM/mve-reductions.strunk/test/MC/ARM/mve-reductions.s
The file was modified/llvm/trunk/test/MC/Disassembler/ARM/mve-reductions.txttrunk/test/MC/Disassembler/ARM/mve-reductions.txt
Revision 363401 by grimar:
Revert "Revert r363377: [yaml2obj] - Allow setting custom section types for implicit sections."

LLD test case will be fixed in a following commit.

Original commit message:

[yaml2obj] - Allow setting custom section types for implicit sections.

We were hardcoding the final section type for sections that
are usually implicit. The patch fixes that.

This also fixes a few issues in existent test cases and removes
one precompiled object.

Differential revision: https://reviews.llvm.org/D63267
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.testtrunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.test
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-symtab-shinfo.yamltrunk/test/tools/yaml2obj/elf-symtab-shinfo.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-symtab-shtype.yamltrunk/test/tools/yaml2obj/elf-symtab-shtype.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yamltrunk/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/implicit-sections-types.testtrunk/test/tools/yaml2obj/implicit-sections-types.test
The file was modified/llvm/trunk/test/tools/yaml2obj/symtab-implicit-sections-flags.yamltrunk/test/tools/yaml2obj/symtab-implicit-sections-flags.yaml
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpptrunk/tools/yaml2obj/yaml2elf.cpp
Revision 363394 by ruiu:
Revert r363377: [yaml2obj] - Allow setting custom section types for implicit sections.

This reverts commit r363377 because lld's ELF/invalid/undefined-local-symbol-in-dso.test
test started failing after this commit.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.testtrunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.test
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-symtab-shinfo.yamltrunk/test/tools/yaml2obj/elf-symtab-shinfo.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-symtab-shtype.yamltrunk/test/tools/yaml2obj/elf-symtab-shtype.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yamltrunk/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml
The file was removed/llvm/trunk/test/tools/yaml2obj/implicit-sections-types.testtrunk/test/tools/yaml2obj/implicit-sections-types.test
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpptrunk/tools/yaml2obj/yaml2elf.cpp
Revision 363393 by evgeny777:
Fix failing test on ARM buildbot

r363261 caused test failure on 32-bit ARM buildbot,
because of unsigned integer overflow. This patch
fixes it changing offset type from size_t to uint64_t.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/ARMAttributeParser.cpptrunk/lib/Support/ARMAttributeParser.cpp
Revision 363392 by spatel:
[x86] add test for original example in PR37428; NFC

The reduced case may avoid complications seen in this larger function.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-shl-128.lltrunk/test/CodeGen/X86/vector-shift-shl-128.ll
Revision 363391 by arsenm:
RegBankSelect: Remove checks for invalid mappings

Avoid a check for valid and a set of redundant asserts. The place
InstructionMapping is constructed asserts all of the default fields
are passed anyway for an invalid mapping, so don't overcomplicate
this.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.htrunk/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpptrunk/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
Revision 363389 by arsenm:
AMDGPU: Fix input chain when gluing copies to m0

I don't think this was causing any observable issues, but was making
reading the DAG dump confusing.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpptrunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Revision 363388 by mgorny:
[lit] Fix UnicodeEncodeError when test commands contain non-ASCII chars

Ensure that the bash script written by lit TestRunner is open with UTF-8
encoding when using Python 3.  Otherwise, attempt to write non-ASCII
characters causes UnicodeEncodeError.  This happened e.g. with
the following LLD test:

UNRESOLVED: lld :: ELF/format-binary-non-ascii.s (657 of 2119)
******************** TEST 'lld :: ELF/format-binary-non-ascii.s' FAILED ********************
Exception during script execution:
Traceback (most recent call last):
  File "/home/mgorny/llvm-project/llvm/utils/lit/lit/worker.py", line 63, in _execute_test
    result = test.config.test_format.execute(test, lit_config)
  File "/home/mgorny/llvm-project/llvm/utils/lit/lit/formats/shtest.py", line 25, in execute
    self.execute_external)
  File "/home/mgorny/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 1644, in executeShTest
    res = _runShTest(test, litConfig, useExternalSh, script, tmpBase)
  File "/home/mgorny/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 1590, in _runShTest
    res = executeScript(test, litConfig, tmpBase, script, execdir)
  File "/home/mgorny/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 1157, in executeScript
    f.write('{ ' + '; } &&\n{ '.join(commands) + '; }')
UnicodeEncodeError: 'ascii' codec can't encode character '\xa3' in position 274: ordinal not in range(128)

Differential Revision: https://reviews.llvm.org/D63254
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/TestRunner.pytrunk/utils/lit/lit/TestRunner.py
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-format/external_shell/utf8_command.txttrunk/utils/lit/tests/Inputs/shtest-format/external_shell/utf8_command.txt
The file was modified/llvm/trunk/utils/lit/tests/shtest-format.pytrunk/utils/lit/tests/shtest-format.py
Revision 363387 by adibiagio:
[MCA] Ignore invalid processor resource writes of zero cycles. NFCI

In debug mode, the tool also raises a warning and prints out a message which
helps identify the problematic MCWriteProcResEntry from the scheduling class.
This message would have been useful to have when triaging PR42282.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MCA/InstrBuilder.cpptrunk/lib/MCA/InstrBuilder.cpp
Revision 363386 by arsenm:
Fix not calling TargetCustom PSVs printer

If the enum value was greater than the starting target custom value,
the custom printer wasn't called.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineOperand.cpptrunk/lib/CodeGen/MachineOperand.cpp
Revision 363385 by arsenm:
AMDGPU: Refactor to prepare for manually selecting more intrinsics
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpptrunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Revision 363384 by arsenm:
AMDGPU: Fix printing trailing whitespace after s_endpgm
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SOPInstructions.tdtrunk/lib/Target/AMDGPU/SOPInstructions.td
The file was modified/llvm/trunk/test/MC/AMDGPU/s_endpgm.strunk/test/MC/AMDGPU/s_endpgm.s
Revision 363383 by arsenm:
AMDGPU: Fix missing const
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpptrunk/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.htrunk/lib/Target/AMDGPU/SIInstrInfo.h
Revision 363380 by jhenderson:
[docs][llvm-dwarfdump] Make the --show-parents and --show-children help text and docs more consistent and correct

The docs and help text for --show-parents and --show-children were a bit
inconsistent. The help text claimed they had an effect when "=<offset>"
was used, whereas the doc said it had an effect when "--find" or
"--name" were used. This change changes the doc to mention "=<offset>"
and removes this reference from the help text, to avoid having a very
long description in the help text (it still says "when selectively
printing entries").

Reviewed by: JDevlieghere, aprantl

Differential Revision: https://reviews.llvm.org/D63275
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-dwarfdump.rsttrunk/docs/CommandGuide/llvm-dwarfdump.rst
The file was modified/llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpptrunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Revision 363379 by nico:
Revert r363298 "[lit] Disable test on darwin when building shared libs."

It broke running check-lld on mac, see https://reviews.llvm.org/D61697
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Tooling/clang-check-mac-libcxx-fixed-compilation-db.cppN/A
The file was modified/llvm/trunk/utils/lit/lit/llvm/config.pytrunk/utils/lit/lit/llvm/config.py
Revision 363378 by nico:
gn build: Merge r363376
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/include/clang/Basic/BUILD.gntrunk/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/Sema/BUILD.gntrunk/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Revision 363377 by grimar:
[yaml2obj] - Allow setting custom section types for implicit sections.

We were hardcoding the final section type for sections that
are usually implicit. The patch fixes that.

This also fixes a few issues in existent test cases and removes
one precompiled object.

Differential revision: https://reviews.llvm.org/D63267
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.testtrunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.test
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-symtab-shinfo.yamltrunk/test/tools/yaml2obj/elf-symtab-shinfo.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-symtab-shtype.yamltrunk/test/tools/yaml2obj/elf-symtab-shtype.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yamltrunk/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/implicit-sections-types.testtrunk/test/tools/yaml2obj/implicit-sections-types.test
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpptrunk/tools/yaml2obj/yaml2elf.cpp
Revision 363374 by jhenderson:
[llvm-readobj] Don't abort printing of dynamic table if string reference is invalid

If dynamic table is missing, output "dynamic strtab not found'. If the index is
out of range, output "Invalid Offset<..>".

https://bugs.llvm.org/show_bug.cgi?id=40807

Reviewed by: jhenderson, grimar, MaskRay

Differential Revision: https://reviews.llvm.org/D63084

Patch by Yuanfang Chen.
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/Object/Inputs/corrupt-invalid-strtab.elf.x86-64trunk/test/Object/Inputs/corrupt-invalid-strtab.elf.x86-64
The file was modified/llvm/trunk/test/Object/corrupt.testtrunk/test/Object/corrupt.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-dynamic-malformed.testtrunk/test/tools/llvm-readobj/elf-dynamic-malformed.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpptrunk/tools/llvm-readobj/ELFDumper.cpp
Revision 363371 by grimar:
[llvm-readobj] - Do not fail to dump the object which has wrong type of .shstrtab.

Imagine we have object that has .shstrtab with type != SHT_STRTAB.
In this case, we fail to dump the object, though GNU readelf dumps it without
any issues and warnings.

This patch fixes that. It adds a code to ELFDumper.cpp which is based on the implementation of getSectionName from the ELF.h:

https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ELF.h#L608
https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ELF.h#L431
https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ELF.h#L539

The difference is that all non critical errors are ommitted what allows us to
improve the dumping on a tool side. Also, this opens a road for a follow-up that
should allow us to dump the section headers, but drop the section names in case if .shstrtab is completely absent and/or broken.

Differential revision: https://reviews.llvm.org/D63266
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64trunk/test/tools/llvm-readobj/Inputs/wrong-shstrtab-type.elf-x86-64
The file was added/llvm/trunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.testtrunk/test/tools/llvm-readobj/elf-wrong-shstrtab-type.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpptrunk/tools/llvm-readobj/ELFDumper.cpp
Revision 363370 by sjoerdmeijer:
[ARM] MVE VPT Block Pass

Initial commit of a new pass to create vector predication blocks, called VPT
blocks, that are supported by the Armv8.1-M MVE architecture.

This is a first naive implementation. I.e., for 2 consecutive predicated
instructions I1 and I2, for example, it will generate 2 VPT blocks:

VPST
I1
VPST
I2

A more optimal implementation would obviously put instructions in the same VPT
block when they are predicated on the same condition and when it is allowed to
do this:

VPTT
I1
I2

We will address this optimisation with follow up patches when the groundwork is
in. Creating VPT Blocks is very similar to IT Blocks, which is the reason I
added this to Thumb2ITBlocks.cpp. This allows reuse of the def use analysis
that we need for the more optimal implementation.

VPT blocks cannot be nested in IT blocks, and vice versa, and so these 2 passes
cannot interact with each other. Instructions allowed in VPT blocks must
be MVE instructions that are marked as VPT compatible.

Differential Revision: https://reviews.llvm.org/D63247
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARM.htrunk/lib/Target/ARM/ARM.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpptrunk/lib/Target/ARM/ARMTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpptrunk/lib/Target/ARM/Thumb2ITBlockPass.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2InstrInfo.cpptrunk/lib/Target/ARM/Thumb2InstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2InstrInfo.htrunk/lib/Target/ARM/Thumb2InstrInfo.h
The file was modified/llvm/trunk/test/CodeGen/ARM/O3-pipeline.lltrunk/test/CodeGen/ARM/O3-pipeline.ll
The file was added/llvm/trunk/test/CodeGen/ARM/mve-vpt-block.mirtrunk/test/CodeGen/ARM/mve-vpt-block.mir
Revision 363368 by grimar:
[yaml2obj] - Allow setting the custom Address for .strtab

Despite the fact that .strtab is non-allocatable,
there is no reason to disallow setting the custom address
for it.

The patch also adds a test case showing we can set any address
we want for other implicit sections.

Differential revision: https://reviews.llvm.org/D63137
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/yaml2obj/dynsym-dynstr-addr.yamltrunk/test/tools/yaml2obj/dynsym-dynstr-addr.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/implicit-sections-addr.yamltrunk/test/tools/yaml2obj/implicit-sections-addr.yaml
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpptrunk/tools/yaml2obj/yaml2elf.cpp
Revision 363367 by grimar:
[yaml2obj] - Allow setting cutom Flags for implicit sections.

With this patch we get ability to set any flags we want
for implicit sections defined in YAML.

Differential revision: https://reviews.llvm.org/D63136
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ObjectYAML/ELFYAML.htrunk/include/llvm/ObjectYAML/ELFYAML.h
The file was modified/llvm/trunk/lib/ObjectYAML/ELFYAML.cpptrunk/lib/ObjectYAML/ELFYAML.cpp
The file was added/llvm/trunk/test/tools/yaml2obj/strtab-implicit-sections-flags.yamltrunk/test/tools/yaml2obj/strtab-implicit-sections-flags.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/symtab-implicit-sections-flags.yamltrunk/test/tools/yaml2obj/symtab-implicit-sections-flags.yaml
The file was modified/llvm/trunk/tools/obj2yaml/elf2yaml.cpptrunk/tools/obj2yaml/elf2yaml.cpp
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpptrunk/tools/yaml2obj/yaml2elf.cpp
Revision 363364 by sam_parker:
[SCEV] Pass NoWrapFlags when expanding an AddExpr

InsertBinop now accepts NoWrapFlags, so pass them through when
expanding a simple add expression.

This is the first re-commit of the functional changes from rL362687,
which was previously reverted.

Differential Revision: https://reviews.llvm.org/D61934
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpptrunk/lib/Analysis/ScalarEvolutionExpander.cpp
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/simple-do.lltrunk/test/Transforms/HardwareLoops/ARM/simple-do.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/bad_expander.lltrunk/test/Transforms/IRCE/bad_expander.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/conjunctive-checks.lltrunk/test/Transforms/IRCE/conjunctive-checks.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/decrementing-loop.lltrunk/test/Transforms/IRCE/decrementing-loop.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/ranges_of_different_types.lltrunk/test/Transforms/IRCE/ranges_of_different_types.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/single-access-no-preloop.lltrunk/test/Transforms/IRCE/single-access-no-preloop.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/single-access-with-preloop.lltrunk/test/Transforms/IRCE/single-access-with-preloop.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/stride_more_than_1.lltrunk/test/Transforms/IRCE/stride_more_than_1.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/unsigned_comparisons_ugt.lltrunk/test/Transforms/IRCE/unsigned_comparisons_ugt.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/unsigned_comparisons_ult.lltrunk/test/Transforms/IRCE/unsigned_comparisons_ult.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr.lltrunk/test/Transforms/IndVarSimplify/lftr.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/loop_evaluate_1.lltrunk/test/Transforms/IndVarSimplify/loop_evaluate_1.ll
The file was modified/llvm/trunk/test/Transforms/LoopStrengthReduce/X86/nested-loop.lltrunk/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.lltrunk/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
Revision 363359 by evgeny777:
[llvm-objcopy][IHEX] Improve test case formatting. NFC

Differential revision: https://reviews.llvm.org/D63258
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/ihex-reader.testtrunk/test/tools/llvm-objcopy/ELF/ihex-reader.test
Revision 363355 by echristo:
Move commentary on opcode translation for code16 mov instructions
to segment registers closer to the segment register check for when
we add further optimizations.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpptrunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
Revision 363354 by abrachet:
[llvm-objcopy] Remove no-op flush of errs

Reviewers: alexshap, rupprecht, jhenderson

Subscribers: jakehehrlich, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63313
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpptrunk/tools/llvm-objcopy/llvm-objcopy.cpp
Revision 363353 by nico:
gn build: Merge r363204 (clang-scan-deps)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/test/BUILD.gntrunk/utils/gn/secondary/clang/test/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang/tools/clang-scan-depstrunk/utils/gn/secondary/clang/tools/clang-scan-deps
The file was added/llvm/trunk/utils/gn/secondary/clang/tools/clang-scan-deps/BUILD.gntrunk/utils/gn/secondary/clang/tools/clang-scan-deps/BUILD.gn
Revision 363350 by abrachet:
[llvm-objcopy] Changed command line parsing errors

Summary: Tidied up errors during command line parsing to be more consistent with the rest of llvm-objcopy errors.

Reviewers: jhenderson, rupprecht, espindola, alexshap

Reviewed By: jhenderson, rupprecht

Subscribers: emaste, arichardson, MaskRay, llvm-commits, jakehehrlich

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62973
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/bad-output-format.testtrunk/test/tools/llvm-objcopy/ELF/bad-output-format.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input-error.testtrunk/test/tools/llvm-objcopy/ELF/binary-input-error.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/compress-and-decompress-debug-sections-error.testtrunk/test/tools/llvm-objcopy/ELF/compress-and-decompress-debug-sections-error.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/compress-debug-sections-invalid-format.testtrunk/test/tools/llvm-objcopy/ELF/compress-debug-sections-invalid-format.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/help-message.testtrunk/test/tools/llvm-objcopy/ELF/help-message.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/redefine-symbol.testtrunk/test/tools/llvm-objcopy/ELF/redefine-symbol.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/rename-section-flag.testtrunk/test/tools/llvm-objcopy/ELF/rename-section-flag.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/rename-section.testtrunk/test/tools/llvm-objcopy/ELF/rename-section.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/set-section-flags.testtrunk/test/tools/llvm-objcopy/ELF/set-section-flags.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-multiple-files.testtrunk/test/tools/llvm-objcopy/ELF/strip-multiple-files.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpptrunk/tools/llvm-objcopy/CopyConfig.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpptrunk/tools/llvm-objcopy/llvm-objcopy.cpp
Revision 363349 by dblaikie:
DebugInfo: Include enumerators in pubnames

This is consistent with GCC's behavior (which is the defacto standard
for pubnames). Though I find the presence of enumerators from enum
classes to be a bit confusing, possibly a bug on GCC's end (since they
can't be named unqualified, unlike the other names - and names nested in
classes don't go in pubnames, for instance - presumably because one must
name the class first & that's enough to limit the scope of the search)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpptrunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modified/llvm/trunk/test/DebugInfo/X86/gnu-public-names.lltrunk/test/DebugInfo/X86/gnu-public-names.ll
Revision 363348 by timshen:
[X86] Add target triple for live-debug-values-fragments.mir
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values-fragments.mirtrunk/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
Revision 363347 by dyung:
Add REQUIRES: zlib to test added in r363325 as the profile uses zlib compression.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-cov/universal_bin_wrapping_archives.testtrunk/test/tools/llvm-cov/universal_bin_wrapping_archives.test
Revision 363344 by rampitec:
[AMDGPU] gfx1011/gfx1012 targets

Differential Revision: https://reviews.llvm.org/D63307
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/ELF.htrunk/include/llvm/BinaryFormat/ELF.h
The file was modified/llvm/trunk/include/llvm/Support/TargetParser.htrunk/include/llvm/Support/TargetParser.h
The file was modified/llvm/trunk/lib/ObjectYAML/ELFYAML.cpptrunk/lib/ObjectYAML/ELFYAML.cpp
The file was modified/llvm/trunk/lib/Support/TargetParser.cpptrunk/lib/Support/TargetParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPU.tdtrunk/lib/Target/AMDGPU/AMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpptrunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.htrunk/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNProcessors.tdtrunk/lib/Target/AMDGPU/GCNProcessors.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.tdtrunk/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP3PInstructions.tdtrunk/lib/Target/AMDGPU/VOP3PInstructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/elf-header-flags-mach.lltrunk/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fdot2.lltrunk/test/CodeGen/AMDGPU/fdot2.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hsa-note-no-func.lltrunk/test/CodeGen/AMDGPU/hsa-note-no-func.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/lds-misaligned-bug.lltrunk/test/CodeGen/AMDGPU/lds-misaligned-bug.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot2.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot2.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot4.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot4.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot8.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.sdot8.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.udot4.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.udot4.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.udot8.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.udot8.ll
The file was added/llvm/trunk/test/MC/AMDGPU/gfx1011_dlops.strunk/test/MC/AMDGPU/gfx1011_dlops.s
The file was added/llvm/trunk/test/MC/AMDGPU/gfx1011_err.strunk/test/MC/AMDGPU/gfx1011_err.s
The file was modified/llvm/trunk/test/MC/AMDGPU/smem.strunk/test/MC/AMDGPU/smem.s
The file was added/llvm/trunk/test/MC/AMDGPU/xdl-insts-gfx1011-gfx1012.strunk/test/MC/AMDGPU/xdl-insts-gfx1011-gfx1012.s
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/gfx1011_dasm_dlops.txttrunk/test/MC/Disassembler/AMDGPU/gfx1011_dasm_dlops.txt
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/xdl-insts-gfx1011-gfx1012.txttrunk/test/MC/Disassembler/AMDGPU/xdl-insts-gfx1011-gfx1012.txt
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpptrunk/tools/llvm-readobj/ELFDumper.cpp
Revision 363343 by thegameg:
Revert "[Remarks] Refactor optimization remarks setup"

This reverts commit 6e6e3af55bb97e1a4c97375c15a2b0099120c5a7.

This breaks greendragon.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenAction.cppN/A
The file was modified/llvm/trunk/include/llvm/IR/RemarkStreamer.htrunk/include/llvm/IR/RemarkStreamer.h
The file was modified/llvm/trunk/include/llvm/LTO/LTO.htrunk/include/llvm/LTO/LTO.h
The file was modified/llvm/trunk/lib/IR/RemarkStreamer.cpptrunk/lib/IR/RemarkStreamer.cpp
The file was modified/llvm/trunk/lib/LTO/LTO.cpptrunk/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/LTO/LTOBackend.cpptrunk/lib/LTO/LTOBackend.cpp
The file was modified/llvm/trunk/lib/LTO/LTOCodeGenerator.cpptrunk/lib/LTO/LTOCodeGenerator.cpp
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cpptrunk/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modified/llvm/trunk/tools/gold/gold-plugin.cpptrunk/tools/gold/gold-plugin.cpp
The file was modified/llvm/trunk/tools/llc/llc.cpptrunk/tools/llc/llc.cpp
The file was modified/llvm/trunk/tools/llvm-lto2/llvm-lto2.cpptrunk/tools/llvm-lto2/llvm-lto2.cpp
The file was modified/llvm/trunk/tools/opt/opt.cpptrunk/tools/opt/opt.cpp
Revision 363342 by Vedant Kumar:
[Coverage] Speculative fix for r363325 for an older compiler

It looks like an older version of gcc can't figure out that it needs to
move a unique_ptr while implicitly constructing an Expected object.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ProfileData/Coverage/CoverageMappingReader.cpptrunk/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Revision 363339 by rampitec:
[AMDGPU] gfx1010 wave32 icmp/fcmp intrinsic changes for wave32

Differential Revision: https://reviews.llvm.org/D63301
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdtrunk/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpptrunk/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.htrunk/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIAnnotateControlFlow.cpptrunk/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpptrunk/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.tdtrunk/lib/Target/AMDGPU/SIInstructions.td
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpptrunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/diverge-switch-default.lltrunk/test/CodeGen/AMDGPU/diverge-switch-default.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/loop_break.lltrunk/test/CodeGen/AMDGPU/loop_break.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/multi-divergent-exit-region.lltrunk/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/multilevel-break.lltrunk/test/CodeGen/AMDGPU/multilevel-break.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/nested-loop-conditions.lltrunk/test/CodeGen/AMDGPU/nested-loop-conditions.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/si-annotate-cf-unreachable.lltrunk/test/CodeGen/AMDGPU/si-annotate-cf-unreachable.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/si-annotatecfg-multiple-backedges.lltrunk/test/CodeGen/AMDGPU/si-annotatecfg-multiple-backedges.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.lltrunk/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
The file was modified/llvm/trunk/test/Verifier/AMDGPU/intrinsic-immarg.lltrunk/test/Verifier/AMDGPU/intrinsic-immarg.ll
Revision 363336 by seiya:
[llvm-objcopy] Fix sparc target endianness

Summary: AFAIK, the "sparc" target is big endian and the target for 32-bit little-endian SPARC is denoted as "sparcel". This patch fixes the endianness of "sparc" target and adds "sparcel" target for 32-bit little-endian SPARC.

Reviewers: espindola, alexshap, rupprecht, jhenderson

Reviewed By: jhenderson

Subscribers: jyknight, emaste, arichardson, fedor.sergeev, jakehehrlich, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63251
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input-arch.testtrunk/test/tools/llvm-objcopy/ELF/binary-input-arch.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpptrunk/tools/llvm-objcopy/CopyConfig.cpp
Revision 363335 by akhuang:
Use fully qualified name when printing S_CONSTANT records

Summary:
Before it was using the fully qualified name only for static data members.
Now it does for all variable names to match MSVC.

Reviewers: rnk

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63012
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cppN/A
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpptrunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modified/llvm/trunk/test/DebugInfo/COFF/global-constants.lltrunk/test/DebugInfo/COFF/global-constants.ll
Revision 363334 by pcc:
Symbolize: Remove dead code. NFCI.

The only caller of SymbolizableObjectFile::create passes a non-null
DebugInfoContext and asserts that they do so. Move the assert into
SymbolizableObjectFile::create and remove null checks.

Differential Revision: https://reviews.llvm.org/D63298
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpptrunk/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
The file was modified/llvm/trunk/lib/DebugInfo/Symbolize/Symbolize.cpptrunk/lib/DebugInfo/Symbolize/Symbolize.cpp
Revision 363332 by rampitec:
[AMDGPU] gfx10 documentation update. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/AMDGPUUsage.rsttrunk/docs/AMDGPUUsage.rst
Revision 363331 by aemerson:
[GlobalISel][IRTranslator] Add debug loc with line 0 to constants emitted into the entry block.

Constants, including G_GLOBAL_VALUE, are all emitted into the entry block which
lets us use the vreg def assuming it dominates all other users. However, it can
cause jumpy debug behaviour since the DebugLoc attached to these MIs are from
a user instruction that could be in a different block.

Fixes PR40887.

Differential Revision: https://reviews.llvm.org/D63286
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpptrunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/constant-dbg-loc.lltrunk/test/CodeGen/AArch64/GlobalISel/constant-dbg-loc.ll
The file was modified/llvm/trunk/test/DebugInfo/AArch64/cfi-eof-prologue.lltrunk/test/DebugInfo/AArch64/cfi-eof-prologue.ll
Revision 363330 by ctopper:
[X86Disassembler] Unify the EVEX and VEX code in emitContextTable. Merge the ATTR_VEXL/ATTR_EVEXL bits. NFCI

Merging the two bits shrinks the context table from 16384 bytes to 8192 bytes.

Remove the ATTRIBUTE_BITS macro and just create an enum directly. Then fix the ATTR_max define to be 8192 to reflect the table size so we stop hardcoding it separately.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/X86DisassemblerDecoderCommon.htrunk/include/llvm/Support/X86DisassemblerDecoderCommon.h
The file was modified/llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpptrunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp
The file was modified/llvm/trunk/utils/TableGen/X86DisassemblerTables.cpptrunk/utils/TableGen/X86DisassemblerTables.cpp
Revision 363329 by jsji:
[MachinePiepliner] Don't check boundary node in checkValidNodeOrder

This was exposed by PowerPC target enablement.

In ScheduleDAG, if we haven't seen any uses in this scheduling region,
we will create a dependence edge to ExitSU to model the live-out latency.
This is required for vreg defs with no in-region use, and prefetches with
no vreg def.

When we build NodeOrder in Scheduler, we ignore these boundary nodes.
However, when we check Succs in checkValidNodeOrder, we did not skip
them, so we still assume all the nodes have been sorted and in order in
Indices array. So when we call lower_bound() for ExitSU, it will return
Indices.end(), causing memory issues in following Node access.

Differential Revision: https://reviews.llvm.org/D63282
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachinePipeliner.cpptrunk/lib/CodeGen/MachinePipeliner.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/sms-simple.lltrunk/test/CodeGen/PowerPC/sms-simple.ll
Revision 363328 by thegameg:
[Remarks] Refactor optimization remarks setup

* Add a common function to setup opt-remarks
* Rename common options to the same names
* Add error types to distinguish between file errors and regex errors
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenAction.cppN/A
The file was modified/llvm/trunk/include/llvm/IR/RemarkStreamer.htrunk/include/llvm/IR/RemarkStreamer.h
The file was modified/llvm/trunk/include/llvm/LTO/LTO.htrunk/include/llvm/LTO/LTO.h
The file was modified/llvm/trunk/lib/IR/RemarkStreamer.cpptrunk/lib/IR/RemarkStreamer.cpp
The file was modified/llvm/trunk/lib/LTO/LTO.cpptrunk/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/LTO/LTOBackend.cpptrunk/lib/LTO/LTOBackend.cpp
The file was modified/llvm/trunk/lib/LTO/LTOCodeGenerator.cpptrunk/lib/LTO/LTOCodeGenerator.cpp
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cpptrunk/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modified/llvm/trunk/tools/gold/gold-plugin.cpptrunk/tools/gold/gold-plugin.cpp
The file was modified/llvm/trunk/tools/llc/llc.cpptrunk/tools/llc/llc.cpp
The file was modified/llvm/trunk/tools/llvm-lto2/llvm-lto2.cpptrunk/tools/llvm-lto2/llvm-lto2.cpp
The file was modified/llvm/trunk/tools/opt/opt.cpptrunk/tools/opt/opt.cpp
Revision 363325 by Vedant Kumar:
[Coverage] Load code coverage data from archives

Support loading code coverage data from regular archives, thin archives,
and from MachO universal binaries which contain archives.

Testing: check-llvm, check-profile (with {A,UB}San enabled)

rdar://51538999

Differential Revision: https://reviews.llvm.org/D63232
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-cov.rsttrunk/docs/CommandGuide/llvm-cov.rst
The file was modified/llvm/trunk/include/llvm/ProfileData/Coverage/CoverageMappingReader.htrunk/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was modified/llvm/trunk/lib/ProfileData/Coverage/CoverageMapping.cpptrunk/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modified/llvm/trunk/lib/ProfileData/Coverage/CoverageMappingReader.cpptrunk/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archivestrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj1.ctrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj1.c
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj1_32.otrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj1_32.o
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj2.ctrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj2.c
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj2_32.otrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/obj2_32.o
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/universal_bin_wrapping_archivestrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/universal_bin_wrapping_archives
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/universal_bin_wrapping_archives.proftexttrunk/test/tools/llvm-cov/Inputs/universal_bin_wrapping_archives/universal_bin_wrapping_archives.proftext
The file was added/llvm/trunk/test/tools/llvm-cov/universal_bin_wrapping_archives.testtrunk/test/tools/llvm-cov/universal_bin_wrapping_archives.test
Revision 363324 by nico:
gn build: Merge r363242
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/include/clang/Basic/BUILD.gntrunk/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/Sema/BUILD.gntrunk/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Revision 363323 by rampitec:
[AMDGPU] gfx1010 AMDGPUSetCCOp definition

It was missing from D63293 and breaks in a debug tablegen w/o
this part.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstrInfo.tdtrunk/lib/Target/AMDGPU/AMDGPUInstrInfo.td
Revision 363322 by Lang Hames:
[ORC] Rename MaterializationResponsibility resolve and emit methods to
notifyResolved/notifyEmitted.

The 'notify' prefix better describes what these methods do: they update the JIT
symbol states and notify any pending queries that the 'resolved' and 'emitted'
states have been reached (rather than actually performing the resolution or
emission themselves). Since new states are going to be introduced in the near
future (to track symbol registration/initialization) it's worth changing the
convention pre-emptively to avoid further confusion.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/Core.htrunk/include/llvm/ExecutionEngine/Orc/Core.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/Core.cpptrunk/lib/ExecutionEngine/Orc/Core.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/IndirectionUtils.cpptrunk/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LazyReexports.cpptrunk/lib/ExecutionEngine/Orc/LazyReexports.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpptrunk/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpptrunk/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modified/llvm/trunk/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpptrunk/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
The file was modified/llvm/trunk/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpptrunk/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
Revision 363320 by nikic:
[LangRef] Clarify poison semantics

I find the current documentation of poison somewhat confusing,
mainly because its use of "undefined behavior" doesn't seem to
align with our usual interpretation (of immediate UB). Especially
the sentence "any instruction that has a dependence on a poison
value has undefined behavior" is very confusing.

Clarify poison semantics by:

* Replacing the introductory paragraph with the standard rationale
   for having poison values.
* Spelling out that instructions depending on poison return poison.
* Spelling out how we go from a poison value to immediate undefined
   behavior and give the two examples we currently use in ValueTracking.
* Spelling out that side effects depending on poison are UB.

Differential Revision: https://reviews.llvm.org/D63044
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rsttrunk/docs/LangRef.rst
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpptrunk/lib/Analysis/ValueTracking.cpp
Revision 363319 by shawnl:
[SimplifyCFG] NFC, update Switch tests as a baseline.

Also add baseline tests to show effect of later patches.

There were a couple of regressions here that were never caught,
but my patch set that this is a preparation to will fix them.

This is the third attempt to land this patch.

Differential Revision: https://reviews.llvm.org/D61150
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.lltrunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/CoveredLookupTable.lltrunk/test/Transforms/SimplifyCFG/CoveredLookupTable.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.lltrunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.lltrunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-dead-default.lltrunk/test/Transforms/SimplifyCFG/switch-dead-default.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-masked-bits.lltrunk/test/Transforms/SimplifyCFG/switch-masked-bits.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-on-const-select.lltrunk/test/Transforms/SimplifyCFG/switch-on-const-select.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.lltrunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.lltrunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create.lltrunk/test/Transforms/SimplifyCFG/switch_create.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_switch_fold.lltrunk/test/Transforms/SimplifyCFG/switch_switch_fold.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_thread.lltrunk/test/Transforms/SimplifyCFG/switch_thread.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_undef.lltrunk/test/Transforms/SimplifyCFG/switch_undef.ll
Revision 363318 by reames:
Add a clarifying comment about branching on poison

I recently got this wrong (again), and I'm sure I'm not the only one.  Put a comment in the logical place someone would look to "fix" the obvious "missed optimization" which arrises based on the common misunderstanding.  Hopefully, this will save others time.  :)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpptrunk/lib/Analysis/ValueTracking.cpp
Revision 363317 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to fp-fast.ll fp-fold.ll fp-in-intregs.ll fp-stack-compare-cmov.ll fp-stack-compare.ll fsxor-alignment.ll"

This reverts commit 1d85a7518c6b660a85caabd580b632f9abd5a8ab.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fp-fast.lltrunk/test/CodeGen/X86/fp-fast.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-fold.lltrunk/test/CodeGen/X86/fp-fold.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-in-intregs.lltrunk/test/CodeGen/X86/fp-in-intregs.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-stack-compare-cmov.lltrunk/test/CodeGen/X86/fp-stack-compare-cmov.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-stack-compare.lltrunk/test/CodeGen/X86/fp-stack-compare.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fsxor-alignment.lltrunk/test/CodeGen/X86/fsxor-alignment.ll
Revision 363316 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to fmul-combines.ll fnabs.ll"

This reverts commit 5c0114058126757ce21e546997121afffc8119cd.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fmul-combines.lltrunk/test/CodeGen/X86/fmul-combines.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fnabs.lltrunk/test/CodeGen/X86/fnabs.ll
Revision 363315 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma_patterns_wide.ll"

This reverts commit f1b8c6ac4f9d31899a2bc128f8a37b5a1c3e1f77.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma_patterns_wide.lltrunk/test/CodeGen/X86/fma_patterns_wide.ll
Revision 363314 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma_patterns.ll"

This reverts commit 06de52674da73f30751f3ff19fdf457f87077c65.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma_patterns.lltrunk/test/CodeGen/X86/fma_patterns.ll
Revision 363313 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma4-fneg-combine.ll"

This reverts commit f288a0685f874d2b965db25a16b9c44f78c55b12.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma4-fneg-combine.lltrunk/test/CodeGen/X86/fma4-fneg-combine.ll
Revision 363312 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma-scalar-combine.ll"

This reverts commit 3d2ee0053aa2576fd19cd169798c496199f0a29b.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-scalar-combine.lltrunk/test/CodeGen/X86/fma-scalar-combine.ll
Revision 363311 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma-intrinsics-x86.ll"

This reverts commit 169fc2b0209d5574fca0927a707706ea2d5f5a09.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-x86.lltrunk/test/CodeGen/X86/fma-intrinsics-x86.ll
Revision 363310 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma4-intrinsics-x86.ll"

This reverts commit 66f286845cad73a280617a606e29c9009bb4da87.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma4-intrinsics-x86.lltrunk/test/CodeGen/X86/fma4-intrinsics-x86.ll
Revision 363309 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to some X86/ and XCore/ tests."

This reverts commit 4f3cf3853e1145e3e08fb42ace79ba3e4e268540.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/fma-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/neg_fp.lltrunk/test/CodeGen/X86/neg_fp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_fneg.lltrunk/test/CodeGen/X86/vec_fneg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_logical.lltrunk/test/CodeGen/X86/vec_logical.ll
The file was modified/llvm/trunk/test/CodeGen/XCore/fneg.lltrunk/test/CodeGen/XCore/fneg.ll
Revision 363308 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/fma-intrinsics-canonical.ll"

This reverts commit ee5881a88cbe148bb64d14b8a5b31a314ee22343.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-canonical.lltrunk/test/CodeGen/X86/fma-intrinsics-canonical.ll
Revision 363307 by mcinally:
Revert "[NFC][CodeGen] Forgot 2 unary FNeg tests in X86/fma-intrinsics-canonical.ll"

This reverts commit 5f39a3096f8e7b09bd1645f4e4ca66343066a6e1.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-canonical.lltrunk/test/CodeGen/X86/fma-intrinsics-canonical.ll
Revision 363306 by mcinally:
Revert "[NFC][CodeGen] Add unary fneg tests to X86/fma-fneg-combine.ll"

This reverts commit 10c085554215e84831d272f2e6a93b7c70d143bf.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-fneg-combine.lltrunk/test/CodeGen/X86/fma-fneg-combine.ll
Revision 363305 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll"

This reverts commit e04c4b6af81d6142c4ff8dd9d00f44a27e9a66eb.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/combine-fcopysign.lltrunk/test/CodeGen/X86/combine-fcopysign.ll
The file was modified/llvm/trunk/test/CodeGen/X86/dag-fmf-cse.lltrunk/test/CodeGen/X86/dag-fmf-cse.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fast-isel-fneg.lltrunk/test/CodeGen/X86/fast-isel-fneg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fdiv.lltrunk/test/CodeGen/X86/fdiv.ll
Revision 363304 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll X86/combine-fabs.ll"

This reverts commit 6fe46ec25d849a9fd5be25acf0ee77e3c06c0786.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/combine-fabs.lltrunk/test/CodeGen/X86/combine-fabs.ll
Revision 363303 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll"

This reverts commit 2aa5ada267d268fec2b1e90efeae1ddee24617be.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
Revision 363302 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll"

This reverts commit 27a5db9de57d13d44c7a7704e06d8ba69ec8b4af.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
Revision 363301 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll"

This reverts commit 41e0b9f2803089155536bdec7cbea6b82680a727.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
Revision 363300 by mcinally:
Revert "[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll"

This reverts commit aeb89f8b33d8fca4e819ba41267093699a7e4885.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
Revision 363299 by rampitec:
[AMDGPU] gfx1010 base changes for wave32

Differential Revision: https://reviews.llvm.org/D63293
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructions.tdtrunk/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpptrunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpptrunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdtrunk/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.tdtrunk/lib/Target/AMDGPU/SIInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SOPInstructions.tdtrunk/lib/Target/AMDGPU/SOPInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpptrunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.htrunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.tdtrunk/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOPCInstructions.tdtrunk/lib/Target/AMDGPU/VOPCInstructions.td
Revision 363298 by dhinton:
[lit] Disable test on darwin when building shared libs.

Summary:
This test fails to link shared libraries because tries to run
a copied version of clang-check to see if the mock version of libcxx
in the same directory can be loaded dynamically.  Since the test is
specifically designed not to look in the default just-built lib
directory, it must be disabled when building with
BUILD_SHARED_LIBS=ON.

Currently only disabling it on Darwin and basing it on the
enable_shared flag.

Reviewed By: ilya-biryukov

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D61697
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Tooling/clang-check-mac-libcxx-fixed-compilation-db.cppN/A
The file was modified/llvm/trunk/utils/lit/lit/llvm/config.pytrunk/utils/lit/lit/llvm/config.py
Revision 363297 by rampitec:
[AMDGPU] gfx1010: small test change for wave32. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hazard-in-bundle.mirtrunk/test/CodeGen/AMDGPU/hazard-in-bundle.mir
Revision 363294 by rupprecht:
[docs] Fix TableGen/LangRef typos

This fixes:
- `Pred` -> `Prep`
- `IfDef` -> `Ifdef` (rst is case sensitive here)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/TableGen/LangRef.rsttrunk/docs/TableGen/LangRef.rst
Revision 363293 by reames:
[LFTR] Rename variable to minimize confusion [NFC]

As pointed out by Nikita in D62625, BackedgeTakenCount is generally used to refer to the backedge taken count of the loop.  A conditional backedge taken count - one which only applies if a particular exit is taken - is called a ExitCount in SCEV code, so be consistent here.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 363292 by reames:
[LFTR] Stylistic cleanup as suggested in last review comment of D62939 [NFC]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 363291 by spatel:
[InstCombine] add test for failed libfunction prototype matching; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/sqrt-nofast.lltrunk/test/Transforms/InstCombine/sqrt-nofast.ll
Revision 363289 by reames:
Fix a bug w/inbounds invalidation in LFTR

This contains fixes for two cases where we might invalidate inbounds and leave it stale in the IR (a miscompile). Case 1 is when switching to an IV with no dynamically live uses, and case 2 is when doing pre-to-post conversion on the same pointer type IV.

The basic scheme used is to prove that using the given IV (pre or post increment forms) would have to already trigger UB on the path to the test we're modifying.  As such, our potential UB triggering use does not change the semantics of the original program.

As was pointed out in the review thread by Nikita, this is defending against a separate issue from the hasConcreteDef case. This is about poison, that's about undef. Unfortunately, the two are different, see Nikita's comment for a fuller explanation, he explains it well.

(Note: I'm going to address Nikita's last style comment in a separate commit just to minimize chance of subtle bugs being introduced due to typos.)

Differential Revision: https://reviews.llvm.org/D62939
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/2011-10-27-lftrnull.lltrunk/test/Transforms/IndVarSimplify/2011-10-27-lftrnull.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.lltrunk/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.lltrunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr.lltrunk/test/Transforms/IndVarSimplify/lftr.ll
Revision 363287 by leonardchan:
[clang][NewPM] Fix broken -O0 test from missing assumptions

Add an AssumptionCache callback to the InlineFuntionInfo used for the
AlwaysInlinerPass to match codegen of the AlwaysInlinerLegacyPass to generate
llvm.assume. This fixes CodeGen/builtin-movdir.c when new PM is enabled by
default.

Differential Revision: https://reviews.llvm.org/D63170
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/builtin-movdir.cN/A
The file was modified/cfe/trunk/test/CodeGen/lto-newpm-pipeline.cN/A
The file was modified/llvm/trunk/lib/Transforms/IPO/AlwaysInliner.cpptrunk/lib/Transforms/IPO/AlwaysInliner.cpp
Revision 363286 by spatel:
[InstCombine] auto-generate complete test checks; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/sqrt.lltrunk/test/Transforms/InstCombine/sqrt.ll
Revision 363285 by xbolva00:
[NFC] Updated testcase for D54411/rL363284
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/LoopStrengthReduce/AArch64/small-constant.lltrunk/test/Transforms/LoopStrengthReduce/AArch64/small-constant.ll
Revision 363284 by xbolva00:
[Codegen] Merge tail blocks with no successors after block placement

Summary:
I found the following case having tail blocks with no successors merging opportunities after block placement.

Before block placement:

bb0:
    ...
    bne a0, 0, bb2:

bb1:
    mv a0, 1
    ret

bb2:
    ...

bb3:
    mv a0, 1
    ret

bb4:
    mv a0, -1
    ret

The conditional branch bne in bb0 is opposite to beq.

After block placement:

bb0:
    ...
    beq a0, 0, bb1

bb2:
    ...

bb4:
    mv a0, -1
    ret

bb1:
    mv a0, 1
    ret

bb3:
    mv a0, 1
    ret

After block placement, that appears new tail merging opportunity, bb1 and bb3 can be merged as one block. So the conditional constraint for merging tail blocks with no successors should be removed. In my experiment for RISC-V, it decreases code size.


Author of original patch: Jim Lin

Reviewers: haicheng, aheejin, craig.topper, rnk, RKSimon, Jim, dmgreen

Reviewed By: Jim, dmgreen

Subscribers: xbolva00, dschuff, javed.absar, sbc100, jgravelle-google, aheejin, kito-cheng, dmgreen, PkmX, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D54411
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/BranchFolding.cpptrunk/lib/CodeGen/BranchFolding.cpp
The file was modified/llvm/trunk/test/CodeGen/Thumb2/v8_IT_3.lltrunk/test/CodeGen/Thumb2/v8_IT_3.ll
The file was modified/llvm/trunk/test/CodeGen/WinEH/wineh-noret-cleanup.lltrunk/test/CodeGen/WinEH/wineh-noret-cleanup.ll
The file was modified/llvm/trunk/test/CodeGen/X86/conditional-tailcall.lltrunk/test/CodeGen/X86/conditional-tailcall.ll
The file was modified/llvm/trunk/test/CodeGen/X86/loop-search.lltrunk/test/CodeGen/X86/loop-search.ll
The file was modified/llvm/trunk/test/CodeGen/X86/machine-cp.lltrunk/test/CodeGen/X86/machine-cp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/mul-constant-result.lltrunk/test/CodeGen/X86/mul-constant-result.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tail-merge-after-mbp.mirtrunk/test/CodeGen/X86/tail-merge-after-mbp.mir
The file was modified/llvm/trunk/test/CodeGen/X86/tail-opts.lltrunk/test/CodeGen/X86/tail-opts.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tail-threshold.lltrunk/test/CodeGen/X86/tail-threshold.ll
The file was modified/llvm/trunk/test/CodeGen/X86/test-shrink-bug.lltrunk/test/CodeGen/X86/test-shrink-bug.ll
Revision 363276 by rampitec:
[AMDGPU] ImmArg and SourceOfDivergence for permlane/dpp

Added missing ImmArg and SourceOfDivergence to the crosslane
intrinsics.

Differential Revision: https://reviews.llvm.org/D63216
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdtrunk/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSearchableTables.tdtrunk/lib/Target/AMDGPU/AMDGPUSearchableTables.td
The file was modified/llvm/trunk/test/Analysis/DivergenceAnalysis/AMDGPU/intrinsics.lltrunk/test/Analysis/DivergenceAnalysis/AMDGPU/intrinsics.ll
The file was modified/llvm/trunk/test/Verifier/AMDGPU/intrinsic-immarg.lltrunk/test/Verifier/AMDGPU/intrinsic-immarg.ll
Revision 363275 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll

Patch 2 of n.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
Revision 363274 by josepht:
[EarlyCSE] Ensure equal keys have the same hash value

Summary:
The logic in EarlyCSE that looks through 'not' operations in the
predicate recognizes e.g. that `select (not (cmp sgt X, Y)), X, Y` is
equivalent to `select (cmp sgt X, Y), Y, X`.  Without this change,
however, only the latter is recognized as a form of `smin X, Y`, so the
two expressions receive different hash codes.  This leads to missed
optimization opportunities when the quadratic probing for the two hashes
doesn't happen to collide, and assertion failures when probing doesn't
collide on insertion but does collide on a subsequent table grow
operation.

This change inverts the order of some of the pattern matching, checking
first for the optional `not` and then for the min/max/abs patterns, so
that e.g. both expressions above are recognized as a form of `smin X, Y`.

It also adds an assertion to isEqual verifying that it implies equal
hash codes; this fires when there's a collision during insertion, not
just grow, and so will make it easier to notice if these functions fall
out of sync again.  A new flag --earlycse-debug-hash is added which can
be used when changing the hash function; it forces hash collisions so
that any pair of values inserted which compare as equal but hash
differently will be caught by the isEqual assertion.

Reviewers: spatel, nikic

Reviewed By: spatel, nikic

Subscribers: lebedev.ri, arsenm, craig.topper, efriedma, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62644
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/ValueTracking.htrunk/include/llvm/Analysis/ValueTracking.h
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpptrunk/lib/Analysis/ValueTracking.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/EarlyCSE.cpptrunk/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modified/llvm/trunk/test/Transforms/EarlyCSE/commute.lltrunk/test/Transforms/EarlyCSE/commute.ll
Revision 363269 by hliao:
Fix GCC compiler warning. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DebugInfoMetadata.htrunk/include/llvm/IR/DebugInfoMetadata.h
Revision 363268 by rksimon:
[X86] Use fresh MemOps when emitting VAARG64

Previously it copied over MachineMemOperands verbatim which caused MOV32rm to have store flags set, and MOV32mr to have load flags set. This fixes some assertions being thrown with EXPENSIVE_CHECKS on.

Committed on behalf of @luke (Luke Lau)

Differential Revision: https://reviews.llvm.org/D62726
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
Revision 363267 by dstenb:
Remove ';' after namespace's closing bracket [NFC]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpptrunk/lib/CodeGen/LiveDebugValues.cpp
Revision 363266 by jhenderson:
[docs][llvm-symbolizer] Fix formatting issue with --functions

Reviewed by: rupprecht

Differential Revision: https://reviews.llvm.org/D63195
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-symbolizer.rsttrunk/docs/CommandGuide/llvm-symbolizer.rst
Revision 363265 by dnsampaio:
[FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack

Summary:
Relate bug: https://bugs.llvm.org/show_bug.cgi?id=37472

The shrink wrapping pass prematurally restores the stack, at a point where the stack might still be accessed.
Taking an exception can cause the stack to be corrupted.

As a first approach, this patch is overly conservative, assuming that any instruction that may load or store could access
the stack.

Reviewers: dmgreen, qcolombet

Reviewed By: qcolombet

Subscribers: simpal01, efriedma, eli.friedman, javed.absar, llvm-commits, eugenis, chill, carwil, thegameg

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63152
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/ShrinkWrap.cpptrunk/lib/CodeGen/ShrinkWrap.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-shrink-wrapping.lltrunk/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/branch-relax-cbz.lltrunk/test/CodeGen/AArch64/branch-relax-cbz.ll
The file was added/llvm/trunk/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mirtrunk/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/taildup-cfi.lltrunk/test/CodeGen/AArch64/taildup-cfi.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/arm-shrink-wrapping-linux.lltrunk/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/arm-shrink-wrapping.lltrunk/test/CodeGen/ARM/arm-shrink-wrapping.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/BreakableToken-reduced.lltrunk/test/CodeGen/PowerPC/BreakableToken-reduced.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.lltrunk/test/CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/licm-tocReg.lltrunk/test/CodeGen/PowerPC/licm-tocReg.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.lltrunk/test/CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/xray-ret-is-terminator.lltrunk/test/CodeGen/PowerPC/xray-ret-is-terminator.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb/thumb-shrink-wrapping.lltrunk/test/CodeGen/Thumb/thumb-shrink-wrapping.ll
The file was modified/llvm/trunk/test/CodeGen/X86/2010-08-04-MaskedSignedCompare.lltrunk/test/CodeGen/X86/2010-08-04-MaskedSignedCompare.ll
The file was modified/llvm/trunk/test/CodeGen/X86/MachineSink-eflags.lltrunk/test/CodeGen/X86/MachineSink-eflags.ll
The file was modified/llvm/trunk/test/CodeGen/X86/cmov.lltrunk/test/CodeGen/X86/cmov.ll
The file was modified/llvm/trunk/test/CodeGen/X86/copy-eflags.lltrunk/test/CodeGen/X86/copy-eflags.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fold-pcmpeqd-2.lltrunk/test/CodeGen/X86/fold-pcmpeqd-2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/i386-shrink-wrapping.lltrunk/test/CodeGen/X86/i386-shrink-wrapping.ll
The file was modified/llvm/trunk/test/CodeGen/X86/shrink-wrap-chkstk-x86_64.lltrunk/test/CodeGen/X86/shrink-wrap-chkstk-x86_64.ll
The file was modified/llvm/trunk/test/CodeGen/X86/x86-shrink-wrapping.lltrunk/test/CodeGen/X86/x86-shrink-wrapping.ll
The file was modified/llvm/trunk/test/CodeGen/X86/xchg-nofold.lltrunk/test/CodeGen/X86/xchg-nofold.ll
Revision 363264 by jhenderson:
[docs][llvm-dwarfdump] Add missing options and behaviour to documentation

This fixes https://bugs.llvm.org/show_bug.cgi?id=42185.

llvm-dwarfdump's documentation was missing a number of options and other
behaviours. This change tries to fix up the documentation by adding
these missing items.

Reviewed by: JDevlieghere

Differential Revision: https://reviews.llvm.org/D63217
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-dwarfdump.rsttrunk/docs/CommandGuide/llvm-dwarfdump.rst
Revision 363260 by evgeny777:
Extra error checking to ARMAttributeParser

The patch checks for subsection length as discussed in D63191
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/ARMAttributeParser.cpptrunk/lib/Support/ARMAttributeParser.cpp
Revision 363259 by jmorse:
[NFC] Sink a function call into LiveDebugValues::process

This was requested in D62904, which I successfully missed. This is just
a refactor and shouldn't change any behaviour.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpptrunk/lib/CodeGen/LiveDebugValues.cpp
Revision 363258 by statham:
[ARM] Set up infrastructure for MVE vector instructions.

This commit prepares the way to start adding the main collection of
MVE instructions, which operate on the 128-bit vector registers.

The most obvious thing that's needed, and the simplest, is to add the
MQPR register class, which is like the existing QPR except that it has
fewer registers in it.

The more complicated part: MVE defines a system of vector predication,
in which instructions operating on 128-bit vector registers can be
constrained to operate on only a subset of the lanes, using a system
of prefix instructions similar to the existing Thumb IT, in that you
have one prefix instruction which designates up to 4 following
instructions as subject to predication, and within that sequence, the
predicate can be inverted by means of T/E suffixes ('Then' / 'Else').

To support instructions of this type, we've added two new Tablegen
classes `vpred_n` and `vpred_r` for standard clusters of MC operands
to add to a predicated instruction. Both include a flag indicating how
the instruction is predicated at all (options are T, E and 'not
predicated'), and an input register field for the register controlling
the set of active lanes. They differ from each other in that `vpred_r`
also includes an input operand for the previous value of the output
register, for instructions that leave inactive lanes unchanged.
`vpred_n` lacks that extra operand; it will be used for instructions
that don't preserve inactive lanes in their output register (either
because inactive lanes are zeroed, as the MVE load instructions do, or
because the output register isn't a vector at all).

This commit also adds the family of prefix instructions themselves
(VPT / VPST), and all the machinery needed to work with them in
assembly and disassembly (e.g. generating the 't' and 'e' mnemonic
suffixes on disassembled instructions within a predicated block)

I've added a couple of demo instructions that derive from the new
Tablegen base classes and use those two operand clusters. The bulk of
the vector instructions will come in followup commits small enough to
be manageable. (One exception is that I've added the full version of
`isMnemonicVPTPredicable` in the AsmParser, because it seemed
pointless to carefully split it up.)

Reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover

Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62669
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.htrunk/lib/Target/ARM/ARMBaseInstrInfo.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrFormats.tdtrunk/lib/Target/ARM/ARMInstrFormats.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.tdtrunk/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMRegisterBankInfo.cpptrunk/lib/Target/ARM/ARMRegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMRegisterInfo.tdtrunk/lib/Target/ARM/ARMRegisterInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpptrunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpptrunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.htrunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.htrunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
The file was modified/llvm/trunk/lib/Target/ARM/Utils/ARMBaseInfo.htrunk/lib/Target/ARM/Utils/ARMBaseInfo.h
The file was added/llvm/trunk/test/MC/ARM/mve-minmax.strunk/test/MC/ARM/mve-minmax.s
The file was added/llvm/trunk/test/MC/ARM/mve-reductions.strunk/test/MC/ARM/mve-reductions.s
The file was added/llvm/trunk/test/MC/ARM/mve-vpt.strunk/test/MC/ARM/mve-vpt.s
The file was added/llvm/trunk/test/MC/Disassembler/ARM/mve-minmax.txttrunk/test/MC/Disassembler/ARM/mve-minmax.txt
The file was added/llvm/trunk/test/MC/Disassembler/ARM/mve-reductions.txttrunk/test/MC/Disassembler/ARM/mve-reductions.txt
The file was added/llvm/trunk/test/MC/Disassembler/ARM/mve-vpt.txttrunk/test/MC/Disassembler/ARM/mve-vpt.txt
Revision 363257 by rksimon:
[CodeGen] Add getMachineMemOperand + MachineMemOperand::Flags allocator helper wrapper. NFCI.

Pre-commit for D62726 on behalf of @luke (Luke Lau)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineFunction.htrunk/include/llvm/CodeGen/MachineFunction.h
The file was modified/llvm/trunk/lib/CodeGen/MachineFunction.cpptrunk/lib/CodeGen/MachineFunction.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpptrunk/lib/Target/X86/X86InstrInfo.cpp
Revision 363256 by jmorse:
[DebugInfo] Honour variable fragments in LiveDebugValues

This patch makes the LiveDebugValues pass consider fragments when propagating
DBG_VALUE insts between blocks, fixing PR41979. Fragment info for a variable
location is added to the open-ranges key, which allows distinct fragments to be
tracked separately. To handle overlapping fragments things become slightly
funkier. To avoid excessive searching for overlaps in the data-flow part of
LiveDebugValues, this patch:
* Pre-computes pairings of fragments that overlap, for each DILocalVariable
* During data-flow, whenever something happens that causes an open range to
   be terminated (via erase), any fragments pre-determined to overlap are
   also terminated.

The effect of which is that when encountering a DBG_VALUE fragment that
overlaps others, the overlapped fragments do not get propagated to other
blocks. We still rely on later location-list building to correctly handle
overlapping fragments within blocks.

It's unclear whether a mixture of DBG_VALUEs with and without fragmented
expressions are legitimate. To avoid suprises, this patch interprets a
DBG_VALUE with no fragment as overlapping any DBG_VALUE _with_ a fragment.

Differential Revision: https://reviews.llvm.org/D62904
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DebugInfoMetadata.htrunk/include/llvm/IR/DebugInfoMetadata.h
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpptrunk/lib/CodeGen/LiveDebugValues.cpp
The file was modified/llvm/trunk/test/DebugInfo/ARM/partial-subreg.lltrunk/test/DebugInfo/ARM/partial-subreg.ll
The file was added/llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values-fragments.mirtrunk/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
Revision 363255 by dpreobra:
[AMDGPU][MC] Enabled constant expressions as operands of s_getreg/s_setreg

See bug 40820: https://bugs.llvm.org/show_bug.cgi?id=40820

Reviewers: artem.tamazov, arsenm

Differential Revision: https://reviews.llvm.org/D61125
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpptrunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIDefines.htrunk/lib/Target/AMDGPU/SIDefines.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpptrunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.htrunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modified/llvm/trunk/test/MC/AMDGPU/sopk-err.strunk/test/MC/AMDGPU/sopk-err.s
The file was modified/llvm/trunk/test/MC/AMDGPU/sopk.strunk/test/MC/AMDGPU/sopk.s
Revision 363254 by evgeny777:
[ThinLTO][Bitcode] Add 'entrycount' to FS_COMBINED_PROFILE. NFC

Differential revision: https://reviews.llvm.org/D63078
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpptrunk/lib/Bitcode/Writer/BitcodeWriter.cpp
Revision 363252 by rksimon:
[X86][AVX] Add broadcast(v4f64 hadd) test
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/haddsub-shuf.lltrunk/test/CodeGen/X86/haddsub-shuf.ll
Revision 363251 by rksimon:
[X86][SSE] Avoid assert for broadcast(horiz-op()) cases for non-f64 cases.

Based on fuzz test from @craig.topper
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/haddsub-shuf.lltrunk/test/CodeGen/X86/haddsub-shuf.ll
Revision 363249 by rksimon:
[X86][SSE] Add tests for underaligned nt stores

Test both 'unaligned' (which we should scalarize) and 'subvector aligned' (which we should split)
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/nontemporal-3.lltrunk/test/CodeGen/X86/nontemporal-3.ll
Revision 363248 by chrisj:
[llvm-nm] Additional lit tests for command line options

    Differential Revision: https://reviews.llvm.org/D62955
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-nm/X86/format-sysv-32-bit.testtrunk/test/tools/llvm-nm/X86/format-sysv-32-bit.test
The file was added/llvm/trunk/test/tools/llvm-nm/X86/format-sysv-64-bit.testtrunk/test/tools/llvm-nm/X86/format-sysv-64-bit.test
The file was added/llvm/trunk/test/tools/llvm-nm/X86/macho-format-sysv.testtrunk/test/tools/llvm-nm/X86/macho-format-sysv.test
The file was added/llvm/trunk/test/tools/llvm-nm/X86/portability.testtrunk/test/tools/llvm-nm/X86/portability.test
The file was removed/llvm/trunk/test/tools/llvm-nm/X86/posixELF.testtrunk/test/tools/llvm-nm/X86/posixELF.test
The file was removed/llvm/trunk/test/tools/llvm-nm/X86/sysv-i386.testtrunk/test/tools/llvm-nm/X86/sysv-i386.test
The file was removed/llvm/trunk/test/tools/llvm-nm/X86/sysv-x86_64.testtrunk/test/tools/llvm-nm/X86/sysv-x86_64.test
The file was added/llvm/trunk/test/tools/llvm-nm/debug-syms.testtrunk/test/tools/llvm-nm/debug-syms.test
The file was added/llvm/trunk/test/tools/llvm-nm/format-sysv-binding.testtrunk/test/tools/llvm-nm/format-sysv-binding.test
The file was added/llvm/trunk/test/tools/llvm-nm/format-sysv-layout.testtrunk/test/tools/llvm-nm/format-sysv-layout.test
The file was added/llvm/trunk/test/tools/llvm-nm/format-sysv-section.testtrunk/test/tools/llvm-nm/format-sysv-section.test
The file was added/llvm/trunk/test/tools/llvm-nm/format-sysv-type.testtrunk/test/tools/llvm-nm/format-sysv-type.test
The file was added/llvm/trunk/test/tools/llvm-nm/no-sort.testtrunk/test/tools/llvm-nm/no-sort.test
The file was added/llvm/trunk/test/tools/llvm-nm/numeric-sort.testtrunk/test/tools/llvm-nm/numeric-sort.test
The file was added/llvm/trunk/test/tools/llvm-nm/print-filename.testtrunk/test/tools/llvm-nm/print-filename.test
The file was added/llvm/trunk/test/tools/llvm-nm/print-size.testtrunk/test/tools/llvm-nm/print-size.test
The file was added/llvm/trunk/test/tools/llvm-nm/undefined-only.testtrunk/test/tools/llvm-nm/undefined-only.test
Revision 363247 by rksimon:
[X86][SSE] Add SSE4A nt store tests on X86 as well as X64

We should be able to use MOVNTSD (f64) instead of MOVNTI (i32) to reduce the number of ops 32-bit targets

Pulled out of D63246
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/merge-consecutive-stores-nt.lltrunk/test/CodeGen/X86/merge-consecutive-stores-nt.ll
Revision 363246 by nikolaprica:
[DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC)

Since the DebugLocEntry::Value is used as part of DwarfDebug and
DebugLocEntry make it as the separate class.

Reviewers: aprantl, dstenb

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D63213
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocEntry.htrunk/lib/CodeGen/AsmPrinter/DebugLocEntry.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpptrunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.htrunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
Revision 363245 by jmorse:
[DebugInfo] Use FrameDestroy to extend stack locations to end-of-function

We aim to ignore changes in variable locations during the prologue and
epilogue of functions, to avoid using space documenting location changes
that aren't visible. However in D61940 / r362951 this got ripped out as
the previous implementation was unsound.

Instead, use the FrameDestroy flag to identify when we're in the epilogue
of a function, and ignore variable location changes accordingly. This fits
in with existing code that examines the FrameSetup flag.

Some variable locations get shuffled in modified tests as they now cover
greater ranges, which is what would be expected. Some additional
single-location variables are generated too. Two tests are un-xfailed,
they were only xfailed due to r362951 deleting functionality they depended
on.

Apparently some out-of-tree backends don't accurately maintain FrameDestroy
flags -- if you're an out-of-tree maintainer and see changes in variable
locations disappear due to a faulty FrameDestroy flag, it's safe to back
this change out. The impact is just slightly more debug info than necessary.

Differential Revision: https://reviews.llvm.org/D62314
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpptrunk/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
The file was modified/llvm/trunk/test/DebugInfo/COFF/pieces.lltrunk/test/DebugInfo/COFF/pieces.ll
The file was modified/llvm/trunk/test/DebugInfo/X86/dbg-addr.lltrunk/test/DebugInfo/X86/dbg-addr.ll
The file was modified/llvm/trunk/test/DebugInfo/X86/debug-loc-offset.mirtrunk/test/DebugInfo/X86/debug-loc-offset.mir
The file was modified/llvm/trunk/test/DebugInfo/X86/pr19307.mirtrunk/test/DebugInfo/X86/pr19307.mir
Revision 363244 by statham:
[ARM] Refactor handling of IT mask operands.

During assembly, the mask operand to an IT instruction (storing the
sequence of T/E for 'Then' and 'Else') is parsed out of the mnemonic
into a representation that encodes 'Then' and 'Else' in the same way
regardless of the condition code. At some point during encoding it has
to be converted into the instruction encoding used in the
architecture, in which the mask encodes a sequence of replacement
low-order bits for the condition code, so that which bit value means
'then' and which 'else' depends on whether the original condition code
had its low bit set.

Previously, that transformation was done by processInstruction(), half
way through assembly. So an MCOperand storing an IT mask would
sometimes store it in one format, and sometimes in the other,
depending on where in the assembly pipeline you were. You can see this
in diagnostics from `llvm-mc -debug -triple=thumbv8a -show-inst`, for
example: if you give it an instruction such as `itete eq`, you'd see
an `<MCOperand Imm:5>` in a diagnostic become `<MCOperand Imm:11>` in
the final output.

Having the same data structure store values with time-dependent
semantics is confusing already, and it will get more confusing when we
introduce the MVE VPT instruction which reuses the Then/Else bitmask
idea in a different context. So I'm refactoring: now, all `ARMOperand`
and `MCOperand` representations of an IT mask work exactly the same
way, namely, 0 means 'Then' and 1 means 'Else', regardless of what
original predicate is being referred to. The architectural encoding of
IT that depends on the original condition is now constructed at the
point when we turn the `MCOperand` into the final instruction bit
pattern, and decoded similarly in the disassembler.

The previous condition-independent parse-time format used 0 for Else
and 1 for Then. I've taken the opportunity to flip the sense of it
while I'm changing all of this anyway, because it seems to me more
natural to use 0 for 'leave the starting condition unchanged' and 1
for 'invert it', as if those bits were an XOR mask.

Reviewers: ostannard

Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63219
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.tdtrunk/lib/Target/ARM/ARMInstrThumb2.td
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpptrunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpptrunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpptrunk/lib/Target/ARM/Thumb2ITBlockPass.cpp
Revision 363243 by evgeny777:
[llvm-objcopy] Implement IHEX reader

This is the final part of IHEX format support in llvm-objcopy
Differential revision: https://reviews.llvm.org/D62583
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/Inputs/sections.hextrunk/test/tools/llvm-objcopy/ELF/Inputs/sections.hex
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/ihex-reader.testtrunk/test/tools/llvm-objcopy/ELF/ihex-reader.test
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpptrunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.htrunk/tools/llvm-objcopy/ELF/ELFObjcopy.h
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.cpptrunk/tools/llvm-objcopy/ELF/Object.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.htrunk/tools/llvm-objcopy/ELF/Object.h
The file was modified/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpptrunk/tools/llvm-objcopy/llvm-objcopy.cpp
Revision 363240 by s.desmalen:
Improve reduction intrinsics by overloading result value.

This patch uses the mechanism from D62995 to strengthen the
definitions of the reduction intrinsics by letting the scalar
result/accumulator type be overloaded from the vector element type.

For example:

  ; The LLVM LangRef specifies that the scalar result must equal the
  ; vector element type, but this is not checked/enforced by LLVM.
  declare i32 @llvm.experimental.vector.reduce.or.i32.v4i32(<4 x i32> %a)

This patch changes that into:

  declare i32 @llvm.experimental.vector.reduce.or.v4i32(<4 x i32> %a)

Which has the type-constraint more explicit and causes LLVM to check
the result type with the vector element type.

Reviewers: RKSimon, arsenm, rnk, greened, aemerson

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D62996
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rsttrunk/docs/LangRef.rst
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.htrunk/include/llvm/IR/Intrinsics.h
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.tdtrunk/include/llvm/IR/Intrinsics.td
The file was modified/llvm/trunk/lib/IR/Function.cpptrunk/lib/IR/Function.cpp
The file was modified/llvm/trunk/lib/IR/IRBuilder.cpptrunk/lib/IR/IRBuilder.cpp
The file was modified/llvm/trunk/test/Analysis/CostModel/AArch64/vector-reduce.lltrunk/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-add-widen.lltrunk/test/Analysis/CostModel/X86/reduce-add-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-add.lltrunk/test/Analysis/CostModel/X86/reduce-add.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-and-widen.lltrunk/test/Analysis/CostModel/X86/reduce-and-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-and.lltrunk/test/Analysis/CostModel/X86/reduce-and.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-mul-widen.lltrunk/test/Analysis/CostModel/X86/reduce-mul-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-mul.lltrunk/test/Analysis/CostModel/X86/reduce-mul.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-or-widen.lltrunk/test/Analysis/CostModel/X86/reduce-or-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-or.lltrunk/test/Analysis/CostModel/X86/reduce-or.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-smax-widen.lltrunk/test/Analysis/CostModel/X86/reduce-smax-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-smax.lltrunk/test/Analysis/CostModel/X86/reduce-smax.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-smin-widen.lltrunk/test/Analysis/CostModel/X86/reduce-smin-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-smin.lltrunk/test/Analysis/CostModel/X86/reduce-smin.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-umax-widen.lltrunk/test/Analysis/CostModel/X86/reduce-umax-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-umax.lltrunk/test/Analysis/CostModel/X86/reduce-umax.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-umin-widen.lltrunk/test/Analysis/CostModel/X86/reduce-umin-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-umin.lltrunk/test/Analysis/CostModel/X86/reduce-umin.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-xor-widen.lltrunk/test/Analysis/CostModel/X86/reduce-xor-widen.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/reduce-xor.lltrunk/test/Analysis/CostModel/X86/reduce-xor.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/aarch64-addv.lltrunk/test/CodeGen/AArch64/aarch64-addv.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/aarch64-minmaxv.lltrunk/test/CodeGen/AArch64/aarch64-minmaxv.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-vabs.lltrunk/test/CodeGen/AArch64/arm64-vabs.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-add-legalization.lltrunk/test/CodeGen/AArch64/vecreduce-add-legalization.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-and-legalization.lltrunk/test/CodeGen/AArch64/vecreduce-and-legalization.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-bool.lltrunk/test/CodeGen/AArch64/vecreduce-bool.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.lltrunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-propagate-sd-flags.lltrunk/test/CodeGen/AArch64/vecreduce-propagate-sd-flags.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-umax-legalization.lltrunk/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
The file was modified/llvm/trunk/test/CodeGen/Generic/expand-experimental-reductions.lltrunk/test/CodeGen/Generic/expand-experimental-reductions.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-add-widen.lltrunk/test/CodeGen/X86/vector-reduce-add-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-add.lltrunk/test/CodeGen/X86/vector-reduce-add.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-and-widen.lltrunk/test/CodeGen/X86/vector-reduce-and-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-and.lltrunk/test/CodeGen/X86/vector-reduce-and.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fmax-nnan.lltrunk/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fmax.lltrunk/test/CodeGen/X86/vector-reduce-fmax.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fmin-nnan.lltrunk/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fmin.lltrunk/test/CodeGen/X86/vector-reduce-fmin.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-mul-widen.lltrunk/test/CodeGen/X86/vector-reduce-mul-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-mul.lltrunk/test/CodeGen/X86/vector-reduce-mul.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-or-widen.lltrunk/test/CodeGen/X86/vector-reduce-or-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-or.lltrunk/test/CodeGen/X86/vector-reduce-or.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-smax-widen.lltrunk/test/CodeGen/X86/vector-reduce-smax-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-smax.lltrunk/test/CodeGen/X86/vector-reduce-smax.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-smin-widen.lltrunk/test/CodeGen/X86/vector-reduce-smin-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-smin.lltrunk/test/CodeGen/X86/vector-reduce-smin.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-umax-widen.lltrunk/test/CodeGen/X86/vector-reduce-umax-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-umax.lltrunk/test/CodeGen/X86/vector-reduce-umax.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-umin-widen.lltrunk/test/CodeGen/X86/vector-reduce-umin-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-umin.lltrunk/test/CodeGen/X86/vector-reduce-umin.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-xor-widen.lltrunk/test/CodeGen/X86/vector-reduce-xor-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-xor.lltrunk/test/CodeGen/X86/vector-reduce-xor.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/AArch64/reduction-small-size.lltrunk/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/gather-cost.lltrunk/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/gather-root.lltrunk/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/horizontal.lltrunk/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/transpose.lltrunk/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modified/llvm/trunk/utils/TableGen/IntrinsicEmitter.cpptrunk/utils/TableGen/IntrinsicEmitter.cpp
Revision 363239 by gbreynoo:
Revert [llvm-ar][test] Add to MRI test coverage

This reverts 363232 due to mru-utf8.test buildbot test failure

Differential Revision: https://reviews.llvm.org/D63197
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-ar/mri-addlib.testtrunk/test/tools/llvm-ar/mri-addlib.test
The file was removed/llvm/trunk/test/tools/llvm-ar/mri-addmod.testtrunk/test/tools/llvm-ar/mri-addmod.test
The file was removed/llvm/trunk/test/tools/llvm-ar/mri-comments.testtrunk/test/tools/llvm-ar/mri-comments.test
The file was removed/llvm/trunk/test/tools/llvm-ar/mri-end.testtrunk/test/tools/llvm-ar/mri-end.test
The file was removed/llvm/trunk/test/tools/llvm-ar/mri-utf8.testtrunk/test/tools/llvm-ar/mri-utf8.test
Revision 363235 by sam_parker:
[NFC] Simplify Call query

Use getIntrinsicID() directly from IntrinsicInst.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpptrunk/lib/Target/ARM/ARMTargetTransformInfo.cpp
Revision 363234 by sam_parker:
[ARM][TTI] Scan for existing loop intrinsics

TTI should report that it's not profitable to generate a hardware loop
if it, or one of its child loops, has already been converted.

Differential Revision: https://reviews.llvm.org/D63212
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpptrunk/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/structure.lltrunk/test/Transforms/HardwareLoops/ARM/structure.ll
Revision 363233 by s.desmalen:
[IntrinsicEmitter] Extend argument overloading with forward references.

Extend the mechanism to overload intrinsic arguments by using either
backward or forward references to the overloadable arguments.

In for example:

  def int_something : Intrinsic<[LLVMPointerToElt<0>],
                                [llvm_anyvector_ty], []>;

LLVMPointerToElt<0> is a forward reference to the overloadable operand
of type 'llvm_anyvector_ty' and would allow intrinsics such as:

  declare i32* @llvm.something.v4i32(<4 x i32>);
  declare i64* @llvm.something.v2i64(<2 x i64>);

where the result pointer type is deduced from the element type of the
first argument.

If the returned pointer is not a pointer to the element type, LLVM will
give an error:

  Intrinsic has incorrect return type!
  i64* (<4 x i32>)* @llvm.something.v4i32

Reviewers: RKSimon, arsenm, rnk, greened

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D62995
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.htrunk/include/llvm/IR/Intrinsics.h
The file was modified/llvm/trunk/lib/IR/Function.cpptrunk/lib/IR/Function.cpp
The file was modified/llvm/trunk/lib/IR/Verifier.cpptrunk/lib/IR/Verifier.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpptrunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modified/llvm/trunk/utils/TableGen/CodeGenTarget.cpptrunk/utils/TableGen/CodeGenTarget.cpp
The file was modified/llvm/trunk/utils/TableGen/IntrinsicEmitter.cpptrunk/utils/TableGen/IntrinsicEmitter.cpp
Revision 363232 by gbreynoo:
[llvm-ar][test] Add to MRI test coverage

This change adds tests to cover existing MRI script functionality.

Differential Revision: https://reviews.llvm.org/D63197
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-ar/mri-addlib.testtrunk/test/tools/llvm-ar/mri-addlib.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-addmod.testtrunk/test/tools/llvm-ar/mri-addmod.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-comments.testtrunk/test/tools/llvm-ar/mri-comments.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-end.testtrunk/test/tools/llvm-ar/mri-end.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-utf8.testtrunk/test/tools/llvm-ar/mri-utf8.test
Revision 363231 by ctopper:
[X86] Correct instruction operands in evex-to-vex-compress.mir to be closer to real instructions.

$noreg was being used way more than it should have. We also had
xmm registers in addressing modes.

Mostly found by hacking the machine verifier to do some stricter
checking that happened to work for this test, but not sure if
generally applicable for other tests or other targets.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/evex-to-vex-compress.mirtrunk/test/CodeGen/X86/evex-to-vex-compress.mir
Revision 363229 by shawnl:
[SimplifyCFG] reverting preliminary Switch patches again

This reverts 363226 and 363227, both NFC intended

I swear I fixed the test case that is failing, and ran
the tests, but I will look into it again.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpptrunk/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.lltrunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/CoveredLookupTable.lltrunk/test/Transforms/SimplifyCFG/CoveredLookupTable.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.lltrunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.lltrunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-dead-default.lltrunk/test/Transforms/SimplifyCFG/switch-dead-default.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-masked-bits.lltrunk/test/Transforms/SimplifyCFG/switch-masked-bits.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-on-const-select.lltrunk/test/Transforms/SimplifyCFG/switch-on-const-select.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.lltrunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.lltrunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create.lltrunk/test/Transforms/SimplifyCFG/switch_create.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_switch_fold.lltrunk/test/Transforms/SimplifyCFG/switch_switch_fold.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_thread.lltrunk/test/Transforms/SimplifyCFG/switch_thread.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_undef.lltrunk/test/Transforms/SimplifyCFG/switch_undef.ll
Revision 363227 by shawnl:
[SimpligyCFG] NFC intended, remove GCD that was only used for powers of two

and replace with an equilivent countTrailingZeros.

GCD is much more expensive than this, with repeated division.

This depends on D60823

Differential Revision: https://reviews.llvm.org/D61151
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpptrunk/lib/Transforms/Utils/SimplifyCFG.cpp
Revision 363226 by shawnl:
[SimplifyCFG] NFC, update Switch tests to better examine successive patches

Also add baseline tests to show effect of later patches.

There were a couple of regressions here that were never caught,
but my patch set that this is a preparation to will fix them.

Differential Revision: https://reviews.llvm.org/D61150
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.lltrunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/CoveredLookupTable.lltrunk/test/Transforms/SimplifyCFG/CoveredLookupTable.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.lltrunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.lltrunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-dead-default.lltrunk/test/Transforms/SimplifyCFG/switch-dead-default.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-masked-bits.lltrunk/test/Transforms/SimplifyCFG/switch-masked-bits.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-on-const-select.lltrunk/test/Transforms/SimplifyCFG/switch-on-const-select.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.lltrunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.lltrunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create.lltrunk/test/Transforms/SimplifyCFG/switch_create.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_switch_fold.lltrunk/test/Transforms/SimplifyCFG/switch_switch_fold.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_thread.lltrunk/test/Transforms/SimplifyCFG/switch_thread.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_undef.lltrunk/test/Transforms/SimplifyCFG/switch_undef.ll
Revision 363224 by ctopper:
[X86] Add tests for some the special cases in EVEX to VEX to the evex-to-vex-compress.mir test.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/evex-to-vex-compress.mirtrunk/test/CodeGen/X86/evex-to-vex-compress.mir
Revision 363223 by shawnl:
[SimplifyCFG] revert the last commit.

I ran ALL the test suite locally, so I will look into this...
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.lltrunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/CoveredLookupTable.lltrunk/test/Transforms/SimplifyCFG/CoveredLookupTable.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.lltrunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.lltrunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-dead-default.lltrunk/test/Transforms/SimplifyCFG/switch-dead-default.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-masked-bits.lltrunk/test/Transforms/SimplifyCFG/switch-masked-bits.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-on-const-select.lltrunk/test/Transforms/SimplifyCFG/switch-on-const-select.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.lltrunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.lltrunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create.lltrunk/test/Transforms/SimplifyCFG/switch_create.ll
Revision 363222 by shawnl:
[SimplifyCFG] NFC, update Switch tests to HEAD so I can

see if my changes change anything

Also add baseline tests to show effect of later patches.

Differential Revision: https://reviews.llvm.org/D61150
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/ARM/cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.lltrunk/test/Transforms/SimplifyCFG/ARM/select-trunc-i64.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.lltrunk/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/CoveredLookupTable.lltrunk/test/Transforms/SimplifyCFG/CoveredLookupTable.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.lltrunk/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.lltrunk/test/Transforms/SimplifyCFG/X86/speculate-cttz-ctlz.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.lltrunk/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.lltrunk/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-dead-default.lltrunk/test/Transforms/SimplifyCFG/switch-dead-default.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-masked-bits.lltrunk/test/Transforms/SimplifyCFG/switch-masked-bits.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-on-const-select.lltrunk/test/Transforms/SimplifyCFG/switch-on-const-select.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.lltrunk/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.lltrunk/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/switch_create.lltrunk/test/Transforms/SimplifyCFG/switch_create.ll
Revision 363221 by tstellar:
X86: Clean up pass initialization

Summary:
- Remove redundant initializations from pass constructors that were
  already being initialized by LLVMInitializeX86Target().

- Add initialization function for the FPS pass.

Reviewers: craig.topper

Reviewed By: craig.topper

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63218
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86.htrunk/lib/Target/X86/X86.h
The file was modified/llvm/trunk/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpptrunk/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86CallFrameOptimization.cpptrunk/lib/Target/X86/X86CallFrameOptimization.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86CmovConversion.cpptrunk/lib/Target/X86/X86CmovConversion.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86CondBrFolding.cpptrunk/lib/Target/X86/X86CondBrFolding.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86DomainReassignment.cpptrunk/lib/Target/X86/X86DomainReassignment.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86EvexToVex.cpptrunk/lib/Target/X86/X86EvexToVex.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FixupBWInsts.cpptrunk/lib/Target/X86/X86FixupBWInsts.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FixupLEAs.cpptrunk/lib/Target/X86/X86FixupLEAs.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FlagsCopyLowering.cpptrunk/lib/Target/X86/X86FlagsCopyLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FloatingPoint.cpptrunk/lib/Target/X86/X86FloatingPoint.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86SpeculativeLoadHardening.cpptrunk/lib/Target/X86/X86SpeculativeLoadHardening.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86TargetMachine.cpptrunk/lib/Target/X86/X86TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86WinEHState.cpptrunk/lib/Target/X86/X86WinEHState.cpp
Revision 363220 by dlj:
Revert r361811: 'Re-commit r357452 (take 2): "SimplifyCFG SinkCommonCodeFromPredecessors ...'

We have observed some failures with internal builds with this revision.

- Performance regressions:
  - llvm's SingleSource/Misc evalloop shows performance regressions (although these may be red herrings).
  - Benchmarks for Abseil's SwissTable.
- Correctness:
  - Failures for particular libicu tests when building the Google AppEngine SDK (for PHP).

hwennborg has already been notified, and is aware of reproducer failures.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGenCXX/nrvo.cppN/A
The file was modified/cfe/trunk/test/CodeGenCXX/stack-reuse-exceptions.cppN/A
The file was modified/cfe/trunk/test/CodeGenObjC/exceptions.mN/A
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpptrunk/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/max-jump-table.lltrunk/test/CodeGen/AArch64/max-jump-table.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/min-jump-table.lltrunk/test/CodeGen/AArch64/min-jump-table.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/win64-jumptable.lltrunk/test/CodeGen/AArch64/win64-jumptable.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/cmpxchg-idioms.lltrunk/test/CodeGen/ARM/cmpxchg-idioms.ll
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/sink-common-code.lltrunk/test/Transforms/SimplifyCFG/sink-common-code.ll
Revision 363218 by dinar:
[SLP] Update propagate_ir_flags.ll test to check that we do retain the common subset, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.lltrunk/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
Revision 363217 by reames:
[Tests] Highlight impact of multiple exit LFTR (D62625) as requested by reviewer
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr-multi-exit.lltrunk/test/Transforms/IndVarSimplify/lftr-multi-exit.ll
Revision 363215 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/avx512-intrinsics-fast-isel.ll

Patch 1 of n.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
Revision 363210 by mtrofin:
[llvm] Expose DWARFDebugLine::LineTable::getFileNameEntry

Summary:
This is useful for scenarios where Prologue was directly used and DWARF
5 awareness is required. The current alternative would be to either
duplicate the logic in getFileNameEntry, or to use getFileNameByIndex.
The latter isn't quite an in-place replacement - it performs some
processing, and it produces a string instead of a StringRef, meaning
the caller needs to handle its lifetime.

Reviewers: tamur, dblaikie, JDevlieghere

Reviewed By: tamur, JDevlieghere

Subscribers: aprantl, llvm-commits

Tags: #llvm, #debug-info

Differential Revision: https://reviews.llvm.org/D63228
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFDebugLine.htrunk/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
Revision 363203 by spatel:
[x86] add tests for vector shifts; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-lshr-128.lltrunk/test/CodeGen/X86/vector-shift-lshr-128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-shl-128.lltrunk/test/CodeGen/X86/vector-shift-shl-128.ll
The file was added/llvm/trunk/test/Transforms/CodeGenPrepare/X86/vec-shift.lltrunk/test/Transforms/CodeGenPrepare/X86/vec-shift.ll
Revision 363201 by serge_sans_paille:
Sanitize llvm-extract -help output

Filter out irrelevant options

New output:

    OVERVIEW: llvm extractor

    USAGE: llvm-extract [options] <input bitcode file>

    OPTIONS:

    Generic Options:

      --help              - Display available options (--help-hidden for more)
      --help-list         - Display list of available options (--help-list-hidden for more)
      --version           - Display the version of this program

    llvm-extract Options:

      --alias=<alias>     - Specify alias to extract
      --bb=<function:bb>  - Specify <function, basic block> pairs to extract
      --delete            - Delete specified Globals from Module
      -f                  - Enable binary output on terminals
      --func=<function>   - Specify function to extract
      --glob=<global>     - Specify global to extract
      -o=<filename>       - Specify output filename
      --ralias=<ralias>   - Specify alias(es) to extract using a regular expression
      --recursive         - Recursively extract all called functions
      --rfunc=<rfunction> - Specify function(s) to extract using a regular expression
      --rglob=<rglobal>   - Specify global(s) to extract using a regular expression

Differential Revision: https://reviews.llvm.org/D62511
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-extract/llvm-extract.cpptrunk/tools/llvm-extract/llvm-extract.cpp
Revision 363200 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll

Patch 3 of 3 for X86/avx512vl-intrinsics-fast-isel.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
Revision 363198 by rupprecht:
[llvm-readobj] Fix output interleaving issue caused by using multiple streams at the same time.

Summary:
Use llvm::fouts() as the default stream for outputing. No new stream
should be constructed to output at the same time.

https://bugs.llvm.org/show_bug.cgi?id=42140

Reviewers: jhenderson, grimar, MaskRay, phosek, rupprecht

Reviewed By: rupprecht

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63115

Patch by Yuanfang Chen!
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-readobj/check-output-order.testtrunk/test/tools/llvm-readobj/check-output-order.test
The file was modified/llvm/trunk/tools/llvm-readobj/COFFDumper.cpptrunk/tools/llvm-readobj/COFFDumper.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpptrunk/tools/llvm-readobj/ELFDumper.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/MachODumper.cpptrunk/tools/llvm-readobj/MachODumper.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpptrunk/tools/llvm-readobj/llvm-readobj.cpp
Revision 363196 by reames:
[IndVars] Extend diagnostic -replexitval flag w/ability to bypass hard use hueristic

Note: This does mean that "always" is now more powerful than it was.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpptrunk/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 363194 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll

Patch 2 of 3 for X86/avx512vl-intrinsics-fast-isel.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
Revision 363193 by reames:
[Tests] Autogen RLEV test and add tests for a future enhancement
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/exit_value_tests.lltrunk/test/Transforms/IndVarSimplify/exit_value_tests.ll
Revision 363192 by reames:
[Tests] Add tests to highlight sibling loop optimization order issue for exit rewriting

The issue addressed in r363180 is more broadly relevant.  For the moment, we don't actually get any of these cases because we a) restrict SCEV formation due to SCEExpander needing to preserve LCSSA, and b) don't iterate between loops.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/pr39673.lltrunk/test/Transforms/IndVarSimplify/pr39673.ll
Revision 363190 by rampitec:
[AMDGPU] more gfx1010 tests. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-smrd.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-smrd.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/basic-branch.lltrunk/test/CodeGen/AMDGPU/basic-branch.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.lltrunk/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hazard-hidden-bundle.mirtrunk/test/CodeGen/AMDGPU/hazard-hidden-bundle.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.kill.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/smem-war-hazard.mirtrunk/test/CodeGen/AMDGPU/smem-war-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/v_cndmask.lltrunk/test/CodeGen/AMDGPU/v_cndmask.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vcmpx-exec-war-hazard.mirtrunk/test/CodeGen/AMDGPU/vcmpx-exec-war-hazard.mir
The file was modified/llvm/trunk/test/MC/AMDGPU/expressions-gfx10.strunk/test/MC/AMDGPU/expressions-gfx10.s
The file was added/llvm/trunk/test/MC/AMDGPU/vop3-literal.strunk/test/MC/AMDGPU/vop3-literal.s
Revision 363189 by rupprecht:
[llvm-ar][test] Relax lit directory assumptions in thin-archive.test

Summary: thin-archive.test assumes the Output/<testname> structure that lit creates. Rewrite the test in a way that still tests the same thing (creating via relative path and adding via absolute path) but doesn't assume this specific lit structure, making it possible to run in a lit emulator.

Reviewers: gbreynoo

Reviewed By: gbreynoo

Subscribers: llvm-commits, bkramer

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62930
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-ar/thin-archive.testtrunk/test/tools/llvm-ar/thin-archive.test
Revision 363186 by rampitec:
[AMDGPU] gfx1010 dpp16 and dpp8

Differential Revision: https://reviews.llvm.org/D63203
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdtrunk/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPU.tdtrunk/lib/Target/AMDGPU/AMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpptrunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.htrunk/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpptrunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpptrunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.htrunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.htrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIDefines.htrunk/lib/Target/AMDGPU/SIDefines.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpptrunk/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdtrunk/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP1Instructions.tdtrunk/lib/Target/AMDGPU/VOP1Instructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.tdtrunk/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOPInstructions.tdtrunk/lib/Target/AMDGPU/VOPInstructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
The file was added/llvm/trunk/test/MC/AMDGPU/dpp-err.strunk/test/MC/AMDGPU/dpp-err.s
Revision 363185 by rampitec:
[AMDGPU] gfx1010 premlane instructions

Differential Revision: https://reviews.llvm.org/D63202
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdtrunk/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpptrunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNHazardRecognizer.cpptrunk/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNHazardRecognizer.htrunk/lib/Target/AMDGPU/GCNHazardRecognizer.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpptrunk/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpptrunk/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP3Instructions.tdtrunk/lib/Target/AMDGPU/VOP3Instructions.td
The file was added/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.lltrunk/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mirtrunk/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mir
Revision 363184 by atanasyan:
[Mips] Add s.d instruction alias for Mips1

Add support for s.d instruction for Mips1 which expands into two swc1
instructions.

Patch by Mirko Brkusanin.

Differential Revision: https://reviews.llvm.org/D63199
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpptrunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsInstrFPU.tdtrunk/lib/Target/Mips/MipsInstrFPU.td
The file was added/llvm/trunk/test/MC/Mips/mips1/sd.strunk/test/MC/Mips/mips1/sd.s
Revision 363182 by smeenai:
[llvm-lipo] Update llvm-lipo docs for -archs flag

The information for -archs flag is added to llvm-lipo.rst.

Patch by Anusha Basana <anusha.basana@gmail.com>

Differential Revision: https://reviews.llvm.org/D63100
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-lipo.rsttrunk/docs/CommandGuide/llvm-lipo.rst
Revision 363181 by rksimon:
[X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores codegen tests.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/merge-consecutive-stores-nt.lltrunk/test/CodeGen/X86/merge-consecutive-stores-nt.ll
Revision 363180 by reames:
[SCEV] Teach computeSCEVAtScope benefit from one-input Phi. PR39673

SCEV does not propagate arguments through one-input Phis so as to make it easy for the SCEV expander (and related code) to preserve LCSSA.  It's not entirely clear this restriction is neccessary, but for the moment it exists.   For this reason, we don't analyze single-entry phi inputs.  However it is possible that when an this input leaves the loop through LCSSA Phi, it is a provable constant.  Missing that results in an order of optimization issue in loop exit value rewriting where we miss some oppurtunities based on order in which we visit sibling loops.

This patch teaches computeSCEVAtScope about this case. We can generalize it later, but so far we can only replace LCSSA Phis with their constant loop-exiting values.  We should probably also add similiar logic directly in the SCEV construction path itself.

Patch by: mkazantsev (with revised commit message by me)
Differential Revision: https://reviews.llvm.org/D58113
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolution.cpptrunk/lib/Analysis/ScalarEvolution.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/pr39673.lltrunk/test/Transforms/IndVarSimplify/pr39673.ll
Revision 363179 by rksimon:
[TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123)

As discussed on D62910, we need to check whether particular types of memory access are allowed, not just their alignment/address-space.

This NFC patch adds a MachineMemOperand::Flags argument to allowsMemoryAccess and allowsMisalignedMemoryAccesses, and wires up calls to pass the relevant flags to them.

If people are happy with this approach I can then update X86TargetLowering::allowsMisalignedMemoryAccesses to handle misaligned NT load/stores.

Differential Revision: https://reviews.llvm.org/D63075
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.htrunk/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.htrunk/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpptrunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/lib/CodeGen/TargetLoweringBase.cpptrunk/lib/CodeGen/TargetLoweringBase.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpptrunk/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.htrunk/lib/Target/AArch64/AArch64ISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpptrunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600ISelLowering.cpptrunk/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600ISelLowering.htrunk/lib/Target/AMDGPU/R600ISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpptrunk/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.htrunk/lib/Target/AMDGPU/SIISelLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpptrunk/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.htrunk/lib/Target/ARM/ARMISelLowering.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpptrunk/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.htrunk/lib/Target/Hexagon/HexagonISelLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/Mips16ISelLowering.cpptrunk/lib/Target/Mips/Mips16ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Mips16ISelLowering.htrunk/lib/Target/Mips/Mips16ISelLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEISelLowering.cpptrunk/lib/Target/Mips/MipsSEISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEISelLowering.htrunk/lib/Target/Mips/MipsSEISelLowering.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpptrunk/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.htrunk/lib/Target/PowerPC/PPCISelLowering.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpptrunk/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.htrunk/lib/Target/SystemZ/SystemZISelLowering.h
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpptrunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.htrunk/lib/Target/WebAssembly/WebAssemblyISelLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.htrunk/lib/Target/X86/X86ISelLowering.h
Revision 363178 by rksimon:
[X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y),c)

Handles PSHUFD/PSHUFLW/PSHUFHW (AVX2) + VPERMILPS (AVX1).

An extra AVX1 PSHUFD->VPERMILPS combine will be added in a future commit.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v16.lltrunk/test/CodeGen/X86/vector-shuffle-256-v16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v4.lltrunk/test/CodeGen/X86/vector-shuffle-256-v4.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v8.lltrunk/test/CodeGen/X86/vector-shuffle-256-v8.ll
Revision 363175 by spatel:
[InstCombine] add tests for fmin/fmax libcalls; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/fast-math.lltrunk/test/Transforms/InstCombine/fast-math.ll
Revision 363174 by sam_parker:
Revert rL363156.

The patch was to fix buildbots, but rL363157 should now be fixing it
in a cleaner way.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/calls.lltrunk/test/Transforms/HardwareLoops/ARM/calls.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/counter.lltrunk/test/Transforms/HardwareLoops/ARM/counter.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/do-rem.lltrunk/test/Transforms/HardwareLoops/ARM/do-rem.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/fp-emulation.lltrunk/test/Transforms/HardwareLoops/ARM/fp-emulation.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/simple-do.lltrunk/test/Transforms/HardwareLoops/ARM/simple-do.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/structure.lltrunk/test/Transforms/HardwareLoops/ARM/structure.ll
Revision 363173 by xbolva00:
[NFC[ Updated tests for D54411
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/conditional-tailcall.lltrunk/test/CodeGen/X86/conditional-tailcall.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tail-merge-after-mbp.mirtrunk/test/CodeGen/X86/tail-merge-after-mbp.mir
The file was modified/llvm/trunk/test/CodeGen/X86/tail-opts.lltrunk/test/CodeGen/X86/tail-opts.ll
Revision 363170 by nico:
gn build: Add SystemZ target
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/TODO.txttrunk/utils/gn/TODO.txt
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZtrunk/utils/gn/secondary/llvm/lib/Target/SystemZ
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/AsmParsertrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/AsmParser
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/AsmParser/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/AsmParser/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/Disassemblertrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/Disassembler
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/Disassembler/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/Disassembler/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesctrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/TargetInfotrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/TargetInfo
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/SystemZ/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/SystemZ/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gnitrunk/utils/gn/secondary/llvm/lib/Target/targets.gni
Revision 363169 by arsenm:
StackProtector: Use PointerMayBeCaptured

This was using its own, outdated list of possible captures. This was
at minimum not catching cmpxchg and addrspacecast captures.

One change is now any volatile access is treated as capturing. The
test coverage for this pass is quite inadequate, but this required
removing volatile in the lifetime capture test.

Also fixes some infrastructure issues to allow running just the IR
pass.

Fixes bug 42238.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/StackProtector.htrunk/include/llvm/CodeGen/StackProtector.h
The file was modified/llvm/trunk/lib/CodeGen/StackProtector.cpptrunk/lib/CodeGen/StackProtector.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/stack-protector.lltrunk/test/CodeGen/X86/stack-protector.ll
The file was added/llvm/trunk/test/Transforms/StackProtectortrunk/test/Transforms/StackProtector
The file was added/llvm/trunk/test/Transforms/StackProtector/X86trunk/test/Transforms/StackProtector/X86
The file was added/llvm/trunk/test/Transforms/StackProtector/X86/captures.lltrunk/test/Transforms/StackProtector/X86/captures.ll
The file was added/llvm/trunk/test/Transforms/StackProtector/X86/lit.local.cfgtrunk/test/Transforms/StackProtector/X86/lit.local.cfg
The file was modified/llvm/trunk/tools/opt/opt.cpptrunk/tools/opt/opt.cpp
Revision 363168 by arsenm:
AMDGPU/GlobalISel: Fix using illegal situations in tests

These were using illegal copies as the side effecting use, so make
them legal.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mirtrunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-phi.mir
Revision 363166 by uabelho:
[ARM] Fix compiler warning

Without this fix clang 3.6 complains with:

../lib/Target/ARM/ARMAsmPrinter.cpp:1473:18: error: variable 'BranchTarget' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
      } else if (MI->getOperand(1).isSymbol()) {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/Target/ARM/ARMAsmPrinter.cpp:1479:22: note: uninitialized use occurs here
      MCInst.addExpr(BranchTarget);
                     ^~~~~~~~~~~~
../lib/Target/ARM/ARMAsmPrinter.cpp:1473:14: note: remove the 'if' if its condition is always true
      } else if (MI->getOperand(1).isSymbol()) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/Target/ARM/ARMAsmPrinter.cpp:1465:33: note: initialize the variable 'BranchTarget' to silence this warning
      const MCExpr *BranchTarget;
                                ^
                                 = nullptr
1 error generated.

Discussed here:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190610/661417.html
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpptrunk/lib/Target/ARM/ARMAsmPrinter.cpp
Revision 363165 by arsenm:
LoopVersioning: Respect convergent

This changes the standalone pass only. Arguably the utility class
itself should assert there are no convergent calls. However, a target
pass with additional context may still be able to version a loop if
all of the dynamic conditions are sufficiently uniform.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopVersioning.cpptrunk/lib/Transforms/Utils/LoopVersioning.cpp
The file was added/llvm/trunk/test/Transforms/LoopVersioning/convergent.lltrunk/test/Transforms/LoopVersioning/convergent.ll
Revision 363164 by anton-afanasyev:
[MIR] Skip hoisting to basic block which may throw exception or return

Summary:
Fix hoisting to basic block which are not legal for hoisting cause
it can be terminated by exception or it is return block.

Reviewers: john.brawn, RKSimon, MatzeB

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63148
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineCSE.cpptrunk/lib/CodeGen/MachineCSE.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/machine_cse_illegal_hoist.lltrunk/test/CodeGen/AArch64/machine_cse_illegal_hoist.ll
Revision 363163 by spatel:
[InstCombine] add tests for fcmp+select with FMF (minnum/maxnum); NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/minmax-fp.lltrunk/test/Transforms/InstCombine/minmax-fp.ll
Revision 363162 by arsenm:
LoopLoadElim: Respect convergent
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopLoadElimination.cpptrunk/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was added/llvm/trunk/test/Transforms/LoopLoadElim/convergent.lltrunk/test/Transforms/LoopLoadElim/convergent.ll
Revision 363161 by jmorse:
[DebugInfo] Add a test that fell out of an earlier commit

r362951 was supposed to contain this test, however it didn't get committed
due to operator error. This was originally part of D59431.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/DebugInfo/X86/live-debug-values-constprop.mirtrunk/test/DebugInfo/X86/live-debug-values-constprop.mir
Revision 363160 by arsenm:
LoopDistribute/LAA: Respect convergent

This case is slightly tricky, because loop distribution should be
allowed in some cases, and not others. As long as runtime dependency
checks don't need to be introduced, this should be OK. This is further
complicated by the fact that LoopDistribute partially ignores if LAA
says that vectorization is safe, and then does its own runtime pointer
legality checks.

Note this pass still does not handle noduplicate correctly, as this
should always be forbidden with it. I'm not going to bother trying to
fix it, as it would require more effort and I think noduplicate should
be removed.

https://reviews.llvm.org/D62607
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.htrunk/include/llvm/Analysis/LoopAccessAnalysis.h
The file was modified/llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpptrunk/lib/Analysis/LoopAccessAnalysis.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopDistribute.cpptrunk/lib/Transforms/Scalar/LoopDistribute.cpp
The file was added/llvm/trunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.lltrunk/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll
The file was modified/llvm/trunk/test/Transforms/LoopDistribute/basic-with-memchecks.lltrunk/test/Transforms/LoopDistribute/basic-with-memchecks.ll
The file was modified/llvm/trunk/test/Transforms/LoopDistribute/basic.lltrunk/test/Transforms/LoopDistribute/basic.ll
The file was added/llvm/trunk/test/Transforms/LoopDistribute/convergent-no-cross-partition-checks.lltrunk/test/Transforms/LoopDistribute/convergent-no-cross-partition-checks.ll
The file was modified/llvm/trunk/test/Transforms/LoopDistribute/diagnostics.lltrunk/test/Transforms/LoopDistribute/diagnostics.ll
The file was modified/llvm/trunk/test/Transforms/LoopDistribute/scev-inserted-runtime-check.lltrunk/test/Transforms/LoopDistribute/scev-inserted-runtime-check.ll
Revision 363159 by nico:
gn build: Add Mips target
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/TODO.txttrunk/utils/gn/TODO.txt
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mipstrunk/utils/gn/secondary/llvm/lib/Target/Mips
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/AsmParsertrunk/utils/gn/secondary/llvm/lib/Target/Mips/AsmParser
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/AsmParser/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Mips/AsmParser/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/Disassemblertrunk/utils/gn/secondary/llvm/lib/Target/Mips/Disassembler
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/Disassembler/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Mips/Disassembler/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesctrunk/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/TargetInfotrunk/utils/gn/secondary/llvm/lib/Target/Mips/TargetInfo
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Mips/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/Mips/TargetInfo/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gnitrunk/utils/gn/secondary/llvm/lib/Target/targets.gni
Revision 363158 by arsenm:
LoopDistribute/LAA: Add tests to catch regressions

I broke 2 of these with a patch, but were not covered by existing
tests.

https://reviews.llvm.org/D63035
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/LoopDistribute/basic-with-memchecks.lltrunk/test/Transforms/LoopDistribute/basic-with-memchecks.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/read-only.lltrunk/test/Transforms/LoopVectorize/read-only.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/write-only.lltrunk/test/Transforms/LoopVectorize/write-only.ll
Revision 363157 by sam_parker:
[NFC] Add HardwareLoops lit.local.cfg file

Set Transforms/HardwareLoops/ARM/ tests as unsupported if there isn't
an arm target.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/lit.local.cfgtrunk/test/Transforms/HardwareLoops/ARM/lit.local.cfg
Revision 363156 by sam_parker:
Attempt to fix non-Arm buildbots

Adding REQUIRES: arm to failing tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/calls.lltrunk/test/Transforms/HardwareLoops/ARM/calls.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/counter.lltrunk/test/Transforms/HardwareLoops/ARM/counter.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/do-rem.lltrunk/test/Transforms/HardwareLoops/ARM/do-rem.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/fp-emulation.lltrunk/test/Transforms/HardwareLoops/ARM/fp-emulation.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/simple-do.lltrunk/test/Transforms/HardwareLoops/ARM/simple-do.ll
The file was modified/llvm/trunk/test/Transforms/HardwareLoops/ARM/structure.lltrunk/test/Transforms/HardwareLoops/ARM/structure.ll
Revision 363155 by nico:
Fix a Wunused-lambda-capture warning.

The capture was added in the first commit of https://reviews.llvm.org/D61934
when it was used. In the reland, the use was removed but the capture
wasn't removed.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpptrunk/lib/Analysis/ScalarEvolutionExpander.cpp
Revision 363154 by nico:
gn build: add RISCV target

Patch from David L. Jones <dlj@google.com>, with minor tweaks by me.

Differential Revision: https://reviews.llvm.org/D61821
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCVtrunk/utils/gn/secondary/llvm/lib/Target/RISCV
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/AsmParsertrunk/utils/gn/secondary/llvm/lib/Target/RISCV/AsmParser
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/AsmParser/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/AsmParser/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/Disassemblertrunk/utils/gn/secondary/llvm/lib/Target/RISCV/Disassembler
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/Disassembler/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/Disassembler/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesctrunk/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/TargetInfotrunk/utils/gn/secondary/llvm/lib/Target/RISCV/TargetInfo
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/TargetInfo/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/TargetInfo/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/Utilstrunk/utils/gn/secondary/llvm/lib/Target/RISCV/Utils
The file was added/llvm/trunk/utils/gn/secondary/llvm/lib/Target/RISCV/Utils/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Target/RISCV/Utils/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gnitrunk/utils/gn/secondary/llvm/lib/Target/targets.gni
Revision 363153 by rksimon:
[X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat) folds. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v16.lltrunk/test/CodeGen/X86/vector-shuffle-256-v16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v4.lltrunk/test/CodeGen/X86/vector-shuffle-256-v4.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v8.lltrunk/test/CodeGen/X86/vector-shuffle-256-v8.ll
Revision 363152 by nico:
gn build: Merge r363122
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/Headers/BUILD.gntrunk/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Revision 363151 by bd1976llvm:
[Legacy LTO] Fix build bots: r363140: Fix export name
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/lto/lto.exportstrunk/tools/lto/lto.exports
Revision 363149 by sam_parker:
[ARM] Implement TTI::isHardwareLoopProfitable
   
Implement the backend target hook to drive the HardwareLoops pass.
The low-overhead branch extension for Arm M-class cores is flexible
enough that we don't have to ensure correctness at this point, except
checking that the loop counter variable can be stored in LR - a
32-bit register. For it to be profitable, we want to avoid loops that
contain function calls, or any other instruction that alters the PC.
   
This implementation uses TargetLoweringInfo, to query type and
operation actions, looks at intrinsic calls and also performs some
manual checks for remainder/division and FP operations.
   
I think this should be a good base to start and extra details can be
filled out later.

Differential Revision: https://reviews.llvm.org/D62907
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpptrunk/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.htrunk/lib/Target/ARM/ARMTargetTransformInfo.h
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARMtrunk/test/Transforms/HardwareLoops/ARM
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/calls.lltrunk/test/Transforms/HardwareLoops/ARM/calls.ll
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/counter.lltrunk/test/Transforms/HardwareLoops/ARM/counter.ll
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/do-rem.lltrunk/test/Transforms/HardwareLoops/ARM/do-rem.ll
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/fp-emulation.lltrunk/test/Transforms/HardwareLoops/ARM/fp-emulation.ll
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/simple-do.lltrunk/test/Transforms/HardwareLoops/ARM/simple-do.ll
The file was added/llvm/trunk/test/Transforms/HardwareLoops/ARM/structure.lltrunk/test/Transforms/HardwareLoops/ARM/structure.ll
Revision 363148 by aykevl:
[bindings/go][NFC] Format code with go fmt

Run go fmt (version 1.12) over the Go bindings. This cleans up lots of
inconsistencies in the code, it does not change the code in a functional
way.

Differential Revision: https://reviews.llvm.org/D63057
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/bindings/go/llvm/dibuilder.gotrunk/bindings/go/llvm/dibuilder.go
The file was modified/llvm/trunk/bindings/go/llvm/ir.gotrunk/bindings/go/llvm/ir.go
The file was modified/llvm/trunk/bindings/go/llvm/transforms_coroutines.gotrunk/bindings/go/llvm/transforms_coroutines.go
Revision 363147 by sam_parker:
[NFC][SCEV] Add NoWrapFlag argument to InsertBinOp

'Use wrap flags in InsertBinop' (rL362687) was reverted due to
miscompiles. This patch introduces the previous change to pass
no-wrap flags but now only FlagAnyWrap is passed.

Differential Revision: https://reviews.llvm.org/D61934
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/ScalarEvolutionExpander.htrunk/include/llvm/Analysis/ScalarEvolutionExpander.h
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpptrunk/lib/Analysis/ScalarEvolutionExpander.cpp
Revision 363145 by jhenderson:
[docs][llvm-symbolizer] Fix typo and grammar error
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-symbolizer.rsttrunk/docs/CommandGuide/llvm-symbolizer.rst
Revision 363144 by nico:
Share /machine: handling code with llvm-cvtres too

r363016 let lld-link and llvm-lib share the /machine: parsing code.
This lets llvm-cvtres share it as well.

Making llvm-cvtres depend on llvm-lib seemed a bit strange (it doesn't
need llvm-lib's dependencies on BinaryFormat and BitReader) and I
couldn't find a good place to put this code. Since it's just a few
lines, put it in lib/Object for now.

Differential Revision: https://reviews.llvm.org/D63120
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/Driver.cppN/A
The file was modified/lld/trunk/COFF/SymbolTable.cppN/A
The file was added/llvm/trunk/include/llvm/Object/WindowsMachineFlag.htrunk/include/llvm/Object/WindowsMachineFlag.h
The file was modified/llvm/trunk/include/llvm/ToolDrivers/llvm-lib/LibDriver.htrunk/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
The file was modified/llvm/trunk/lib/Object/CMakeLists.txttrunk/lib/Object/CMakeLists.txt
The file was added/llvm/trunk/lib/Object/WindowsMachineFlag.cpptrunk/lib/Object/WindowsMachineFlag.cpp
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/LibDriver.cpptrunk/lib/ToolDrivers/llvm-lib/LibDriver.cpp
The file was modified/llvm/trunk/tools/llvm-cvtres/llvm-cvtres.cpptrunk/tools/llvm-cvtres/llvm-cvtres.cpp
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Object/BUILD.gntrunk/utils/gn/secondary/llvm/lib/Object/BUILD.gn
Revision 363142 by Xing:
[DOC] Fix `load` instructions' syntax, function definition.

Summary: In this patch, I updated `load` instruction syntax and fixed function definition. Besides, I re-named some variables to make them obey SSA rule.

Reviewers: MaskRay

Reviewed By: MaskRay

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63186
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/GetElementPtr.rsttrunk/docs/GetElementPtr.rst
Revision 363141 by rksimon:
[XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI.

Noticed in D63075 - there was a allowsMisalignedMemoryAccesses call to check for unaligned loads and a check for aligned legal type loads - which is exactly what allowsMemoryAccess does.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/XCore/XCoreISelLowering.cpptrunk/lib/Target/XCore/XCoreISelLowering.cpp
Revision 363140 by bd1976llvm:
[ThinLTO]LTO]Legacy] Fix dependent libraries support by adding querying of the IRSymtab

Dependent libraries support for the legacy api was committed in a
broken state (see: https://reviews.llvm.org/D60274). This was missed
due to the painful nature of having to integrate the changes into a
linker in order to test. This change implements support for dependent
libraries in the legacy LTO api:

- I have removed the current api function, which returns a single
string, and   added functions to access each dependent library
specifier individually.

- To reduce the testing pain, I have made the api functions as thin as
possible to   maximize coverage from llvm-lto.

- When doing ThinLTO the system linker will load the modules lazily
when scanning   the input files. Unfortunately, when modules are
lazily loaded there is no access   to module level named metadata. To
fix this I have added api functions that allow   querying the IRSymtab
for the dependent libraries. I hope to expand the api in the   future
so that, eventually, all the information needed by a client linker
during   scan can be retrieved from the IRSymtab.

Differential Revision: https://reviews.llvm.org/D62935
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm-c/lto.htrunk/include/llvm-c/lto.h
The file was modified/llvm/trunk/include/llvm/LTO/legacy/LTOModule.htrunk/include/llvm/LTO/legacy/LTOModule.h
The file was modified/llvm/trunk/lib/LTO/LTOModule.cpptrunk/lib/LTO/LTOModule.cpp
The file was added/llvm/trunk/test/LTO/X86/Inputs/list-dependent-libraries.lltrunk/test/LTO/X86/Inputs/list-dependent-libraries.ll
The file was added/llvm/trunk/test/LTO/X86/list-dependent-libraries.lltrunk/test/LTO/X86/list-dependent-libraries.ll
The file was modified/llvm/trunk/test/tools/llvm-lto/error.lltrunk/test/tools/llvm-lto/error.ll
The file was modified/llvm/trunk/tools/llvm-lto/llvm-lto.cpptrunk/tools/llvm-lto/llvm-lto.cpp
The file was modified/llvm/trunk/tools/lto/lto.cpptrunk/tools/lto/lto.cpp
The file was modified/llvm/trunk/tools/lto/lto.exportstrunk/tools/lto/lto.exports
Revision 363138 by jhenderson:
[docs] Fix typo
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-nm.rsttrunk/docs/CommandGuide/llvm-nm.rst
Revision 363137 by rksimon:
[XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI.

Noticed in D63075 - there was a allowsMisalignedMemoryAccesses call to check for unaligned loads and a check for aligned legal type loads - which is exactly what allowsMemoryAccess does.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/XCore/XCoreISelLowering.cpptrunk/lib/Target/XCore/XCoreISelLowering.cpp
Revision 363136 by jhenderson:
[llvm-nm] Fix docs and help text for --print-size

The --print-size help text and documentation claimed that the size was
printed instead of the address, but this is incorrect. It is printed as
well as the address. This patch fixes this issue.

Reviewed by: MaskRay, mtrent, ruiu

Differential Revision: https://reviews.llvm.org/D63142
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-nm.rsttrunk/docs/CommandGuide/llvm-nm.rst
The file was modified/llvm/trunk/tools/llvm-nm/llvm-nm.cpptrunk/tools/llvm-nm/llvm-nm.cpp
Revision 363132 by orlandoch:
Revert "[DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion"

This reverts commit 1a0f7a2077b70c9864faa476e15b048686cf1ca7.
See phabricator thread for D60831.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpptrunk/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modified/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpptrunk/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modified/llvm/trunk/test/DebugInfo/AArch64/inlined-argument.lltrunk/test/DebugInfo/AArch64/inlined-argument.ll
The file was modified/llvm/trunk/test/Transforms/LoopIdiom/bcmp-debugify-remarks.lltrunk/test/Transforms/LoopIdiom/bcmp-debugify-remarks.ll
The file was modified/llvm/trunk/test/Transforms/LoopIdiom/memset-debugify-remarks.lltrunk/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
The file was modified/llvm/trunk/test/Transforms/LoopSimplify/dbg-loc.lltrunk/test/Transforms/LoopSimplify/dbg-loc.ll
The file was removed/llvm/trunk/test/Transforms/LoopSimplify/do-preheader-dbg.lltrunk/test/Transforms/LoopSimplify/do-preheader-dbg.ll
The file was removed/llvm/trunk/test/Transforms/LoopSimplify/for-preheader-dbg.lltrunk/test/Transforms/LoopSimplify/for-preheader-dbg.ll
The file was modified/llvm/trunk/test/Transforms/LoopUnroll/runtime-loop1.lltrunk/test/Transforms/LoopUnroll/runtime-loop1.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.lltrunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.lltrunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/debugloc.lltrunk/test/Transforms/LoopVectorize/debugloc.ll
The file was removed/llvm/trunk/test/Transforms/LoopVectorize/fix-reduction-dbg.lltrunk/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/unsafe-dep-remark.lltrunk/test/Transforms/LoopVectorize/unsafe-dep-remark.ll
Revision 363131 by dylanmckay:
[AVR] Fix the 'avr-tiny.ll' and 'avr25.ll' subtarget feature tests

When these tests were originally written, the middle end would introduce
an unnecessary copy from r24:r23->GPR16->r24:r23, and these tests
mistakenly relied on it.

The most optimal codegen for the functions in the test cases before this patch
would be NOPs. This is because the first i16 argument always gets the same register
allocation as an i16 return value in the AVR calling convention.

These tests broke in r362963 when the codegen was improved and the
redundant copy was eliminated. After this, the test functions
were lowered to their optimal form - a 'ret' and nothing else.

This patch prepends an extra i16 operand to each of the test functions
so that a 16-bit copy must be inserted for the program to be correct.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AVR/features/avr-tiny.lltrunk/test/CodeGen/AVR/features/avr-tiny.ll
The file was modified/llvm/trunk/test/CodeGen/AVR/features/avr25.lltrunk/test/CodeGen/AVR/features/avr25.ll
Revision 363130 by sjoerdmeijer:
[AArch64] Merge globals when optimising for size

Extern global merging is good for code-size. There's definitely potential for
performance too, but there's one regression in a benchmark that needs
investigating, so that's why we enable it only when we optimise for size for
now.

Patch by Ramakota Reddy and Sjoerd Meijer.

Differential Revision: https://reviews.llvm.org/D61947
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cpptrunk/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/global-merge-minsize.lltrunk/test/CodeGen/AArch64/global-merge-minsize.ll
Revision 363129 by nik:
gitignore: Ignore Qt Creator project configuration files. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/.gitignoretrunk/.gitignore
Revision 363125 by ctopper:
[X86] Add VCMPSSZrr_Intk and VCMPSDZrr_Intk to isNonFoldablePartialRegisterLoad.

The non-masked versions are already in there. I'm having some
trouble coming up with a way to test this right now. Most load
folding should happen during isel so I'm not sure how to get
peephole pass to do it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpptrunk/lib/Target/X86/X86InstrInfo.cpp
Revision 363123 by asb:
[RISCV] Fix inline-asm.ll test by adding nounwind attribute

This test failed since CFI directive support was added in r361320.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/RISCV/inline-asm.lltrunk/test/CodeGen/RISCV/inline-asm.ll
Revision 363120 by hsiangkai:
[RISCV] Add CFI directives for RISCV prologue/epilog.

In order to generate correct debug frame information, it needs to
generate CFI information in prologue and epilog.

Differential Revision: https://reviews.llvm.org/D61773
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpptrunk/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpptrunk/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.cpptrunk/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was added/llvm/trunk/test/CodeGen/RISCV/frame-info.lltrunk/test/CodeGen/RISCV/frame-info.ll
Revision 363119 by hsiangkai:
[NFC] Correct comments in RegisterCoalescer.

Differential Revision: https://reviews.llvm.org/D63124
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpptrunk/lib/CodeGen/RegisterCoalescer.cpp
Revision 363118 by lkail:
[PowerPC][NFC] Added test for sext/shl combination after isel.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/PowerPC/combine-sext-and-shl-after-isel.lltrunk/test/CodeGen/PowerPC/combine-sext-and-shl-after-isel.ll
Revision 363114 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/avx512vl-intrinsics-fast-isel.ll X86/combine-fabs.ll

X86/avx512vl-intrinsics-fast-isel.ll is only partially complete.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/combine-fabs.lltrunk/test/CodeGen/X86/combine-fabs.ll
Revision 363112 by reames:
Fix a bug in getSCEVAtScope w.r.t. non-canonical loops

The issue is that if we have a loop with multiple predecessors outside the loop, the code was expecting to merge them and only return if equal, but instead returned the first one seen.

I have no idea if this actually tripped anywhere.  I noticed it by accident when reading the code and have no idea how to go about constructing a test case.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolution.cpptrunk/lib/Analysis/ScalarEvolution.cpp
Revision 363108 by reames:
Generalize icmp matching in IndVars' eliminateTrunc

We were only matching RHS being a loop invariant value, not the inverse. Since there's nothing which appears to canonicalize loop invariant values to RHS, this means we missed cases.

Differential Revision: https://reviews.llvm.org/D63112
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpptrunk/lib/Transforms/Utils/SimplifyIndVar.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/eliminate-trunc.lltrunk/test/Transforms/IndVarSimplify/eliminate-trunc.ll
Revision 363106 by spatel:
[Analysis] add isSplatValue() for vectors in IR

We have the related getSplatValue() already in IR (see code just above the proposed addition).
But sometimes we only need to know that the value is a splat rather than capture the splatted
scalar value. Also, we have an isSplatValue() function already in SDAG.

Motivation - recent bugs that would potentially benefit from improved splat analysis in IR:
https://bugs.llvm.org/show_bug.cgi?id=37428
https://bugs.llvm.org/show_bug.cgi?id=42174

Differential Revision: https://reviews.llvm.org/D63138
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/VectorUtils.htrunk/include/llvm/Analysis/VectorUtils.h
The file was modified/llvm/trunk/lib/Analysis/VectorUtils.cpptrunk/lib/Analysis/VectorUtils.cpp
The file was modified/llvm/trunk/unittests/Analysis/VectorUtilsTest.cpptrunk/unittests/Analysis/VectorUtilsTest.cpp
Revision 363105 by jsji:
[PowerPC][NFC]Remove sms-simple.ll test temporarily.

Looks like a MachinePipeliner algorithm problem found by
sanitizer-x86_64-linux-fast.
I will backout this test first while investigating the problem to
unblock buildbot.

==49637==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x614000002e08 at pc 0x000004364350 bp 0x7ffe228a3bd0 sp 0x7ffe228a3bc8
READ of size 4 at 0x614000002e08 thread T0
    #0 0x436434f in
llvm::SwingSchedulerDAG::checkValidNodeOrder(llvm::SmallVector<llvm::NodeSet,
8u> const&) const
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:3736:11
    #1 0x4342cd0 in llvm::SwingSchedulerDAG::schedule()
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:486:3
    #2 0x434042d in
llvm::MachinePipeliner::swingModuloScheduler(llvm::MachineLoop&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:385:7
    #3 0x433eb90 in
llvm::MachinePipeliner::runOnMachineFunction(llvm::MachineFunction&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:207:5
    #4 0x428b7ea in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13
    #5 0x4d1a913 in llvm::FPPassManager::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1648:27
    #6 0x4d1b192 in llvm::FPPassManager::runOnModule(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1685:16
    #7 0x4d1c06d in runOnModule
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1752:27
    #8 0x4d1c06d in llvm::legacy::PassManagerImpl::run(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1865
    #9 0xa48ca3 in compileModule(char**, llvm::LLVMContext&)
/b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:611:8
    #10 0xa4270f in main
/b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:365:22
    #11 0x7fec902572e0 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
    #12 0x971b69 in _start
(/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x971b69)
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/CodeGen/PowerPC/sms-simple.lltrunk/test/CodeGen/PowerPC/sms-simple.ll
Revision 363100 by rupprecht:
[docs] Add "GNU binutils Replacements" section to command guide

Summary:
This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches.

Tested by running `ninja docs-llvm-html` and inspecting locally.

Reviewers: jhenderson, MaskRay, grimar, alexshap

Reviewed By: jhenderson, MaskRay, grimar

Subscribers: smeenai, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63014
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/index.rsttrunk/docs/CommandGuide/index.rst
The file was added/llvm/trunk/docs/CommandGuide/llvm-cxxfilt.mdtrunk/docs/CommandGuide/llvm-cxxfilt.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-objcopy.mdtrunk/docs/CommandGuide/llvm-objcopy.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-ranlib.mdtrunk/docs/CommandGuide/llvm-ranlib.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-readelf.mdtrunk/docs/CommandGuide/llvm-readelf.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-size.mdtrunk/docs/CommandGuide/llvm-size.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-strings.mdtrunk/docs/CommandGuide/llvm-strings.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-strip.mdtrunk/docs/CommandGuide/llvm-strip.md
Revision 363096 by aemerson:
[GlobalISel] Add a G_JUMP_TABLE opcode.

This opcode generates a pointer to the address of the jump table
specified by the source operand, which is a jump table index.

It will be used in conjunction with an upcoming G_BRJT opcode to support
jump table codegen with GlobalISel.

Differential Revision: https://reviews.llvm.org/D63111
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.htrunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modified/llvm/trunk/include/llvm/Support/TargetOpcodes.deftrunk/include/llvm/Support/TargetOpcodes.def
The file was modified/llvm/trunk/include/llvm/Target/GenericOpcodes.tdtrunk/include/llvm/Target/GenericOpcodes.td
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/MachineIRBuilder.cpptrunk/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpptrunk/lib/CodeGen/MachineVerifier.cpp
The file was added/llvm/trunk/test/MachineVerifier/test_g_jump_table.mirtrunk/test/MachineVerifier/test_g_jump_table.mir
Revision 363094 by asbirlea:
[MemorySSA] When applying updates, clean unnecessary Phis.

Summary: After applying a set of insert updates, there may be trivial Phis left over. Clean them up.

Reviewers: george.burgess.iv

Subscribers: jlebar, Prazek, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63033
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpptrunk/lib/Analysis/MemorySSAUpdater.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.lltrunk/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.ll
Revision 363093 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/combine-fcopysign.lltrunk/test/CodeGen/X86/combine-fcopysign.ll
The file was modified/llvm/trunk/test/CodeGen/X86/dag-fmf-cse.lltrunk/test/CodeGen/X86/dag-fmf-cse.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fast-isel-fneg.lltrunk/test/CodeGen/X86/fast-isel-fneg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fdiv.lltrunk/test/CodeGen/X86/fdiv.ll
Revision 363091 by asbirlea:
Only passes that preserve MemorySSA must mark it as preserved.

Summary:
The method `getLoopPassPreservedAnalyses` should not mark MemorySSA as
preserved, because it's being called in a lot of passes that do not
preserve MemorySSA.
Instead, mark the MemorySSA analysis as preserved by each pass that does
preserve it.
These changes only affect the new pass mananger.

Reviewers: chandlerc

Subscribers: mehdi_amini, jlebar, Prazek, george.burgess.iv, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62536
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LoopAnalysisManager.cpptrunk/lib/Analysis/LoopAnalysisManager.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cpptrunk/lib/Transforms/Scalar/LICM.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cpptrunk/lib/Transforms/Scalar/LoopInstSimplify.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopRotation.cpptrunk/lib/Transforms/Scalar/LoopRotation.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopSimplifyCFG.cpptrunk/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/SimpleLoopUnswitch.cpptrunk/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modified/llvm/trunk/unittests/Transforms/Scalar/LoopPassManagerTest.cpptrunk/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
Revision 363089 by akhuang:
Deduplicate S_CONSTANTs in LLD.

Summary: Deduplicate S_CONSTANTS when linking, if they have the same value.

Reviewers: rnk

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63151
Change TypePath in RepositoryPath in Workspace
The file was added/lld/trunk/test/COFF/Inputs/pdb-global-constants-a.sN/A
The file was added/lld/trunk/test/COFF/Inputs/pdb-global-constants-b.sN/A
The file was added/lld/trunk/test/COFF/pdb-global-constants.testN/A
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpptrunk/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Revision 363085 by jsji:
[PowerPC] Enable MachinePipeliner for P9 with -ppc-enable-pipeliner

Implement necessary target hooks to enable MachinePipeliner for P9 only.
The pass is off by default, can be enabled with -ppc-enable-pipeliner for P9.

Differential Revision: https://reviews.llvm.org/D62164
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachinePipeliner.htrunk/include/llvm/CodeGen/MachinePipeliner.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetInstrInfo.htrunk/include/llvm/CodeGen/TargetInstrInfo.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetSubtargetInfo.htrunk/include/llvm/CodeGen/TargetSubtargetInfo.h
The file was modified/llvm/trunk/lib/CodeGen/MachinePipeliner.cpptrunk/lib/CodeGen/MachinePipeliner.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpptrunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.htrunk/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpptrunk/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.htrunk/lib/Target/PowerPC/PPCInstrInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpptrunk/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCSubtarget.htrunk/lib/Target/PowerPC/PPCSubtarget.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpptrunk/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/sms-simple.lltrunk/test/CodeGen/PowerPC/sms-simple.ll
Revision 363084 by mcinally:
[NFC][CodeGen] Add unary fneg tests to X86/fma-fneg-combine.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-fneg-combine.lltrunk/test/CodeGen/X86/fma-fneg-combine.ll
Revision 363083 by Jonas Devlieghere:
[Path] Set FD to -1 in moved-from TempFile

When moving a temp file, explicitly set the file descriptor to -1 so we
can never accidentally close the moved-from TempFile.

Differential revision: https://reviews.llvm.org/D63087
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/Path.cpptrunk/lib/Support/Path.cpp
The file was modified/llvm/trunk/unittests/Support/Path.cpptrunk/unittests/Support/Path.cpp
Revision 363082 by mcinally:
[InstCombine] Handle -(X-Y) --> (Y-X) for unary fneg when NSZ

Differential Revision: https://reviews.llvm.org/D62612
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpptrunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/fsub.lltrunk/test/Transforms/InstCombine/fsub.ll
Revision 363081 by jhenderson:
[docs][llvm-nm] Add darwin as --format option
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-nm.rsttrunk/docs/CommandGuide/llvm-nm.rst
Revision 363080 by mcinally:
[InstCombine] Update fptrunc (fneg x)) -> (fneg (fptrunc x) for unary FNeg

Differential Revision: https://reviews.llvm.org/D62629
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCasts.cpptrunk/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/fpcast.lltrunk/test/Transforms/InstCombine/fpcast.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/fpextend.lltrunk/test/Transforms/InstCombine/fpextend.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/fsub.lltrunk/test/Transforms/InstCombine/fsub.ll
Revision 363079 by s.desmalen:
Fix docs build issue introduced by r363035

Replacing '.. code-block:: llvm' by '::' is a quick fix to the
build warning/error: Could not lex literal_block as "llvm".
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rsttrunk/docs/LangRef.rst
Revision 363078 by nico:
lld-link: Reject more than one resource .obj file

Users are exepcted to pass all .res files to the linker, which then
merges all the resource in all .res files into a tree structure and then
converts the final tree structure to a .obj file with .rsrc$01 and
.rsrc$02 sections and then links that.

If the user instead passes several .obj files containing such resources,
the correct thing to do would be to have custom code to merge the trees
in the resource sections instead of doing normal section merging -- but
link.exe rejects if multiple resource obj files are passed in with
LNK4078, so let lld-link do that too instead of silently writing broken
.rsrc sections in that case.

The only real way to run into this is if users manually convert .res
files to .obj files by running cvtres and then handing the resulting
.obj files to lld-link instead, which in practice likely never happens.

(lld-link is slightly stricter than link.exe now: If link.exe is passed
one .obj file created by cvtres, and a .res file, for some reason it
just emits a warning instead of an error and outputs strange looking
data. lld-link now errors out on mixed input like this.)

One way users could accidentally run into this is the following
scenario: If a .res file is passed to lib.exe, then lib.exe calls
cvtres.exe on the .res file before putting it in the output .lib.
(llvm-lib currently doesn't do this.)
link.exe's /wholearchive seems to only add obj files referenced from the
static library index, but lld-link current really adds all files in the
archive. So if lld-link /wholearchive is used with .lib files produced
by lib.exe and .res files were among the files handed to lib.exe, we
previously silently produced invalid output, but now we error out.

link.exe's /wholearchive semantics on the other hand mean that it
wouldn't load the resource object files from the .lib file at all.
Since this scenario is probably still an unlikely corner case,
the difference in behavior here seems fine -- and lld-link might have to
change to use link.exe's /wholearchive semantics in the future anyways.

Vaguely related to PR42180.

Differential Revision: https://reviews.llvm.org/D63109
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/Driver.cppN/A
The file was modified/lld/trunk/COFF/DriverUtils.cppN/A
The file was modified/lld/trunk/COFF/InputFiles.cppN/A
The file was modified/lld/trunk/COFF/InputFiles.hN/A
The file was modified/lld/trunk/test/CMakeLists.txtN/A
The file was added/lld/trunk/test/COFF/multiple-resource-objs.testN/A
The file was modified/llvm/trunk/lib/Object/WindowsResource.cpptrunk/lib/Object/WindowsResource.cpp
The file was modified/llvm/trunk/utils/gn/secondary/lld/test/BUILD.gntrunk/utils/gn/secondary/lld/test/BUILD.gn
Revision 363077 by rksimon:
[X86] Regenerate CmpISel test for future patch
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/2012-08-07-CmpISelBug.lltrunk/test/CodeGen/X86/2012-08-07-CmpISelBug.ll
Revision 363073 by jhenderson:
[docs][llvm-nm] Make --help help text consistent with other options
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-nm.rsttrunk/docs/CommandGuide/llvm-nm.rst
Revision 363066 by jhenderson:
[llvm-dwarfdump] Simplify --ignore-case help text and documentation

There was a typo in the --ignore-case help text that was copied into the
llvm-dwarfdump command-guide. Additionally, this patch simplifies the
wording, since it was unnecessarily verbose: the switch applies for
searching in general and doesn't need explicitly stating different
search modes (which might go out-of-date as options are added or
removed).

Reviwed by: JDevlieghere

Differential Revision: https://reviews.llvm.org/D63133
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-dwarfdump.rsttrunk/docs/CommandGuide/llvm-dwarfdump.rst
The file was modified/llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpptrunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Revision 363065 by jhenderson:
[docs][llvm-nm] Fix documentation regarding llvm-nm reading stdin

llvm-nm reads a.out NOT stdin when no input file is specified. This
patch fixes the doc accordingly, and rephrases the surrounding sentence
slightly.

Reviewed by: grimar

Differential Revision: https://reviews.llvm.org/D63135
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-nm.rsttrunk/docs/CommandGuide/llvm-nm.rst
Revision 363063 by ibiryukov:
[ARM] Fix a typo in the test from r363039
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/MC/Disassembler/ARM/vscclrm.txttrunk/test/MC/Disassembler/ARM/vscclrm.txt
Revision 363058 by lewis-revill:
[RISCV] Add lowering of addressing sequences for PIC

This patch allows lowering of PIC addresses by using PC-relative
addressing for DSO-local symbols and accessing the address through the
global offset table for non-DSO-local symbols.

Differential Revision: https://reviews.llvm.org/D55303
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVExpandPseudoInsts.cpptrunk/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVISelLowering.cpptrunk/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVISelLowering.htrunk/lib/Target/RISCV/RISCVISelLowering.h
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.cpptrunk/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVMCInstLower.cpptrunk/lib/Target/RISCV/RISCVMCInstLower.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/Utils/RISCVBaseInfo.htrunk/lib/Target/RISCV/Utils/RISCVBaseInfo.h
The file was added/llvm/trunk/test/CodeGen/RISCV/pic-models.lltrunk/test/CodeGen/RISCV/pic-models.ll
Revision 363057 by lewis-revill:
[RISCV][NFC] Add missing test file for D54093
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/RISCV/inline-asm-invalid.lltrunk/test/CodeGen/RISCV/inline-asm-invalid.ll
Revision 363054 by lewis-revill:
[RISCV] Lower inline asm constraints I, J & K for RISC-V

This validates and lowers arguments to inline asm nodes which have the
constraints I, J & K, with the following semantics (equivalent to GCC):

I: Any 12-bit signed immediate.
J: Immediate integer zero only.
K: Any 5-bit unsigned immediate.

Differential Revision: https://reviews.llvm.org/D54093
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVISelLowering.cpptrunk/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVISelLowering.htrunk/lib/Target/RISCV/RISCVISelLowering.h
The file was modified/llvm/trunk/test/CodeGen/RISCV/inline-asm.lltrunk/test/CodeGen/RISCV/inline-asm.ll
Revision 363051 by miyuki:
[ARM] First MVE instructions: scalar shifts.

This introduces a new decoding table for MVE instructions, and starts
by adding the family of scalar shift instructions that are part of the
MVE architecture extension: saturating shifts within a single GPR, and
long shifts across a pair of GPRs (both saturating and normal).

Some of these shift instructions have only 3-bit register fields in
the encoding, with the low bit fixed. So they can only address an odd
or even numbered GPR (depending on the operand), and therefore I add
two new register classes, GPREven and GPROdd.

Differential Revision: https://reviews.llvm.org/D62668

Change-Id: Iad95d5f83d26aef70c674027a184a6b1e0098d33
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.tdtrunk/lib/Target/ARM/ARMInstrInfo.td
The file was added/llvm/trunk/lib/Target/ARM/ARMInstrMVE.tdtrunk/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.tdtrunk/lib/Target/ARM/ARMInstrThumb2.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMRegisterBankInfo.cpptrunk/lib/Target/ARM/ARMRegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMRegisterInfo.tdtrunk/lib/Target/ARM/ARMRegisterInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpptrunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpptrunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was added/llvm/trunk/test/MC/ARM/mve-scalar-shift.strunk/test/MC/ARM/mve-scalar-shift.s
The file was added/llvm/trunk/test/MC/Disassembler/ARM/mve-scalar-shift.txttrunk/test/MC/Disassembler/ARM/mve-scalar-shift.txt
Revision 363050 by nico:
Let writeWindowsResourceCOFF() take a TimeStamp parameter

For lld, pass in Config->Timestamp (which is set based on lld's
/timestamp: and /Brepro flags). Since the writeWindowsResourceCOFF()
data is only used in-memory by LLD and the obj's timestamp isn't used
for anything in the output, this doesn't change behavior.

For llvm-cvtres, add an optional /timestamp: parameter, and use the
current behavior of calling time() if the parameter is not passed in.

This doesn't really change observable behavior (unless someone passes
/timestamp: to llvm-cvtres, which wasn't possible before), but it
removes the last unqualified call to time() from llvm/lib, which seems
like a good thing.

Differential Revision: https://reviews.llvm.org/D63116
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/DriverUtils.cppN/A
The file was modified/llvm/trunk/include/llvm/Object/WindowsResource.htrunk/include/llvm/Object/WindowsResource.h
The file was modified/llvm/trunk/lib/Object/WindowsResource.cpptrunk/lib/Object/WindowsResource.cpp
The file was modified/llvm/trunk/test/tools/llvm-cvtres/help.testtrunk/test/tools/llvm-cvtres/help.test
The file was added/llvm/trunk/test/tools/llvm-cvtres/timestamp.testtrunk/test/tools/llvm-cvtres/timestamp.test
The file was modified/llvm/trunk/tools/llvm-cvtres/Opts.tdtrunk/tools/llvm-cvtres/Opts.td
The file was modified/llvm/trunk/tools/llvm-cvtres/llvm-cvtres.cpptrunk/tools/llvm-cvtres/llvm-cvtres.cpp
Revision 363049 by xbolva00:
[NFC] Fixed arm/aarch64 test
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-popcnt.lltrunk/test/CodeGen/AArch64/arm64-popcnt.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/popcnt.lltrunk/test/CodeGen/ARM/popcnt.ll
Revision 363048 by rksimon:
[TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI.

As suggested by @arsenm on D63075 - this adds a TargetLowering::allowsMemoryAccess wrapper that takes a Load/Store node's MachineMemOperand to handle the AddressSpace/Alignment arguments and will also implicitly handle the MachineMemOperand::Flags change in D63075.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.htrunk/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpptrunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/TargetLoweringBase.cpptrunk/lib/CodeGen/TargetLoweringBase.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpptrunk/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpptrunk/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXISelLowering.cpptrunk/lib/Target/NVPTX/NVPTXISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
Revision 363046 by orlandoch:
[DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion

Summary:
Bug: https://bugs.llvm.org/show_bug.cgi?id=39024

The bug reports that a vectorized loop is stepped through 4 times and each step through the loop seemed to show a different path. I found two problems here:

A) An incorrect line number on a preheader block (for.body.preheader) instruction causes a step into the loop before it begins.
B) Instructions in the middle block have different line numbers which give the impression of another iteration.

In this patch I give all of the middle block instructions the line number of the scalar loop latch terminator branch. This seems to provide the smoothest debugging experience because the vectorized loops will always end on this line before dropping into the scalar loop. To solve problem A I have altered llvm::SplitBlockPredecessors to accommodate loop header blocks.

I have set up a separate review D61933 for a fix which is required for this patch.

Reviewers: samsonov, vsk, aprantl, probinson, anemet, hfinkel, jmorse

Reviewed By: hfinkel, jmorse

Subscribers: jmorse, javed.absar, eraman, kcc, bjope, jmellorcrummey, hfinkel, gbedwell, hiraditya, zzheng, llvm-commits

Tags: #llvm, #debug-info

Differential Revision: https://reviews.llvm.org/D60831
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpptrunk/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modified/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpptrunk/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modified/llvm/trunk/test/DebugInfo/AArch64/inlined-argument.lltrunk/test/DebugInfo/AArch64/inlined-argument.ll
The file was modified/llvm/trunk/test/Transforms/LoopIdiom/bcmp-debugify-remarks.lltrunk/test/Transforms/LoopIdiom/bcmp-debugify-remarks.ll
The file was modified/llvm/trunk/test/Transforms/LoopIdiom/memset-debugify-remarks.lltrunk/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
The file was modified/llvm/trunk/test/Transforms/LoopSimplify/dbg-loc.lltrunk/test/Transforms/LoopSimplify/dbg-loc.ll
The file was added/llvm/trunk/test/Transforms/LoopSimplify/do-preheader-dbg.lltrunk/test/Transforms/LoopSimplify/do-preheader-dbg.ll
The file was added/llvm/trunk/test/Transforms/LoopSimplify/for-preheader-dbg.lltrunk/test/Transforms/LoopSimplify/for-preheader-dbg.ll
The file was modified/llvm/trunk/test/Transforms/LoopUnroll/runtime-loop1.lltrunk/test/Transforms/LoopUnroll/runtime-loop1.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.lltrunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.lltrunk/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/debugloc.lltrunk/test/Transforms/LoopVectorize/debugloc.ll
The file was added/llvm/trunk/test/Transforms/LoopVectorize/fix-reduction-dbg.lltrunk/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/unsafe-dep-remark.lltrunk/test/Transforms/LoopVectorize/unsafe-dep-remark.ll
Revision 363045 by grimar:
[llvm-readobj] - Do not use precompiled binary in elf-broken-dynsym-link.test

Now we can remove the "TODO" since https://bugs.llvm.org/show_bug.cgi?id=42216
was fixed.
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/elf-broken-dynsym-link.elf-x86-64trunk/test/tools/llvm-readobj/Inputs/elf-broken-dynsym-link.elf-x86-64
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-broken-dynsym-link.testtrunk/test/tools/llvm-readobj/elf-broken-dynsym-link.test
Revision 363044 by jhenderson:
[llvm-dwarfdump] Add -o to help text and remove --out-file from doc

-o is in the documentation, but not in the llvm-dwarfdump help text.
This patch adds it by inverting the -o and --out-file aliasing. It also
removes --out-file from the documentation, since we don't really want
people to be using this switch in practice.

Reviewed by: aprantl, JDevlieghere, dblaikie

Differential Revision: https://reviews.llvm.org/D63013
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-dwarfdump.rsttrunk/docs/CommandGuide/llvm-dwarfdump.rst
The file was modified/llvm/trunk/test/tools/llvm-dwarfdump/cmdline.testtrunk/test/tools/llvm-dwarfdump/cmdline.test
The file was modified/llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpptrunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Revision 363043 by statham:
[ARM] Fix unused-variable warning in rL363039.

The variable `OffsetMask` is currently only used in an assertion, so
if assertions are compiled out and -Werror is enabled, it becomes a
build failure.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2InstrInfo.cpptrunk/lib/Target/ARM/Thumb2InstrInfo.cpp
Revision 363042 by grimar:
[yaml2elf] - Check we are able to set custom sh_link for .symtab/.dynsym

Allow using both custom numeric and string values for Link field of the
dynamic and regular symbol tables.

Differential revision: https://reviews.llvm.org/D63077
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/yaml2obj/dynsymtab-shlink.yamltrunk/test/tools/yaml2obj/dynsymtab-shlink.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/symtab-shlink.yamltrunk/test/tools/yaml2obj/symtab-shlink.yaml
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpptrunk/tools/yaml2obj/yaml2elf.cpp
Revision 363040 by rksimon:
[DAGCombine] GetNegatedExpression - constant float vector support (PR42105)

Add support for negation of constant build vectors.

Differential Revision: https://reviews.llvm.org/D62963
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpptrunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fneg-fabs.f16.lltrunk/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fma_patterns.lltrunk/test/CodeGen/X86/fma_patterns.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fma_patterns_wide.lltrunk/test/CodeGen/X86/fma_patterns_wide.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-fold.lltrunk/test/CodeGen/X86/fp-fold.ll
Revision 363039 by statham:
[ARM] Add the non-MVE instructions in Arm v8.1-M.

This adds support for the new family of conditional selection /
increment / negation instructions; the low-overhead branch
instructions (e.g. BF, WLS, DLS); the CLRM instruction to zero a whole
list of registers at once; the new VMRS/VMSR and VLDR/VSTR
instructions to get data in and out of 8.1-M system registers,
particularly including the new VPR register used by MVE vector
predication.

To support this, we also add a register name 'zr' (used by the CSEL
family to force one of the inputs to the constant 0), and operand
types for lists of registers that are also allowed to include APSR or
VPR (used by CLRM). The VLDR/VSTR instructions also need a new
addressing mode.

The low-overhead branch instructions exist in their own separate
architecture extension, which we treat as enabled by default, but you
can say -mattr=-lob or equivalent to turn it off.

Reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover

Reviewed By: samparker

Subscribers: miyuki, javed.absar, kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62667
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/ELFRelocs/ARM.deftrunk/include/llvm/BinaryFormat/ELFRelocs/ARM.def
The file was modified/llvm/trunk/include/llvm/Support/ARMTargetParser.deftrunk/include/llvm/Support/ARMTargetParser.def
The file was modified/llvm/trunk/include/llvm/Support/ARMTargetParser.htrunk/include/llvm/Support/ARMTargetParser.h
The file was modified/llvm/trunk/lib/Target/ARM/ARM.tdtrunk/lib/Target/ARM/ARM.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpptrunk/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpptrunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpptrunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrFormats.tdtrunk/lib/Target/ARM/ARMInstrFormats.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.tdtrunk/lib/Target/ARM/ARMInstrInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.tdtrunk/lib/Target/ARM/ARMInstrThumb2.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrVFP.tdtrunk/lib/Target/ARM/ARMInstrVFP.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMPredicates.tdtrunk/lib/Target/ARM/ARMPredicates.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMRegisterInfo.tdtrunk/lib/Target/ARM/ARMRegisterInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMScheduleA57.tdtrunk/lib/Target/ARM/ARMScheduleA57.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.htrunk/lib/Target/ARM/ARMSubtarget.h
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpptrunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpptrunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.htrunk/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.htrunk/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.htrunk/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2InstrInfo.cpptrunk/lib/Target/ARM/Thumb2InstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/ARM/ipra-reg-usage.lltrunk/test/CodeGen/ARM/ipra-reg-usage.ll
The file was added/llvm/trunk/test/MC/ARM/clrm-asm.strunk/test/MC/ARM/clrm-asm.s
The file was added/llvm/trunk/test/MC/ARM/thumbv8.1m-vmrs-vmsr.strunk/test/MC/ARM/thumbv8.1m-vmrs-vmsr.s
The file was added/llvm/trunk/test/MC/ARM/thumbv8.1m.strunk/test/MC/ARM/thumbv8.1m.s
The file was added/llvm/trunk/test/MC/ARM/vscclrm-asm.strunk/test/MC/ARM/vscclrm-asm.s
The file was added/llvm/trunk/test/MC/ARM/vstrldr_sys.strunk/test/MC/ARM/vstrldr_sys.s
The file was added/llvm/trunk/test/MC/Disassembler/ARM/clrm.txttrunk/test/MC/Disassembler/ARM/clrm.txt
The file was added/llvm/trunk/test/MC/Disassembler/ARM/thumb2-v8.1m.txttrunk/test/MC/Disassembler/ARM/thumb2-v8.1m.txt
The file was added/llvm/trunk/test/MC/Disassembler/ARM/thumbv8.1m-vmrs-vmsr.txttrunk/test/MC/Disassembler/ARM/thumbv8.1m-vmrs-vmsr.txt
The file was added/llvm/trunk/test/MC/Disassembler/ARM/thumbv8.1m.strunk/test/MC/Disassembler/ARM/thumbv8.1m.s
The file was added/llvm/trunk/test/MC/Disassembler/ARM/vscclrm.txttrunk/test/MC/Disassembler/ARM/vscclrm.txt
The file was added/llvm/trunk/test/MC/Disassembler/ARM/vstrldr_sys.txttrunk/test/MC/Disassembler/ARM/vstrldr_sys.txt
Revision 363035 by s.desmalen:
Change semantics of fadd/fmul vector reductions.

This patch changes how LLVM handles the accumulator/start value
in the reduction, by never ignoring it regardless of the presence of
fast-math flags on callsites. This change introduces the following
new intrinsics to replace the existing ones:

  llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.v2.fadd
  llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.v2.fmul

and adds functionality to auto-upgrade existing LLVM IR and bitcode.

Reviewers: RKSimon, greened, dmgreen, nikic, simoll, aemerson

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D60261
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rsttrunk/docs/LangRef.rst
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.htrunk/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.tdtrunk/include/llvm/IR/Intrinsics.td
The file was modified/llvm/trunk/lib/CodeGen/ExpandReductions.cpptrunk/lib/CodeGen/ExpandReductions.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpptrunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/IR/AutoUpgrade.cpptrunk/lib/IR/AutoUpgrade.cpp
The file was modified/llvm/trunk/lib/IR/IRBuilder.cpptrunk/lib/IR/IRBuilder.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopUtils.cpptrunk/lib/Transforms/Utils/LoopUtils.cpp
The file was modified/llvm/trunk/test/Assembler/invalid-vecreduce.lltrunk/test/Assembler/invalid-vecreduce.ll
The file was added/llvm/trunk/test/Bitcode/upgrade-vecreduce-intrinsics.lltrunk/test/Bitcode/upgrade-vecreduce-intrinsics.ll
The file was added/llvm/trunk/test/Bitcode/upgrade-vecreduce-intrinsics.ll.bctrunk/test/Bitcode/upgrade-vecreduce-intrinsics.ll.bc
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-fadd-legalization.lltrunk/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/vecreduce-fadd.lltrunk/test/CodeGen/AArch64/vecreduce-fadd.ll
The file was modified/llvm/trunk/test/CodeGen/Generic/expand-experimental-reductions.lltrunk/test/CodeGen/Generic/expand-experimental-reductions.ll
The file was modified/llvm/trunk/test/CodeGen/X86/haddsub.lltrunk/test/CodeGen/X86/haddsub.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fadd-fast.lltrunk/test/CodeGen/X86/vector-reduce-fadd-fast.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fadd.lltrunk/test/CodeGen/X86/vector-reduce-fadd.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fmul-fast.lltrunk/test/CodeGen/X86/vector-reduce-fmul-fast.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-fmul.lltrunk/test/CodeGen/X86/vector-reduce-fmul.ll
Revision 363032 by ctopper:
[X86] Add load folding isel patterns to scalar_math_patterns and AVX512_scalar_math_fp_patterns.

Also add a FIXME for the peephole pass not being able to handle this.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.tdtrunk/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpptrunk/lib/Target/X86/X86InstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86InstrSSE.tdtrunk/lib/Target/X86/X86InstrSSE.td
The file was modified/llvm/trunk/test/CodeGen/X86/fold-load-binops.lltrunk/test/CodeGen/X86/fold-load-binops.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sse-scalar-fp-arith.lltrunk/test/CodeGen/X86/sse-scalar-fp-arith.ll
Revision 363028 by tstellar:
Revert CMake: Make most target symbols hidden by default

This reverts r362990 (git commit 374571301dc8e9bc9fdd1d70f86015de198673bd)

This was causing linker warnings on Darwin:

ld: warning: direct access in function 'llvm::initializeEvexToVexInstPassPass(llvm::PassRegistry&)'
from file '../../lib/libLLVMX86CodeGen.a(X86EvexToVex.cpp.o)' to global weak symbol
'void std::__1::__call_once_proxy<std::__1::tuple<void* (&)(llvm::PassRegistry&),
std::__1::reference_wrapper<llvm::PassRegistry>&&> >(void*)' from file '../../lib/libLLVMCore.a(Verifier.cpp.o)'
means the weak symbol cannot be overridden at runtime. This was likely caused by different translation
units being compiled with different visibility settings.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Compiler.htrunk/include/llvm/Support/Compiler.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64AsmPrinter.cpptrunk/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cpptrunk/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpptrunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpptrunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpptrunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpptrunk/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpptrunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpptrunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpptrunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpptrunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpptrunk/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARC/ARCAsmPrinter.cpptrunk/lib/Target/ARC/ARCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARC/ARCTargetMachine.cpptrunk/lib/Target/ARC/ARCTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/ARC/Disassembler/ARCDisassembler.cpptrunk/lib/Target/ARC/Disassembler/ARCDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpptrunk/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpptrunk/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpptrunk/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpptrunk/lib/Target/ARM/ARMTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpptrunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpptrunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpptrunk/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AVRAsmPrinter.cpptrunk/lib/Target/AVR/AVRAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AVRTargetMachine.cpptrunk/lib/Target/AVR/AVRTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AsmParser/AVRAsmParser.cpptrunk/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AVR/Disassembler/AVRDisassembler.cpptrunk/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpptrunk/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpptrunk/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/BPF/AsmParser/BPFAsmParser.cpptrunk/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFAsmPrinter.cpptrunk/lib/Target/BPF/BPFAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFTargetMachine.cpptrunk/lib/Target/BPF/BPFTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/BPF/Disassembler/BPFDisassembler.cpptrunk/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpptrunk/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpptrunk/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/CMakeLists.txttrunk/lib/Target/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpptrunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpptrunk/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpptrunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonTargetMachine.cpptrunk/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpptrunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpptrunk/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpptrunk/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpptrunk/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiAsmPrinter.cpptrunk/lib/Target/Lanai/LanaiAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiTargetMachine.cpptrunk/lib/Target/Lanai/LanaiTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpptrunk/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpptrunk/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpptrunk/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpptrunk/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpptrunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpptrunk/lib/Target/MSP430/MSP430AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpptrunk/lib/Target/MSP430/MSP430TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpptrunk/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpptrunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Disassembler/MipsDisassembler.cpptrunk/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpptrunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpptrunk/lib/Target/Mips/MipsAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpptrunk/lib/Target/Mips/MipsTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpptrunk/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpptrunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpptrunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXTargetMachine.cpptrunk/lib/Target/NVPTX/NVPTXTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpptrunk/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpptrunk/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpptrunk/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpptrunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpptrunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpptrunk/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpptrunk/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpptrunk/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpptrunk/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpptrunk/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVAsmPrinter.cpptrunk/lib/Target/RISCV/RISCVAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVTargetMachine.cpptrunk/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpptrunk/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/AsmParser/SparcAsmParser.cpptrunk/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/Disassembler/SparcDisassembler.cpptrunk/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpptrunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpptrunk/lib/Target/Sparc/SparcAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpptrunk/lib/Target/Sparc/SparcTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpptrunk/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpptrunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpptrunk/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpptrunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZAsmPrinter.cpptrunk/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpptrunk/lib/Target/SystemZ/SystemZTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpptrunk/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpptrunk/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpptrunk/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpptrunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpptrunk/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpptrunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpptrunk/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpptrunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpptrunk/lib/Target/X86/Disassembler/X86Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpptrunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/X86/TargetInfo/X86TargetInfo.cpptrunk/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86AsmPrinter.cpptrunk/lib/Target/X86/X86AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86TargetMachine.cpptrunk/lib/Target/X86/X86TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpptrunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpptrunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpptrunk/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpptrunk/lib/Target/XCore/XCoreAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpptrunk/lib/Target/XCore/XCoreTargetMachine.cpp
The file was modified/llvm/trunk/unittests/CMakeLists.txttrunk/unittests/CMakeLists.txt
The file was modified/llvm/trunk/unittests/Target/AArch64/CMakeLists.txttrunk/unittests/Target/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/unittests/Target/WebAssembly/CMakeLists.txttrunk/unittests/Target/WebAssembly/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/ARM/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/PowerPC/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/PowerPC/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/X86/CMakeLists.txt
The file was modified/llvm/trunk/utils/unittest/CMakeLists.txttrunk/utils/unittest/CMakeLists.txt
Revision 363025 by pcc:
Symbolize: Make DWPName a symbolizer option instead of an argument to symbolize{,Inlined}Code.

This makes the interface simpler and more consistent with the interface for
.dSYM files and fixes a bug where llvm-symbolizer would not read the dwp if
it was asked to symbolize data before symbolizing code.

Differential Revision: https://reviews.llvm.org/D63114
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/Symbolize/Symbolize.htrunk/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modified/llvm/trunk/lib/DebugInfo/Symbolize/Symbolize.cpptrunk/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/split-dwarf-dwp.testtrunk/test/tools/llvm-symbolizer/split-dwarf-dwp.test
The file was modified/llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpptrunk/tools/llvm-symbolizer/llvm-symbolizer.cpp
Revision 363024 by pcc:
Symbolize: Replace the Options constructor with in-class initialization. NFCI.

This is not only less code but also clearer at the use site.

Differential Revision: https://reviews.llvm.org/D63113
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/Symbolize/Symbolize.htrunk/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpptrunk/tools/llvm-objdump/llvm-objdump.cpp
The file was modified/llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpptrunk/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was modified/llvm/trunk/tools/llvm-xray/xray-account.cpptrunk/tools/llvm-xray/xray-account.cpp
The file was modified/llvm/trunk/tools/llvm-xray/xray-converter.cpptrunk/tools/llvm-xray/xray-converter.cpp
The file was modified/llvm/trunk/tools/llvm-xray/xray-extract.cpptrunk/tools/llvm-xray/xray-extract.cpp
The file was modified/llvm/trunk/tools/llvm-xray/xray-graph.cpptrunk/tools/llvm-xray/xray-graph.cpp
The file was modified/llvm/trunk/tools/llvm-xray/xray-stacks.cpptrunk/tools/llvm-xray/xray-stacks.cpp
Revision 363022 by arsenm:
AtomicExpand: Don't crash on non-0 alloca

This now produces garbage on AMDGPU with a call to an nonexistent,
anonymous libcall but won't assert.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AtomicExpandPass.cpptrunk/lib/CodeGen/AtomicExpandPass.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpptrunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was added/llvm/trunk/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.lltrunk/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll
Revision 363021 by arsenm:
AMDGPU: Expand < 32-bit atomics

Also fix AtomicExpand asserting on atomicrmw fadd/fsub.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AtomicExpandPass.cpptrunk/lib/CodeGen/AtomicExpandPass.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpptrunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was added/llvm/trunk/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.lltrunk/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
The file was added/llvm/trunk/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.lltrunk/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
The file was modified/llvm/trunk/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.lltrunk/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll
Revision 363020 by nico:
gn build: Merge r362939
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gntrunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gntrunk/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Revision 363019 by nico:
gn build: Merge r362972
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gntrunk/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Revision 363016 by nico:
llvm-lib: Implement /machine: argument

And share some code with lld-link.

While here, also add a FIXME about PR42180 and merge r360150 to llvm-lib.

Differential Revision: https://reviews.llvm.org/D63021
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/Driver.cppN/A
The file was modified/lld/trunk/COFF/Driver.hN/A
The file was modified/lld/trunk/COFF/DriverUtils.cppN/A
The file was modified/lld/trunk/COFF/SymbolTable.cppN/A
The file was modified/llvm/trunk/include/llvm/ToolDrivers/llvm-lib/LibDriver.htrunk/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/LibDriver.cpptrunk/lib/ToolDrivers/llvm-lib/LibDriver.cpp
The file was modified/llvm/trunk/lib/ToolDrivers/llvm-lib/Options.tdtrunk/lib/ToolDrivers/llvm-lib/Options.td
The file was modified/llvm/trunk/test/tools/llvm-lib/machine-mismatch.testtrunk/test/tools/llvm-lib/machine-mismatch.test
Revision 363015 by cbieneman:
Setup testing target dependencies for default runtimes

Summary: The default runtimes targets aren't getting their dependencies configured correctly which results in check-runtimes failing when built from a clean build.

Reviewers: phosek, compnerd

Reviewed By: phosek

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63107
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/runtimes/CMakeLists.txttrunk/runtimes/CMakeLists.txt
Revision 363013 by kongyi:
[AArch64] Add more CPUs to host detection

Returns "cortex-a73" for 3rd and 4th gen Kryo; not precisely correct,
but close enough.

Differential Revision: https://reviews.llvm.org/D63099
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/Host.cpptrunk/lib/Support/Host.cpp
Revision 363012 by zer0:
[MIR-Canon] Fixing non-determinism that was breaking bots (NFC).

An earlier fix of a subtle iterator invalidation bug had uncovered a
nondeterminism that was present in the MultiUsers bag. Problem was that
MultiUsers was being looked up using pointers.

This patch is an NFC change that numbers each multiuser and processes each in
numbered order. This fixes the test failure on netbsd and will likely fix the
green-dragon bot too.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MIRCanonicalizerPass.cpptrunk/lib/CodeGen/MIRCanonicalizerPass.cpp
Revision 363011 by dsanders:
Break a couple more false dependencies on target libraries

Summary: Repeat r361567 for a few more tools.

Reviewers: bogner

Reviewed By: bogner

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62438
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-isel-fuzzer/CMakeLists.txttrunk/tools/llvm-isel-fuzzer/CMakeLists.txt
The file was modified/llvm/trunk/tools/llvm-jitlink/CMakeLists.txttrunk/tools/llvm-jitlink/CMakeLists.txt
The file was modified/llvm/trunk/tools/llvm-opt-fuzzer/CMakeLists.txttrunk/tools/llvm-opt-fuzzer/CMakeLists.txt
Revision 363008 by Jonas Devlieghere:
[dsymutil] Remove stale comment (NFC)

The comment was no longer relevant after r362621.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/dsymutil/MachOUtils.htrunk/tools/dsymutil/MachOUtils.h
Revision 363005 by smeenai:
[Support] Explicitly detect recursive response files

Previous detection relied upon an arbitrary hard coded limit of 21
response files, which some code bases were running up against.

The new detection maintains a stack of processing response files and
explicitly checks if a newly encountered file is in the current stack.
Some bookkeeping data is necessary in order to detect when to pop the
stack.

Patch by Chris Glover.

Differential Revision: https://reviews.llvm.org/D62798
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/CommandLine.cpptrunk/lib/Support/CommandLine.cpp
The file was modified/llvm/trunk/unittests/Support/CommandLineTest.cpptrunk/unittests/Support/CommandLineTest.cpp
Revision 363004 by xur:
[PGO] Fix the buildbot failure in r362995

Fixed one unused variable warning.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpptrunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Revision 363002 by reames:
[Tests] Adjust LFTR dead-iv tests to bypass undef cases

As pointed out by Nikita in review, undef and poison need to be handled separately.  Since we're no longer expecting any test improvements - just fixes for miscompiles - update the tests to bypass the existing undef check.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.lltrunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
Revision 363001 by mcinally:
[NFC][CodeGen] Forgot 2 unary FNeg tests in X86/fma-intrinsics-canonical.ll

Follow-up to r362999.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-canonical.lltrunk/test/CodeGen/X86/fma-intrinsics-canonical.ll
Revision 362999 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/fma-intrinsics-canonical.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-canonical.lltrunk/test/CodeGen/X86/fma-intrinsics-canonical.ll
Revision 362997 by tstellar:
Fix typo from r362990 to fix Windows builds
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Compiler.htrunk/include/llvm/Support/Compiler.h
Revision 362995 by xur:
[PGO] Handle cases of non-instrument BBs

As shown in PR41279, some basic blocks (such as catchswitch) cannot be
instrumented. This patch filters out these BBs in PGO instrumentation.
It also sets the profile count to the fail-to-instrument edge, so that we
can propagate the counts in the CFG.

Differential Revision: https://reviews.llvm.org/D62700
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpptrunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was added/llvm/trunk/test/Transforms/PGOProfile/Inputs/PR41279.proftexttrunk/test/Transforms/PGOProfile/Inputs/PR41279.proftext
The file was added/llvm/trunk/test/Transforms/PGOProfile/Inputs/PR41279_2.proftexttrunk/test/Transforms/PGOProfile/Inputs/PR41279_2.proftext
The file was modified/llvm/trunk/test/Transforms/PGOProfile/PR41279.lltrunk/test/Transforms/PGOProfile/PR41279.ll
The file was added/llvm/trunk/test/Transforms/PGOProfile/PR41279_2.lltrunk/test/Transforms/PGOProfile/PR41279_2.ll
Revision 362993 by reames:
[Tests] Split an LFTR dead-iv case

There are two interesting sub-cases here.  1) Switching IVs is legal, but only in pre-increment form.  and 2) Switching IVs is legal, and so is post-increment form.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.lltrunk/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
Revision 362990 by tstellar:
CMake: Make most target symbols hidden by default

Summary:
For builds with LLVM_BUILD_LLVM_DYLIB=ON and BUILD_SHARED_LIBS=OFF
this change makes all symbols in the target specific libraries hidden
by default.

A new macro called LLVM_EXTERNAL_VISIBILITY has been added to mark symbols in these
libraries public, which is mainly needed for the definitions of the
LLVMInitialize* functions.

This patch reduces the number of public symbols in libLLVM.so by about
25%.  This should improve load times for the dynamic library and also
make abi checker tools, like abidiff require less memory when analyzing
libLLVM.so

One side-effect of this change is that for builds with
LLVM_BUILD_LLVM_DYLIB=ON and LLVM_LINK_LLVM_DYLIB=ON some unittests that
access symbols that are no longer public will need to be statically linked.

Before and after public symbol counts (using gcc 8.2.1, ld.bfd 2.31.1):
nm before/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l
36221
nm after/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l
26278

Reviewers: chandlerc, beanz, mgorny, rnk, hans

Reviewed By: rnk, hans

Subscribers: Jim, hiraditya, michaelplatings, chapuni, jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, javed.absar, sbc100, jgravelle-google, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, mgrang, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, kristina, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D54439
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Compiler.htrunk/include/llvm/Support/Compiler.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64AsmPrinter.cpptrunk/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cpptrunk/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpptrunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpptrunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpptrunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpptrunk/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpptrunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpptrunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpptrunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpptrunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpptrunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpptrunk/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARC/ARCAsmPrinter.cpptrunk/lib/Target/ARC/ARCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARC/ARCTargetMachine.cpptrunk/lib/Target/ARC/ARCTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/ARC/Disassembler/ARCDisassembler.cpptrunk/lib/Target/ARC/Disassembler/ARCDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpptrunk/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpptrunk/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpptrunk/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpptrunk/lib/Target/ARM/ARMTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpptrunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpptrunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpptrunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpptrunk/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AVRAsmPrinter.cpptrunk/lib/Target/AVR/AVRAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AVRTargetMachine.cpptrunk/lib/Target/AVR/AVRTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AsmParser/AVRAsmParser.cpptrunk/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AVR/Disassembler/AVRDisassembler.cpptrunk/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpptrunk/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpptrunk/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/BPF/AsmParser/BPFAsmParser.cpptrunk/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFAsmPrinter.cpptrunk/lib/Target/BPF/BPFAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFTargetMachine.cpptrunk/lib/Target/BPF/BPFTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/BPF/Disassembler/BPFDisassembler.cpptrunk/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpptrunk/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpptrunk/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/CMakeLists.txttrunk/lib/Target/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpptrunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpptrunk/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpptrunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonTargetMachine.cpptrunk/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpptrunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpptrunk/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpptrunk/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpptrunk/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiAsmPrinter.cpptrunk/lib/Target/Lanai/LanaiAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiTargetMachine.cpptrunk/lib/Target/Lanai/LanaiTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpptrunk/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpptrunk/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpptrunk/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpptrunk/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpptrunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpptrunk/lib/Target/MSP430/MSP430AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpptrunk/lib/Target/MSP430/MSP430TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpptrunk/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpptrunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Disassembler/MipsDisassembler.cpptrunk/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpptrunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpptrunk/lib/Target/Mips/MipsAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpptrunk/lib/Target/Mips/MipsTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpptrunk/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpptrunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpptrunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXTargetMachine.cpptrunk/lib/Target/NVPTX/NVPTXTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpptrunk/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpptrunk/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpptrunk/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpptrunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpptrunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpptrunk/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpptrunk/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpptrunk/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpptrunk/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpptrunk/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVAsmPrinter.cpptrunk/lib/Target/RISCV/RISCVAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVTargetMachine.cpptrunk/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpptrunk/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/AsmParser/SparcAsmParser.cpptrunk/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/Disassembler/SparcDisassembler.cpptrunk/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpptrunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpptrunk/lib/Target/Sparc/SparcAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpptrunk/lib/Target/Sparc/SparcTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpptrunk/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpptrunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpptrunk/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpptrunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZAsmPrinter.cpptrunk/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpptrunk/lib/Target/SystemZ/SystemZTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpptrunk/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpptrunk/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpptrunk/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpptrunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpptrunk/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpptrunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpptrunk/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpptrunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpptrunk/lib/Target/X86/Disassembler/X86Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpptrunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/X86/TargetInfo/X86TargetInfo.cpptrunk/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86AsmPrinter.cpptrunk/lib/Target/X86/X86AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86TargetMachine.cpptrunk/lib/Target/X86/X86TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpptrunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpptrunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpptrunk/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp
The file was modified/llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpptrunk/lib/Target/XCore/XCoreAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpptrunk/lib/Target/XCore/XCoreTargetMachine.cpp
The file was modified/llvm/trunk/unittests/CMakeLists.txttrunk/unittests/CMakeLists.txt
The file was modified/llvm/trunk/unittests/Target/AArch64/CMakeLists.txttrunk/unittests/Target/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/unittests/Target/WebAssembly/CMakeLists.txttrunk/unittests/Target/WebAssembly/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/ARM/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/PowerPC/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/PowerPC/CMakeLists.txt
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/CMakeLists.txttrunk/unittests/tools/llvm-exegesis/X86/CMakeLists.txt
The file was modified/llvm/trunk/utils/unittest/CMakeLists.txttrunk/utils/unittest/CMakeLists.txt
Revision 362989 by paquette:
[GlobalISel] Translate memset/memmove/memcpy from undef ptrs into nops

If the source is undef, then just don't do anything.

This matches SelectionDAG's behaviour in SelectionDAG.cpp.

Also add a test showing that we do the right thing here.
(irtranslator-memfunc-undef.ll)

Differential Revision: https://reviews.llvm.org/D63095
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpptrunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/irtranslator-memfunc-undef.lltrunk/test/CodeGen/AArch64/GlobalISel/irtranslator-memfunc-undef.ll
Revision 362987 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to some X86/ and XCore/ tests.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fma-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/fma-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/neg_fp.lltrunk/test/CodeGen/X86/neg_fp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_fneg.lltrunk/test/CodeGen/X86/vec_fneg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_logical.lltrunk/test/CodeGen/X86/vec_logical.ll
The file was modified/llvm/trunk/test/CodeGen/XCore/fneg.lltrunk/test/CodeGen/XCore/fneg.ll

Summary

  1. [Clang] Harmonize Split DWARF options with llc Summary: With Split DWARF the resulting object file (then called skeleton CU) contains the file name of another ("DWO") file with the debug info. This can be a problem for remote compilation, as it will contain the name of the file on the compilation server, not on the client. To use Split DWARF with remote compilation, one needs to either * make sure only relative paths are used, and mirror the build directory structure of the client on the server, * inject the desired file name on the client directly. Since llc already supports the latter solution, we're just copying that over. We allow setting the actual output filename separately from the value of the DW_AT_[GNU_]dwo_name attribute in the skeleton CU. Fixes PR40276. Reviewers: dblaikie, echristo, tejohnson Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D59673
  2. [Clang] Rename -split-dwarf-file to -split-dwarf-output Summary: This is the first in a series of changes trying to align clang -cc1 flags for Split DWARF with those of llc. The unfortunate side effect of having -split-dwarf-output for single file Split DWARF will disappear again in a subsequent change. The change is the result of a discussion in D59673. Reviewers: dblaikie, echristo Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D63130
  3. [clang] Add storage for APValue in ConstantExpr Summary: When using ConstantExpr we often need the result of the expression to be kept in the AST. Currently this is done on a by the node that needs the result and has been done multiple times for enumerator, for constexpr variables... . This patch adds to ConstantExpr the ability to store the result of evaluating the expression. no functional changes expected. Changes: - Add trailling object to ConstantExpr that can hold an APValue or an uint64_t. the uint64_t is here because most ConstantExpr yield integral values so there is an optimized layout for integral values. - Add basic* serialization support for the trailing result. - Move conversion functions from an enum to a fltSemantics from clang::FloatingLiteral to llvm::APFloatBase. this change is to make it usable for serializing APValues. - Add basic* Import support for the trailing result. - ConstantExpr created in CheckConvertedConstantExpression now stores the result in the ConstantExpr Node. - Adapt AST dump to print the result when present. basic* : None, Indeterminate, Int, Float, FixedPoint, ComplexInt, ComplexFloat, the result is not yet used anywhere but for -ast-dump. Reviewers: rsmith, martong, shafik Reviewed By: rsmith Subscribers: rnkovacs, hiraditya, dexonsmith, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D62399
  4. [analyzer] ReturnVisitor: Bypass everything to see inlined calls Summary: When we traversed backwards on ExplodedNodes to see where processed the given statement we `break` too early. With the current approach we do not miss the CallExitEnd ProgramPoint which stands for an inlined call. Reviewers: NoQ, xazax.hun, ravikandhadai, baloghadamsoftware, Szelethus Reviewed By: NoQ Subscribers: szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62926
  5. [clang] perform semantic checking in constant context Summary: Since the addition of __builtin_is_constant_evaluated the result of an expression can change based on whether it is evaluated in constant context. a lot of semantic checking performs evaluations with out specifying context. which can lead to wrong diagnostics. for example: ``` constexpr int i0 = (long long)__builtin_is_constant_evaluated() * (1ll << 33); //#1 constexpr int i1 = (long long)!__builtin_is_constant_evaluated() * (1ll << 33); //#2 ``` before the patch, #2 was diagnosed incorrectly and #1 wasn't diagnosed. after the patch #1 is diagnosed as it should and #2 isn't. Changes: - add a flag to Sema to passe in constant context mode. - in SemaChecking.cpp calls to Expr::Evaluate* are now done in constant context when they should. - in SemaChecking.cpp diagnostics for UB are not checked for in constant context because an error will be emitted by the constant evaluator. - in SemaChecking.cpp diagnostics for construct that cannot appear in constant context are not checked for in constant context. - in SemaChecking.cpp diagnostics on constant expression are always emitted because constant expression are always evaluated. - semantic checking for initialization of constexpr variables is now done in constant context. - adapt test that were depending on warning changes. - add test. Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62009
  6. Fixed the --print-supported-cpus test Add constraints for the test that require specific backend targets to be registered. Remove trailing whitespace in the doc. Differential Revision: https://reviews.llvm.org/D63105
  7. [X86] Add checks that immediate for reducesd/ss fits in 8-bits.
  8. [CodeGen][ObjC] Annotate retain-agnostic ObjC globals with attribute 'objc_arc_inert' The attribute enables the ARC optimizer to delete ObjC ARC runtime calls on the annotated globals (see https://reviews.llvm.org/D62433). We currently only annotate global variables for string literals and global blocks with the attribute. rdar://problem/49839633 Differential Revision: https://reviews.llvm.org/D62831
  9. Add --print-supported-cpus flag for clang. This patch allows clang users to print out a list of supported CPU models using clang [--target=<target triple>] --print-supported-cpus Then, users can select the CPU model to compile to using clang --target=<triple> -mcpu=<model> a.c It is a handy feature to help cross compilation.
  10. [Remarks][NFC] Improve testing and documentation of -foptimization-record-passes This adds: * documentation to the user manual * nicer error message * test for the error case * test for the gold plugin
  11. [OpenMP] Add target task alloc function with device ID Summary: Add a new call to Clang to perform task allocation for the target. Reviewers: ABataev, AlexEichenberger, caomhin Reviewed By: ABataev, AlexEichenberger Subscribers: openmp-commits, Hahnfeld, guansong, jdoerfert, cfe-commits Tags: #clang, #openmp Differential Revision: https://reviews.llvm.org/D63009
  12. Use unsigned for bitfields to avoid sign extension
  13. PR42071: Reject weird names for non-type template parameters. Also reject default arguments appearing in invalid locations.
  14. Use getOperatorSpelling to get the spelling of an overloaded operator rather than duplicating operator name tables in multiple places.
  15. [OpenMP] Avoid emitting maps for target link variables when unified memory is used Summary: This patch avoids the emission of maps for target link variables when unified memory is present. Reviewers: ABataev, caomhin Reviewed By: ABataev Subscribers: guansong, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D60883
  16. Remove unused SK_LValueToRValue initialization step. In addition to being unused and duplicating code, this was also wrong (it didn't properly mark the operand as being potentially not odr-used). This reinstates r363340, reverted in r363352.
  17. PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type nullptr_t does not access memory. We now reuse CK_NullToPointer to represent a conversion from a glvalue of type nullptr_t to a prvalue of nullptr_t where necessary. This reinstates r363337, reverted in r363352.
  18. C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression. Summary: When a variable is named in a context where we can't directly emit a reference to it (because we don't know for sure that it's going to be defined, or it's from an enclosing function and not captured, or the reference might not "work" for some reason), we emit a copy of the variable as a global and use that for the known-to-be-read-only access. This reinstates r363295, reverted in r363352, with a fix for PR42276: we now produce a proper name for a non-odr-use reference to a static constexpr data member. The name <mangled-name>.const is used in that case; such names are reserved to the implementation for cases such as this and should demangle nicely. Reviewers: rjmccall Subscribers: jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63157
  19. Reland: [Remarks] Refactor optimization remarks setup * Add a common function to setup opt-remarks * Rename common options to the same names * Add error types to distinguish between file errors and regex errors
  20. [AMDGPU] Enable the implicit arguments for HIP (CLANG) Enable 48-bytes of implicit arguments for HIP as well. Earlier it was enabled for OpenCL. This code is specific to AMDGPU target. Differential Revision: https://reviews.llvm.org/D62244
  21. AMDGPU: Use AMDGPU toolchain for other OSes This would need more work to actually support them, but this is less wrong than the default.
  22. Revert r363298 "[lit] Disable test on darwin when building shared libs." It broke running check-lld on mac, see https://reviews.llvm.org/D61697
  23. Revert "[OpenCL] Move OpenCLBuiltins.td and remove unused include" This reverts commit r363242 as it broke some builds with make[2]: *** No rule to make target 'ClangOpenCLBuiltinsImpl', needed by 'tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLookup.cpp.o'.
  24. add a missing parenthese in the clang doc
  25. [C++20] add Basic consteval specifier Summary: this revision adds Lexing, Parsing and Basic Semantic for the consteval specifier as specified by http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r3.html with this patch, the consteval specifier is treated as constexpr but can only be applied to function declaration. Changes: - add the consteval keyword. - add parsing of consteval specifier for normal declarations and lambdas expressions. - add the whether a declaration is constexpr is now represented by and enum everywhere except for variable because they can't be consteval. - adapt diagnostic about constexpr to print constexpr or consteval depending on the case. - add tests for basic semantic. Reviewers: rsmith, martong, shafik Reviewed By: rsmith Subscribers: eraman, efriedma, rnkovacs, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61790
  26. [clang] Fixing incorrect implicit deduction guides (PR41549) Summary: [[ https://bugs.llvm.org/show_bug.cgi?id=41549 | bug report ]] Before this patch, implicit deduction guides were generated from the first declaration found by lookup. With this patch implicit deduction guides are generated from the definition of the class template. Also added test that was previously failing. Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits, Quuxplusone Tags: #clang Differential Revision: https://reviews.llvm.org/D63072
  27. [clang] Don't segfault on incorrect using directive (PR41400) Summary: this is a bugfixe for [[ https://bugs.llvm.org/show_bug.cgi?id=41400 | PR41400 ]] added nullptr check at the relevent place and test Reviewers: rsmith, riccibruno Reviewed By: rsmith Subscribers: jkooker, jkorous, riccibruno, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D60523
  28. Revert 363295, it caused PR42276. Also revert follow-ups 363337, 363340. Revert 363340 "Remove unused SK_LValueToRValue initialization step." Revert 363337 "PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type" Revert 363295 "C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression."
  29. [Targets] Move soft-float-abi filtering to `initFeatureMap` ARM has a special target feature called soft-float-abi. This feature is special, since we get it passed to us explicitly in the frontend, but filter it out before it can land in any target feature strings in LLVM IR. __attribute__((target(""))) doesn't quite filter these features out properly, so today, we get warnings about soft-float-abi being an unknown feature from the backend. This CL has us filter soft-float-abi out at a slightly different point, so we don't end up passing these invalid features to the backend. Differential Revision: https://reviews.llvm.org/D61750
  30. [AMDGPU] gfx1011/gfx1012 clang support Differential Revision: https://reviews.llvm.org/D63308
  31. Revert "[Remarks] Refactor optimization remarks setup" This reverts commit 6e6e3af55bb97e1a4c97375c15a2b0099120c5a7. This breaks greendragon.
  32. [AMDGPU] gfx1010 wave32 clang support Differential Revision: https://reviews.llvm.org/D63209
  33. Remove unused SK_LValueToRValue initialization step. In addition to being unused and duplicating code, this was also wrong (it didn't properly mark the operand as being potentially not odr-used).
  34. PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type nullptr_t does not access memory. We now reuse CK_NullToPointer to represent a conversion from a glvalue of type nullptr_t to a prvalue of nullptr_t where necessary. This reinstates r345562, reverted in r346065, now that CodeGen's handling of non-odr-used variables has been fixed.
  35. Use fully qualified name when printing S_CONSTANT records Summary: Before it was using the fully qualified name only for static data members. Now it does for all variable names to match MSVC. Reviewers: rnk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63012
  36. [Remarks] Refactor optimization remarks setup * Add a common function to setup opt-remarks * Rename common options to the same names * Add error types to distinguish between file errors and regex errors
  37. [lit] Disable test on darwin when building shared libs. Summary: This test fails to link shared libraries because tries to run a copied version of clang-check to see if the mock version of libcxx in the same directory can be loaded dynamically. Since the test is specifically designed not to look in the default just-built lib directory, it must be disabled when building with BUILD_SHARED_LIBS=ON. Currently only disabling it on Darwin and basing it on the enable_shared flag. Reviewed By: ilya-biryukov Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D61697
  38. C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression. Summary: When a variable is named in a context where we can't directly emit a reference to it (because we don't know for sure that it's going to be defined, or it's from an enclosing function and not captured, or the reference might not "work" for some reason), we emit a copy of the variable as a global and use that for the known-to-be-read-only access. Reviewers: rjmccall Subscribers: jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63157
  39. PR42182: Allow thread-local to use __cxa_thread_atexit when -fno-use-cxx-atexit is used This matches the GCC behavior, __cxa_thread_atexit should be permissible even though cxa_atexit is disabled. Differential Revision: https://reviews.llvm.org/D63283/
  40. [clang][NewPM] Fix broken -O0 test from missing assumptions Add an AssumptionCache callback to the InlineFuntionInfo used for the AlwaysInlinerPass to match codegen of the AlwaysInlinerLegacyPass to generate llvm.assume. This fixes CodeGen/builtin-movdir.c when new PM is enabled by default. Differential Revision: https://reviews.llvm.org/D63170
  41. [clang][NewPM] Fix split debug test This contains the part of D62225 which fixes CodeGen/split-debug-single-file.c by not placing .dwo sections when using -enable-split-dwarf=split. Differential Revision: https://reviews.llvm.org/D63168
  42. [clang][NewPM] Fix broken profile test This contains the part of D62225 which fixes Profile/gcc-flag-compatibility.c by adding the pass that allows default profile generation to work under the new PM. It seems that ./default.profraw was not being generated with new PM enabled. Differential Revision: https://reviews.llvm.org/D63155
  43. [clang][NewPM] Fix broken -O0 test from the AlwaysInliner This contains the part of D62225 which prevents insertion of lifetime intrinsics when creating the AlwaysInliner. This fixes the following tests when the new PM is enabled by default: Clang :: CodeGen/aarch64-neon-across.c Clang :: CodeGen/aarch64-neon-fcvt-intrinsics.c Clang :: CodeGen/aarch64-neon-fma.c Clang :: CodeGen/aarch64-neon-perm.c Clang :: CodeGen/aarch64-neon-tbl.c Clang :: CodeGen/aarch64-poly128.c Clang :: CodeGen/aarch64-v8.2a-neon-intrinsics.c Clang :: CodeGen/arm-neon-fma.c Clang :: CodeGen/arm-neon-numeric-maxmin.c Clang :: CodeGen/arm-neon-vcvtX.c Clang :: CodeGen/avx-builtins.c Clang :: CodeGen/builtins-ppc-p9vector.c Clang :: CodeGen/builtins-ppc-vsx.c Clang :: CodeGen/lifetime.c Clang :: CodeGen/sse-builtins.c Clang :: CodeGen/sse2-builtins.c Differential Revision: https://reviews.llvm.org/D63153
  44. Added AST matcher for ignoring elidable constructors Summary: Added AST matcher for ignoring elidable move constructors Reviewers: hokein, gribozavr Reviewed By: hokein, gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63149 Patch by Johan Vikström.
  45. [OpenCL] Move OpenCLBuiltins.td and remove unused include Patch by Pierre Gondois. Differential revision: https://reviews.llvm.org/D62849
  46. [WebAssembly] Modernize include path handling Move include path construction from InitHeaderSearch::AddDefaultIncludePaths in the Driver which appears to be the more modern/correct way of doing things. Differential Revision: https://reviews.llvm.org/D63030
  47. [clang-scan-deps] Fix -DBUILD_SHARED_LIBS=ON build The -DBUILD_SHARED_LIBS=ON build was broken in rL363204 Differential Revision: https://reviews.llvm.org/D63245
  48. clang-format extension: Widen the supported versions range So that it covers also the latest VS 2019 version. By Antonio Maiorano!
  49. Revert r361811: 'Re-commit r357452 (take 2): "SimplifyCFG SinkCommonCodeFromPredecessors ...' We have observed some failures with internal builds with this revision. - Performance regressions: - llvm's SingleSource/Misc evalloop shows performance regressions (although these may be red herrings). - Benchmarks for Abseil's SwissTable. - Correctness: - Failures for particular libicu tests when building the Google AppEngine SDK (for PHP). hwennborg has already been notified, and is aware of reproducer failures.
  50. [clang-scan-deps] Include <mutex> in ClangScanDeps.cpp to ensure it builds on all platforms
  51. NFC, Update the ClangScanDeps.cpp file's license comment The file ClangScanDeps.cpp from r363204 had the old outdated LLVM license comment at the top of the file that I committed by accident.
  52. NFC, fixup indentation in CMakeLists.txt from r363204 as requested in the review. I missed that review comment from https://reviews.llvm.org/D60233 in the original commit.
  53. [clang-scan-deps] initial outline of the tool that runs preprocessor to find dependencies over a JSON compilation database This commit introduces an outline for the clang-scan-deps tool that will be used to implement fast dependency discovery phase using implicit modules for explicit module builds. The initial version of the tool works by computing non-modular header dependencies for files in the compilation database without any optimizations (i.e. without source minimization from r362459). The tool spawns a number of worker threads to run the clang compiler workers in parallel. The immediate goal for clang-scan-deps is to create a ClangScanDeps library which will be used to build up this tool to use the source minimization and caching multi-threaded filesystem to implement the optimized non-incremental dependency scanning phase for a non-modular build. This will allow us to do benchmarks and comparisons for performance that the minimization and caching give us Differential Revision: https://reviews.llvm.org/D60233
  54. [test] Reinstate the assignment to the diagnostic log in the unittest from r363009 The diagnostic log is now set to "-" which forces it to use STDERR instead of the filesystem. A new comment is added to explain why the assignment is needed in the test.
  55. Add comment to r363191 code as requested in code review
  56. [MS] Pretend constexpr variable template specializations are inline Fixes link errors with clang and the latest Visual C++ 14.21.27702 headers, which was reported as PR42027. I chose to intentionally make these things linkonce_odr, i.e. discardable, so that we don't emit definitions of these things in every translation unit that includes STL headers. Note that this is *not* what MSVC does: MSVC has not yet implemented C++ DR2387, so they emit fully specialized constexpr variable templates with static / internal linkage. Reviewers: rsmith Differential Revision: https://reviews.llvm.org/D63175
  57. PR42220: take into account the possibility of aggregates with base classes when checking an InitListExpr for lifetime extension.
  58. [analyzer] ProgramPoint: more explicit printJson() Summary: Now we print out every possible kinds of ProgramPoints. Reviewers: NoQ, xazax.hun, ravikandhadai, baloghadamsoftware, Szelethus Reviewed By: NoQ Subscribers: szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62946
  59. [NFC] Test commit
  60. [PowerPC] [Clang] Port SSE2 intrinsics to PowerPC Port emmintrin.h which include Intel SSE2 intrinsics implementation to PowerPC platform (using Altivec). The new headers containing those implemenations are located into a directory named ppc_wrappers which has higher priority when the platform is PowerPC on Linux. They are mainly developed by Steven Munroe, with contributions from Paul Clarke, Bill Schmidt, Jinsong Ji and Zixuan Wu. It's a follow-up patch of D62121. Patched by: Qiu Chaofan <qiucf@cn.ibm.com> Differential Revision: https://reviews.llvm.org/D62569
  61. [X86] [ABI] Fix i386 ABI "__m64" type bug According to System V i386 ABI: the __m64 type paramater and return value are passed by MMX registers. But current implementation treats __m64 as i64 which results in parameter passing by stack and returning by EDX and EAX. This patch fixes the bug (https://bugs.llvm.org/show_bug.cgi?id=41029) for Linux and NetBSD. Patch by Wei Xiao (wxiao3) Differential Revision: https://reviews.llvm.org/D59744
  62. Mark declarations as referenced by a default argument in a potentially-evaluated context. This applies even if the use of the default argument is within an unevaluated context.
  63. Remove redundant check for whether a DeclRefExpr that names a capture constitutes an odr-use. We now track this accurately on the DeclRefExpr.
  64. For DR712: store on a MemberExpr whether it constitutes an odr-use.
  65. For DR712: store on a DeclRefExpr whether it constitutes an odr-use. Begin restructuring to support the forms of non-odr-use reference permitted by DR712.
  66. Revert r344630 Disable code object version 3 for HIP toolchain. Remove the workaround so that by default code object v3 is enabled.
  67. Fix for r42230, MSVC test failure in DependencyDirectivesSourceMinimizerTest.cpp r362459 introduced DependencyDirectivesSourceMinimizerTest.cpp, which hits an MSVC bug: developercommunity.visualstudio.com/content/problem/67300/stringifying-raw-string-literal.html This only happens when the parameter to a macro is stringified in the macro. This patch removes the string from the assert so that the warning no longer happens.
  68. [NFC][PowerPC] Header-dependent test requires "native" Two recently added tests mention complications for cross-compile, but they do not actually enforce native compilation. This patch makes them require native compilation to avoid the complications they mention.
  69. Reapply r362994 & co "[analyzer][tests] Add normalize_plist to replace diff_plist" Following r363007, which reverted r362998, r362996, and r362994, reapply with adjustments for the CRLF differences encountered with Windows. Namely, the `-b` option of `diff` is employed, and the `grep` patterns have `$` replaced with `[[:space:]]*$`.
  70. [libclang] Allow skipping warnings from all included files Depending on the included files and the used warning flags, e.g. - Weverything, a huge number of warnings can be reported for included files. As processing that many diagnostics comes with a performance impact and not all clients are interested in those diagnostics, add a flag to skip them. Differential Revision: https://reviews.llvm.org/D48116
  71. [ASTImporter] Fix unhandled cases in ASTImporterLookupTable Summary: In most cases the FriendDecl contains the declaration of the befriended class as a child node, so it is discovered during the recursive visitation. However, there are cases when the befriended class is not a child, thus it must be fetched explicitly from the FriendDecl, and only then can we add it to the lookup table. (Note, this does affect only CTU and does not affect LLDB, because we cannot and do not use the ASTImporterLookupTable in LLDB.) Reviewers: a_sidorin, a.sidorin, shafik Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62064
  72. [RISCV][NFC] Add missing test files for D54091
  73. [RISCV] Add inline asm constraints I, J & K for RISC-V This allows the constraints I, J & K to be used in inline asm for RISC-V, with the following semantics (equivalent to GCC): I: Any 12-bit signed immediate. J: Integer zero only. K: Any 5-bit unsigned immediate. See the GCC definitions here: https://gcc.gnu.org/onlinedocs/gccint/Machine-Constraints.html Differential Revision: https://reviews.llvm.org/D54091
  74. Make sure a test from r363036 does not write into a working directory It breaks if build directory is not writable. This change is required to fix our integrate. Also add a flush() call, otherwise time trace option does not produce the full output.
  75. [Frontend] Avoid creating auxilary files during a unit test. NFC A test added in r363009 logs diagnostics into a file inside current working directory. This breaks when the directory is not writable. This looks like a debugging output in the first place, the test passes without it anyway.
  76. [Support][Test] Time profiler: add regression test Summary: Add output to `llvm::errs()` when `-ftime-trace` option is enabled, add regression test checking this option works as expected. Reviewers: thakis, aganea Subscribers: cfe-commits, llvm-commits Tags: #clang, #llvm This is recommit of r362821 Differential Revision: https://reviews.llvm.org/D61914
  77. [X86] Enable intrinsics that convert float and bf16 data to each other Scalar version : _mm_cvtsbh_ss , _mm_cvtness_sbh Vector version: _mm512_cvtpbh_ps , _mm256_cvtpbh_ps _mm512_maskz_cvtpbh_ps , _mm256_maskz_cvtpbh_ps _mm512_mask_cvtpbh_ps , _mm256_mask_cvtpbh_ps Patch by Shengchen Kan (skan) Differential Revision: https://reviews.llvm.org/D62363
  78. [Frontend] SetUpDiagnosticLog should handle unowned diagnostic consumer in the compiler The function SetUpDiagnosticLog that was called from createDiagnostics didn't handle the case where the diagnostics engine didn't own the diagnostics consumer. This is a potential problem for a clang tool, in particular some of the follow-up patches for clang-scan-deps will need this fix. Differential Revision: https://reviews.llvm.org/D63101
  79. Revert r362994 & co "[analyzer][tests] Add normalize_plist to replace diff_plist" Reverts r362998, r362996, and r362994 because the tests do not pass on Windows due to CRLF changes. Adding back `-w` to diff is not enough, the new grep substitution doesn't work on Windows, and fixing it is non-trivial.
  80. Require stdcall etc parameters to be complete on ODR use Functions using stdcall, fastcall, or vectorcall with C linkage mangle in the size of the parameter pack. Calculating the size of the pack requires the parameter types to complete, which may require template instantiation. Previously, we would crash during IRgen when requesting the size of incomplete or uninstantiated types, as in this reduced example: struct Foo; void __fastcall bar(struct Foo o); void (__fastcall *fp)(struct Foo) = &bar; Reported in Chromium here: https://crbug.com/971245 Differential Revision: https://reviews.llvm.org/D62975
  81. [analyzer][tests] Use normalize_plist in place of diff_plist (`tail` cases) Summary: The `%diff_plist` lit substitution invokes `diff` with a non-portable `-I` option. The intended effect can be achieved by normalizing the inputs to `diff` beforehand. Such normalization can be done with `grep -Ev`, which is also used by other tests. This patch applies the change (adjusted for review comments) described in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html mechanically to the cases where the output file is piped to `%diff_plist` via `tail`. `%diff_plist` is then, being unused, removed. The changes were applied via a script. Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62951
  82. [analyzer][tests] Use normalize_plist in place of diff_plist (`cat` cases) Summary: The `%diff_plist` lit substitution invokes `diff` with a non-portable `-I` option. The intended effect can be achieved by normalizing the inputs to `diff` beforehand. Such normalization can be done with `grep -Ev`, which is also used by other tests. This patch applies the change (adjusted for review comments) described in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html mechanically to the cases where the output file is piped to `%diff_plist` via `cat`. The changes were applied via a script, except that `clang/test/Analysis/NewDelete-path-notes.cpp` and `clang/test/Analysis/plist-macros-with-expansion.cpp` were each adjusted for the line-continuation on the relevant `RUN` step. Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62950
  83. [analyzer][tests] Add normalize_plist to replace diff_plist Summary: The `%diff_plist` lit substitution invokes `diff` with a non-portable `-I` option. The intended effect can be achieved by normalizing the inputs to `diff` beforehand. Such normalization can be done with `grep -Ev`, which is also used by other tests. This patch applies the change (adjusted for review comments) described in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html to the specific case shown in the list message. Mechanical changes to the other affected files will follow in later patches. Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty Reviewed By: NoQ Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62949
  84. [PlistSupport] Produce a newline to end plist output files Summary: As suggested in the review of D62949, this patch updates the plist output to have a newline at the end of the file. This makes it so that the plist output file qualifies as a POSIX text file, which increases the consumability of the generated plist file in relation to various tools. Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty Reviewed By: NoQ, xingxue Subscribers: jsji, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63041
  85. [CUDA] Fix grep pattern in cuda-types.cu Summary: vertical-line is not a BRE special character. POSIX.1-2017 XBD Section 9.3.2 indicates that the interpretation of `\|` is undefined. This patch uses EREs instead. Additionally, the pattern is further fixed so that `SIZEOF` and `WIDTH` macros are checked. Reviewers: jlebar, daltenty, xingxue, jasonliu, tra Reviewed By: tra Subscribers: jfb, jsji, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63029
</
Revision 363496 by aaronpuchert:
[Clang] Harmonize Split DWARF options with llc

Summary:
With Split DWARF the resulting object file (then called skeleton CU)
contains the file name of another ("DWO") file with the debug info.
This can be a problem for remote compilation, as it will contain the
name of the file on the compilation server, not on the client.

To use Split DWARF with remote compilation, one needs to either

* make sure only relative paths are used, and mirror the build directory
  structure of the client on the server,
* inject the desired file name on the client directly.

Since llc already supports the latter solution, we're just copying that
over. We allow setting the actual output filename separately from the
value of the DW_AT_[GNU_]dwo_name attribute in the skeleton CU.

Fixes PR40276.

Reviewers: dblaikie, echristo, tejohnson

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D59673
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/CodeGenOptions.htrunk/include/clang/Basic/CodeGenOptions.h
The file was modified/cfe/trunk/include/clang/Driver/CC1Options.tdtrunk/include/clang/Driver/CC1Options.td
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpptrunk/lib/CodeGen/BackendUtil.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpptrunk/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpptrunk/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpptrunk/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/test/CodeGen/split-debug-filename.ctrunk/test/CodeGen/split-debug-filename.c
The file was added/cfe/trunk/test/CodeGen/split-debug-output.ctrunk/test/CodeGen/split-debug-output.c
The file was modified/cfe/trunk/test/CodeGen/split-debug-single-file.ctrunk/test/CodeGen/split-debug-single-file.c
The file was modified/cfe/trunk/test/CodeGen/thinlto-split-dwarf.ctrunk/test/CodeGen/thinlto-split-dwarf.c
The file was modified/cfe/trunk/test/Driver/split-debug.ctrunk/test/Driver/split-debug.c
The file was modified/llvm/trunk/include/llvm/LTO/Config.hN/A
The file was modified/llvm/trunk/lib/LTO/LTOBackend.cppN/A
Revision 363494 by aaronpuchert:
[Clang] Rename -split-dwarf-file to -split-dwarf-output

Summary:
This is the first in a series of changes trying to align clang -cc1
flags for Split DWARF with those of llc. The unfortunate side effect of
having -split-dwarf-output for single file Split DWARF will disappear
again in a subsequent change.

The change is the result of a discussion in D59673.

Reviewers: dblaikie, echristo

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D63130
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/CodeGenOptions.htrunk/include/clang/Basic/CodeGenOptions.h
The file was modified/cfe/trunk/include/clang/Driver/CC1Options.tdtrunk/include/clang/Driver/CC1Options.td
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpptrunk/lib/CodeGen/BackendUtil.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpptrunk/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpptrunk/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpptrunk/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/test/CodeGen/split-debug-filename.ctrunk/test/CodeGen/split-debug-filename.c
The file was modified/cfe/trunk/test/CodeGen/split-debug-single-file.ctrunk/test/CodeGen/split-debug-single-file.c
The file was modified/cfe/trunk/test/CodeGen/thinlto-split-dwarf.ctrunk/test/CodeGen/thinlto-split-dwarf.c
The file was modified/cfe/trunk/test/Driver/fuchsia.ctrunk/test/Driver/fuchsia.c
The file was modified/cfe/trunk/test/Driver/split-debug.ctrunk/test/Driver/split-debug.c
The file was modified/cfe/trunk/test/Driver/split-debug.strunk/test/Driver/split-debug.s
The file was modified/cfe/trunk/test/Misc/cc1as-split-dwarf.strunk/test/Misc/cc1as-split-dwarf.s
The file was modified/cfe/trunk/test/Modules/pch_container.mtrunk/test/Modules/pch_container.m
The file was modified/cfe/trunk/tools/driver/cc1as_main.cpptrunk/tools/driver/cc1as_main.cpp
Revision 363493 by tyker:
[clang] Add storage for APValue in ConstantExpr

Summary:
When using ConstantExpr we often need the result of the expression to be kept in the AST. Currently this is done on a by the node that needs the result and has been done multiple times for enumerator, for constexpr variables... . This patch adds to ConstantExpr the ability to store the result of evaluating the expression. no functional changes expected.

Changes:
- Add trailling object to ConstantExpr that can hold an APValue or an uint64_t. the uint64_t is here because most ConstantExpr yield integral values so there is an optimized layout for integral values.
- Add basic* serialization support for the trailing result.
- Move conversion functions from an enum to a fltSemantics from clang::FloatingLiteral to llvm::APFloatBase. this change is to make it usable for serializing APValues.
- Add basic* Import support for the trailing result.
- ConstantExpr created in CheckConvertedConstantExpression now stores the result in the ConstantExpr Node.
- Adapt AST dump to print the result when present.

basic* : None, Indeterminate, Int, Float, FixedPoint, ComplexInt, ComplexFloat,
the result is not yet used anywhere but for -ast-dump.

Reviewers: rsmith, martong, shafik

Reviewed By: rsmith

Subscribers: rnkovacs, hiraditya, dexonsmith, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D62399
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/APValue.htrunk/include/clang/AST/APValue.h
The file was modified/cfe/trunk/include/clang/AST/ASTContext.htrunk/include/clang/AST/ASTContext.h
The file was modified/cfe/trunk/include/clang/AST/Expr.htrunk/include/clang/AST/Expr.h
The file was modified/cfe/trunk/include/clang/AST/Stmt.htrunk/include/clang/AST/Stmt.h
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.htrunk/include/clang/AST/TextNodeDumper.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTReader.htrunk/include/clang/Serialization/ASTReader.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTWriter.htrunk/include/clang/Serialization/ASTWriter.h
The file was modified/cfe/trunk/lib/AST/APValue.cpptrunk/lib/AST/APValue.cpp
The file was modified/cfe/trunk/lib/AST/ASTContext.cpptrunk/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpptrunk/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/lib/AST/Expr.cpptrunk/lib/AST/Expr.cpp
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpptrunk/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOverload.cpptrunk/lib/Sema/SemaOverload.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTReader.cpptrunk/lib/Serialization/ASTReader.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTReaderStmt.cpptrunk/lib/Serialization/ASTReaderStmt.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cpptrunk/lib/Serialization/ASTWriter.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriterStmt.cpptrunk/lib/Serialization/ASTWriterStmt.cpp
The file was modified/cfe/trunk/test/AST/ast-dump-color.cpptrunk/test/AST/ast-dump-color.cpp
The file was modified/llvm/trunk/include/llvm/ADT/APFloat.hN/A
The file was modified/llvm/trunk/lib/Support/APFloat.cppN/A
Revision 363491 by charusso:
[analyzer] ReturnVisitor: Bypass everything to see inlined calls

Summary:
When we traversed backwards on ExplodedNodes to see where processed the
given statement we `break` too early. With the current approach we do not
miss the CallExitEnd ProgramPoint which stands for an inlined call.

Reviewers: NoQ, xazax.hun, ravikandhadai, baloghadamsoftware, Szelethus

Reviewed By: NoQ

Subscribers: szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy,
             dkrupp, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D62926
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpptrunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was added/cfe/trunk/test/Analysis/inlining/placement-new-fp-suppression.cpptrunk/test/Analysis/inlining/placement-new-fp-suppression.cpp
The file was modified/cfe/trunk/test/Analysis/new-ctor-null-throw.cpptrunk/test/Analysis/new-ctor-null-throw.cpp
The file was modified/cfe/trunk/test/Analysis/new-ctor-null.cpptrunk/test/Analysis/new-ctor-null.cpp
Revision 363488 by tyker:
[clang] perform semantic checking in constant context

Summary:
Since the addition of __builtin_is_constant_evaluated the result of an expression can change based on whether it is evaluated in constant context. a lot of semantic checking performs evaluations with out specifying context. which can lead to wrong diagnostics.
for example:
```
constexpr int i0 = (long long)__builtin_is_constant_evaluated() * (1ll << 33); //#1
constexpr int i1 = (long long)!__builtin_is_constant_evaluated() * (1ll << 33); //#2
```
before the patch, #2 was diagnosed incorrectly and #1 wasn't diagnosed.
after the patch #1 is diagnosed as it should and #2 isn't.

Changes:
- add a flag to Sema to passe in constant context mode.
- in SemaChecking.cpp calls to Expr::Evaluate* are now done in constant context when they should.
- in SemaChecking.cpp diagnostics for UB are not checked for in constant context because an error will be emitted by the constant evaluator.
- in SemaChecking.cpp diagnostics for construct that cannot appear in constant context are not checked for in constant context.
- in SemaChecking.cpp diagnostics on constant expression are always emitted because constant expression are always evaluated.
- semantic checking for initialization of constexpr variables is now done in constant context.
- adapt test that were depending on warning changes.
- add test.

Reviewers: rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D62009
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/Expr.htrunk/include/clang/AST/Expr.h
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.tdtrunk/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpptrunk/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/Sema/Sema.cpptrunk/lib/Sema/Sema.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpptrunk/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/SemaCXX/attr-nonnull.cpptrunk/test/SemaCXX/attr-nonnull.cpp
The file was modified/cfe/trunk/test/SemaCXX/constant-expression-cxx11.cpptrunk/test/SemaCXX/constant-expression-cxx11.cpp
Revision 363475 by ziangwan725:
Fixed the --print-supported-cpus test

Add constraints for the test that require specific backend targets
to be registered.

Remove trailing whitespace in the doc.

Differential Revision: https://reviews.llvm.org/D63105
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/CommandGuide/clang.rsttrunk/docs/CommandGuide/clang.rst
The file was modified/cfe/trunk/test/Driver/print-supported-cpus.ctrunk/test/Driver/print-supported-cpus.c
Revision 363472 by ctopper:
[X86] Add checks that immediate for reducesd/ss fits in 8-bits.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpptrunk/lib/Sema/SemaChecking.cpp
Revision 363467 by ahatanak:
[CodeGen][ObjC] Annotate retain-agnostic ObjC globals with attribute
'objc_arc_inert'

The attribute enables the ARC optimizer to delete ObjC ARC runtime calls
on the annotated globals (see https://reviews.llvm.org/D62433). We
currently only annotate global variables for string literals and global
blocks with the attribute.

rdar://problem/49839633

Differential Revision: https://reviews.llvm.org/D62831
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGBlocks.cpptrunk/lib/CodeGen/CGBlocks.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpptrunk/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/static-local-in-local-class.cpptrunk/test/CodeGenCXX/static-local-in-local-class.cpp
The file was added/cfe/trunk/test/CodeGenObjC/attr-objc-arc-inert.mtrunk/test/CodeGenObjC/attr-objc-arc-inert.m
Revision 363464 by ziangwan725:
Add --print-supported-cpus flag for clang.

This patch allows clang users to print out a list of supported CPU models using
clang [--target=<target triple>] --print-supported-cpus

Then, users can select the CPU model to compile to using
clang --target=<triple> -mcpu=<model> a.c

It is a handy feature to help cross compilation.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangCommandLineReference.rsttrunk/docs/ClangCommandLineReference.rst
The file was modified/cfe/trunk/docs/CommandGuide/clang.rsttrunk/docs/CommandGuide/clang.rst
The file was modified/cfe/trunk/include/clang/Driver/Options.tdtrunk/include/clang/Driver/Options.td
The file was modified/cfe/trunk/include/clang/Frontend/FrontendOptions.htrunk/include/clang/Frontend/FrontendOptions.h
The file was modified/cfe/trunk/lib/Driver/Driver.cpptrunk/lib/Driver/Driver.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpptrunk/lib/Frontend/CompilerInvocation.cpp
The file was added/cfe/trunk/test/Driver/print-supported-cpus.ctrunk/test/Driver/print-supported-cpus.c
The file was modified/cfe/trunk/tools/driver/cc1_main.cpptrunk/tools/driver/cc1_main.cpp
The file was modified/llvm/trunk/lib/MC/MCSubtargetInfo.cppN/A
Revision 363463 by thegameg:
[Remarks][NFC] Improve testing and documentation of -foptimization-record-passes

This adds:

* documentation to the user manual
* nicer error message
* test for the error case
* test for the gold plugin
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/UsersManual.rsttrunk/docs/UsersManual.rst
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.tdtrunk/include/clang/Basic/DiagnosticDriverKinds.td
The file was modified/cfe/trunk/test/CodeGen/opt-record.ctrunk/test/CodeGen/opt-record.c
The file was modified/llvm/trunk/test/tools/gold/X86/opt-remarks.llN/A
Revision 363451 by gbercea:
[OpenMP] Add target task alloc function with device ID

Summary: Add a new call to Clang to perform task allocation for the target.

Reviewers: ABataev, AlexEichenberger, caomhin

Reviewed By: ABataev, AlexEichenberger

Subscribers: openmp-commits, Hahnfeld, guansong, jdoerfert, cfe-commits

Tags: #clang, #openmp

Differential Revision: https://reviews.llvm.org/D63009
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpptrunk/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/test/OpenMP/target_depend_codegen.cpptrunk/test/OpenMP/target_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_enter_data_depend_codegen.cpptrunk/test/OpenMP/target_enter_data_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_exit_data_depend_codegen.cpptrunk/test/OpenMP/target_exit_data_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_depend_codegen.cpptrunk/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_depend_codegen.cpptrunk/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_simd_depend_codegen.cpptrunk/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_simd_depend_codegen.cpptrunk/test/OpenMP/target_simd_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_depend_codegen.cpptrunk/test/OpenMP/target_teams_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_depend_codegen.cpptrunk/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpptrunk/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpptrunk/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpptrunk/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/target_update_depend_codegen.cpptrunk/test/OpenMP/target_update_depend_codegen.cpp
Revision 363450 by rnk:
Use unsigned for bitfields to avoid sign extension
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/DeclSpec.htrunk/include/clang/Sema/DeclSpec.h
The file was modified/cfe/trunk/lib/Sema/DeclSpec.cpptrunk/lib/Sema/DeclSpec.cpp
Revision 363447 by rsmith:
PR42071: Reject weird names for non-type template parameters.

Also reject default arguments appearing in invalid locations.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdtrunk/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpptrunk/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpptrunk/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/test/Parser/cxx-template-decl.cpptrunk/test/Parser/cxx-template-decl.cpp
Revision 363446 by rsmith:
Use getOperatorSpelling to get the spelling of an overloaded operator
rather than duplicating operator name tables in multiple places.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cpptrunk/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/AST/DeclarationName.cpptrunk/lib/AST/DeclarationName.cpp
The file was modified/cfe/trunk/lib/AST/StmtPrinter.cpptrunk/lib/AST/StmtPrinter.cpp
The file was modified/cfe/trunk/lib/Sema/SemaCodeComplete.cpptrunk/lib/Sema/SemaCodeComplete.cpp
Revision 363435 by gbercea:
[OpenMP] Avoid emitting maps for target link variables when unified memory is used

Summary: This patch avoids the emission of maps for target link variables when unified memory is present.

Reviewers: ABataev, caomhin

Reviewed By: ABataev

Subscribers: guansong, jdoerfert, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D60883
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpptrunk/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.htrunk/lib/CodeGen/CGOpenMPRuntime.h
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpptrunk/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpptrunk/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
Revision 363430 by rsmith:
Remove unused SK_LValueToRValue initialization step.

In addition to being unused and duplicating code, this was also wrong
(it didn't properly mark the operand as being potentially not odr-used).

This reinstates r363340, reverted in r363352.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/Initialization.htrunk/include/clang/Sema/Initialization.h
The file was modified/cfe/trunk/lib/Sema/SemaInit.cpptrunk/lib/Sema/SemaInit.cpp
Revision 363429 by rsmith:
PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type
nullptr_t does not access memory.

We now reuse CK_NullToPointer to represent a conversion from a glvalue
of type nullptr_t to a prvalue of nullptr_t where necessary.

This reinstates r363337, reverted in r363352.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/Expr.cpptrunk/lib/AST/Expr.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprAgg.cpptrunk/lib/CodeGen/CGExprAgg.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cpptrunk/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpptrunk/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaInit.cpptrunk/lib/Sema/SemaInit.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineC.cpptrunk/lib/StaticAnalyzer/Core/ExprEngineC.cpp
The file was modified/cfe/trunk/test/Analysis/nullptr.cpptrunk/test/Analysis/nullptr.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr21xx.cpptrunk/test/CXX/drs/dr21xx.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/nullptr.cpptrunk/test/CodeGenCXX/nullptr.cpp
The file was modified/cfe/trunk/www/cxx_dr_status.htmltrunk/www/cxx_dr_status.html
Revision 363428 by rsmith:
C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression.

Summary:
When a variable is named in a context where we can't directly emit a
reference to it (because we don't know for sure that it's going to be
defined, or it's from an enclosing function and not captured, or the
reference might not "work" for some reason), we emit a copy of the
variable as a global and use that for the known-to-be-read-only access.

This reinstates r363295, reverted in r363352, with a fix for PR42276:
we now produce a proper name for a non-odr-use reference to a static
constexpr data member. The name <mangled-name>.const is used in that
case; such names are reserved to the implementation for cases such as
this and should demangle nicely.

Reviewers: rjmccall

Subscribers: jdoerfert, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63157
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpptrunk/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cpptrunk/lib/CodeGen/CGExpr.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.htrunk/lib/CodeGen/CodeGenModule.h
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpptrunk/lib/Sema/SemaExpr.cpp
The file was added/cfe/trunk/test/CXX/basic/basic.def.odr/p2.cpptrunk/test/CXX/basic/basic.def.odr/p2.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr20xx.cpptrunk/test/CXX/drs/dr20xx.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr21xx.cpptrunk/test/CXX/drs/dr21xx.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr23xx.cpptrunk/test/CXX/drs/dr23xx.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr6xx.cpptrunk/test/CXX/drs/dr6xx.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr7xx.cpptrunk/test/CXX/drs/dr7xx.cpp
The file was added/cfe/trunk/test/CodeGenCXX/no-odr-use.cpptrunk/test/CodeGenCXX/no-odr-use.cpp
The file was modified/cfe/trunk/www/cxx_dr_status.htmltrunk/www/cxx_dr_status.html
Revision 363415 by thegameg:
Reland: [Remarks] Refactor optimization remarks setup

* Add a common function to setup opt-remarks
* Rename common options to the same names
* Add error types to distinguish between file errors and regex errors
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenAction.cpptrunk/lib/CodeGen/CodeGenAction.cpp
The file was modified/llvm/trunk/include/llvm/IR/RemarkStreamer.hN/A
The file was modified/llvm/trunk/include/llvm/LTO/LTO.hN/A
The file was modified/llvm/trunk/lib/IR/RemarkStreamer.cppN/A
The file was modified/llvm/trunk/lib/LTO/LTO.cppN/A
The file was modified/llvm/trunk/lib/LTO/LTOBackend.cppN/A
The file was modified/llvm/trunk/lib/LTO/LTOCodeGenerator.cppN/A
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cppN/A
The file was modified/llvm/trunk/tools/gold/gold-plugin.cppN/A
The file was modified/llvm/trunk/tools/llc/llc.cppN/A
The file was modified/llvm/trunk/tools/llvm-lto2/llvm-lto2.cppN/A
The file was modified/llvm/trunk/tools/opt/opt.cppN/A
Revision 363414 by yaxunl:
[AMDGPU] Enable the implicit arguments for HIP (CLANG)

Enable 48-bytes of implicit arguments for HIP as well. Earlier it was enabled for OpenCL. This code is specific to AMDGPU target.

Differential Revision: https://reviews.llvm.org/D62244
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cpptrunk/lib/CodeGen/TargetInfo.cpp
The file was added/cfe/trunk/test/CodeGenCUDA/amdgpu-hip-implicit-kernarg.cutrunk/test/CodeGenCUDA/amdgpu-hip-implicit-kernarg.cu
Revision 363390 by arsenm:
AMDGPU: Use AMDGPU toolchain for other OSes

This would need more work to actually support them, but this is less
wrong than the default.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/Driver.cpptrunk/lib/Driver/Driver.cpp
The file was modified/cfe/trunk/test/Driver/amdgpu-toolchain.ctrunk/test/Driver/amdgpu-toolchain.c
Revision 363379 by nico:
Revert r363298 "[lit] Disable test on darwin when building shared libs."

It broke running check-lld on mac, see https://reviews.llvm.org/D61697
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Tooling/clang-check-mac-libcxx-fixed-compilation-db.cpptrunk/test/Tooling/clang-check-mac-libcxx-fixed-compilation-db.cpp
The file was modified/llvm/trunk/utils/lit/lit/llvm/config.pyN/A
Revision 363376 by svenvh:
Revert "[OpenCL] Move OpenCLBuiltins.td and remove unused include"

This reverts commit r363242 as it broke some builds with

  make[2]: *** No rule to make target 'ClangOpenCLBuiltinsImpl', needed by
  'tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLookup.cpp.o'.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/CMakeLists.txttrunk/include/clang/Basic/CMakeLists.txt
The file was added/cfe/trunk/include/clang/Basic/OpenCLBuiltins.tdtrunk/include/clang/Basic/OpenCLBuiltins.td
The file was modified/cfe/trunk/lib/Sema/CMakeLists.txttrunk/lib/Sema/CMakeLists.txt
The file was removed/cfe/trunk/lib/Sema/OpenCLBuiltins.tdtrunk/lib/Sema/OpenCLBuiltins.td
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cpptrunk/lib/Sema/SemaLookup.cpp
Revision 363369 by sylvestre:
add a missing parenthese in the clang doc
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ThinLTO.rsttrunk/docs/ThinLTO.rst
Revision 363362 by tyker:
[C++20] add Basic consteval specifier

Summary:
this revision adds Lexing, Parsing and Basic Semantic for the consteval specifier as specified by http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r3.html

with this patch, the consteval specifier is treated as constexpr but can only be applied to function declaration.

Changes:
- add the consteval keyword.
- add parsing of consteval specifier for normal declarations and lambdas expressions.
- add the whether a declaration is constexpr is now represented by and enum everywhere except for variable because they can't be consteval.
- adapt diagnostic about constexpr to print constexpr or consteval depending on the case.
- add tests for basic semantic.

Reviewers: rsmith, martong, shafik

Reviewed By: rsmith

Subscribers: eraman, efriedma, rnkovacs, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D61790
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/Decl.htrunk/include/clang/AST/Decl.h
The file was modified/cfe/trunk/include/clang/AST/DeclBase.htrunk/include/clang/AST/DeclBase.h
The file was modified/cfe/trunk/include/clang/AST/DeclCXX.htrunk/include/clang/AST/DeclCXX.h
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.tdtrunk/include/clang/Basic/DiagnosticCommonKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.tdtrunk/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdtrunk/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Basic/Specifiers.htrunk/include/clang/Basic/Specifiers.h
The file was modified/cfe/trunk/include/clang/Basic/TokenKinds.deftrunk/include/clang/Basic/TokenKinds.def
The file was modified/cfe/trunk/include/clang/Sema/DeclSpec.htrunk/include/clang/Sema/DeclSpec.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpptrunk/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/lib/AST/Decl.cpptrunk/lib/AST/Decl.cpp
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpptrunk/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cpptrunk/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpptrunk/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpptrunk/lib/Parse/ParseCXXInlineMethods.cpp
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cpptrunk/lib/Parse/ParseDecl.cpp
The file was modified/cfe/trunk/lib/Parse/ParseExprCXX.cpptrunk/lib/Parse/ParseExprCXX.cpp
The file was modified/cfe/trunk/lib/Parse/ParseTentative.cpptrunk/lib/Parse/ParseTentative.cpp
The file was modified/cfe/trunk/lib/Sema/DeclSpec.cpptrunk/lib/Sema/DeclSpec.cpp
The file was modified/cfe/trunk/lib/Sema/SemaCoroutine.cpptrunk/lib/Sema/SemaCoroutine.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpptrunk/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclAttr.cpptrunk/lib/Sema/SemaDeclAttr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpptrunk/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpptrunk/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLambda.cpptrunk/lib/Sema/SemaLambda.cpp
The file was modified/cfe/trunk/lib/Sema/SemaStmt.cpptrunk/lib/Sema/SemaStmt.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpptrunk/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpptrunk/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaType.cpptrunk/lib/Sema/SemaType.cpp
The file was modified/cfe/trunk/lib/Sema/TreeTransform.htrunk/lib/Sema/TreeTransform.h
The file was modified/cfe/trunk/lib/Serialization/ASTReaderDecl.cpptrunk/lib/Serialization/ASTReaderDecl.cpp