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
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

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
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

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!
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
The file was modified/cfe/trunk/lib/Serialization/ASTWriterDecl.cpptrunk/lib/Serialization/ASTWriterDecl.cpp
The file was modified/cfe/trunk/test/SemaCXX/cxx2a-compat.cpptrunk/test/SemaCXX/cxx2a-compat.cpp
The file was added/cfe/trunk/test/SemaCXX/cxx2a-consteval.cpptrunk/test/SemaCXX/cxx2a-consteval.cpp
The file was modified/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cppN/A
The file was modified/lldb/trunk/source/Symbol/ClangASTContext.cppN/A
Revision 363361 by tyker:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpptrunk/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/test/SemaCXX/cxx1z-class-template-argument-deduction.cpptrunk/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Revision 363360 by tyker:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaExprCXX.cpptrunk/lib/Sema/SemaExprCXX.cpp
The file was modified/cfe/trunk/test/SemaCXX/using-decl-1.cpptrunk/test/SemaCXX/using-decl-1.cpp
Revision 363352 by nico:
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."
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/AST/Expr.cpptrunk/lib/AST/Expr.cpp
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/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/CodeGen/CodeGenModule.htrunk/lib/CodeGen/CodeGenModule.h
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 removed/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 removed/cfe/trunk/test/CodeGenCXX/no-odr-use.cpptrunk/test/CodeGenCXX/no-odr-use.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 363346 by George Burgess IV:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/Targets/ARM.cpptrunk/lib/Basic/Targets/ARM.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/ARM.htrunk/lib/Basic/Targets/ARM.h
The file was added/cfe/trunk/test/CodeGen/arm-soft-float-abi-filtering.ctrunk/test/CodeGen/arm-soft-float-abi-filtering.c
Revision 363345 by rampitec:
[AMDGPU] gfx1011/gfx1012 clang support

Differential Revision: https://reviews.llvm.org/D63308
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/Targets/AMDGPU.cpptrunk/lib/Basic/Targets/AMDGPU.cpp
The file was modified/cfe/trunk/test/CodeGenOpenCL/amdgpu-features.cltrunk/test/CodeGenOpenCL/amdgpu-features.cl
The file was modified/cfe/trunk/test/Driver/amdgpu-macros.cltrunk/test/Driver/amdgpu-macros.cl
The file was modified/cfe/trunk/test/Driver/amdgpu-mcpu.cltrunk/test/Driver/amdgpu-mcpu.cl
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.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 363341 by rampitec:
[AMDGPU] gfx1010 wave32 clang support

Differential Revision: https://reviews.llvm.org/D63209
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangCommandLineReference.rsttrunk/docs/ClangCommandLineReference.rst
The file was modified/cfe/trunk/include/clang/Driver/Options.tdtrunk/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpptrunk/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/AMDGPU.cpptrunk/lib/Driver/ToolChains/AMDGPU.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/HIP.cpptrunk/lib/Driver/ToolChains/HIP.cpp
The file was modified/cfe/trunk/test/CodeGenOpenCL/builtins-amdgcn.cltrunk/test/CodeGenOpenCL/builtins-amdgcn.cl
The file was modified/cfe/trunk/test/Driver/amdgpu-features.ctrunk/test/Driver/amdgpu-features.c
Revision 363340 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).
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 363337 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 r345562, reverted in r346065, now that CodeGen's
handling of non-odr-used variables has been fixed.
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 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.cpptrunk/lib/CodeGen/CGDebugInfo.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cppN/A
The file was modified/llvm/trunk/test/DebugInfo/COFF/global-constants.llN/A
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.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 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.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 363295 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.

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 363288 by erichkeane:
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/
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpptrunk/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/cxx11-thread-local.cpptrunk/test/CodeGenCXX/cxx11-thread-local.cpp
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.ctrunk/test/CodeGen/builtin-movdir.c
The file was modified/cfe/trunk/test/CodeGen/lto-newpm-pipeline.ctrunk/test/CodeGen/lto-newpm-pipeline.c
The file was modified/llvm/trunk/lib/Transforms/IPO/AlwaysInliner.cppN/A
Revision 363281 by leonardchan:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpptrunk/lib/CodeGen/BackendUtil.cpp
The file was modified/cfe/trunk/test/CodeGen/split-debug-single-file.ctrunk/test/CodeGen/split-debug-single-file.c
Revision 363278 by leonardchan:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpptrunk/lib/CodeGen/BackendUtil.cpp
The file was modified/cfe/trunk/test/Profile/gcc-flag-compatibility.ctrunk/test/Profile/gcc-flag-compatibility.c
Revision 363277 by leonardchan:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpptrunk/lib/CodeGen/BackendUtil.cpp
The file was modified/cfe/trunk/test/CodeGen/lifetime.ctrunk/test/CodeGen/lifetime.c
Revision 363262 by gribozavr:
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.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/LibASTMatchersReference.htmltrunk/docs/LibASTMatchersReference.html
The file was modified/cfe/trunk/include/clang/ASTMatchers/ASTMatchers.htrunk/include/clang/ASTMatchers/ASTMatchers.h
The file was modified/cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpptrunk/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modified/cfe/trunk/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpptrunk/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modified/cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.htrunk/unittests/ASTMatchers/ASTMatchersTest.h
Revision 363242 by svenvh:
[OpenCL] Move OpenCLBuiltins.td and remove unused include

Patch by Pierre Gondois.

Differential revision: https://reviews.llvm.org/D62849
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 removed/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 added/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 363241 by sbc:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/WebAssembly.cpptrunk/lib/Driver/ToolChains/WebAssembly.cpp
The file was modified/cfe/trunk/lib/Frontend/InitHeaderSearch.cpptrunk/lib/Frontend/InitHeaderSearch.cpp
The file was modified/cfe/trunk/test/Driver/wasm-toolchain.cpptrunk/test/Driver/wasm-toolchain.cpp
Revision 363238 by sbc:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-scan-deps/CMakeLists.txttrunk/tools/clang-scan-deps/CMakeLists.txt
Revision 363230 by hans:
clang-format extension: Widen the supported versions range

So that it covers also the latest VS 2019 version.

By Antonio Maiorano!
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-format-vs/source.extension.vsixmanifest.intrunk/tools/clang-format-vs/source.extension.vsixmanifest.in

Summary

  1. [clangd] Index API and implementations for relations Summary: This builds on the relations support added in D59407, D62459, and D62471 to expose relations in SymbolIndex and its implementations. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62839
  2. [clangd] Bump vscode-clangd v0.0.14 CHANGELOG: - use the vscode-buildin feature to detect language (rather than using file extensions), this fixes the extension not working on non-standard C++ files (e.g. via files.associations)
  3. [clangd] Don't maintain a list of c-family extensions in vscode extension. Summary: There is no need to maintain this list by ourself, vscode already provides this feature. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63323
  4. Test commit
  5. [clang-tidy] Make ClangTidyCheck::OptionsView public. Summary: The `OptionsView` class is currently protected. This constraint prevents tidies from passing the OptionsView to, for example, a helper function. Similarly, TransformerClangTidyCheck cannot pass the `OptionsView` object to functions that generate `tooling::RewriteRule`s. The latter is needed to allow the definition of such rules to depend on the clang-tidy options, as demonstrated in the child revision. Reviewers: gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63287
  6. [clang-tidy] Made abseil-faster-strsplit-delimiter tests pass on C++17 Reviewers: hokein, gribozavr Reviewed By: hokein, gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63253 Patch by Johan Vikström.
  7. [clang-tidy] Fixed abseil-time-subtraction to work on C++17 Summary: Fixed abseil-time-subtraction to work on C++17 Reviewers: hokein, gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63261 Patch by Johan Vikström.
  8. [clang-tidy] Made abseil-upgrade-duration-conversions tests pass on c++17 Summary: Made abseil-upgrade-duration-conversions tests pass on c++17 Reviewers: hokein, gribozavr Reviewed By: gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63262 Patch by Johan Vikström.
  9. [clang-tidy] Fixed abseil-duration-unnecessary-conversion tests for c++17 Summary: Fixed abseil-duration-unnecessary-conversion tests for c++17 Reviewers: hokein, gribozavr Reviewed By: gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63263 Patch by Johan Vikström.
  10. [Clangd] Fixed clangd diagnostics priority Summary: - Fixed diagnostics where zero width inserted ranges were being used instead of the whole token - Added unit tests Patch by @SureYeaah ! Reviewers: sammccall, kadircet Reviewed By: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang-tools-extra, #clang Differential Revision: https://reviews.llvm.org/D63222
  11. [clangd] Treat lambdas as functions when preparing hover response Reviewers: sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62814
Revision 363481 by nridge:
[clangd] Index API and implementations for relations

Summary:
This builds on the relations support added in D59407, D62459,
and D62471 to expose relations in SymbolIndex and its
implementations.

Reviewers: kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D62839
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpptrunk/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/FileIndex.cpptrunk/clangd/index/FileIndex.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/FileIndex.htrunk/clangd/index/FileIndex.h
The file was modified/clang-tools-extra/trunk/clangd/index/Index.cpptrunk/clangd/index/Index.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Index.htrunk/clangd/index/Index.h
The file was modified/clang-tools-extra/trunk/clangd/index/IndexAction.cpptrunk/clangd/index/IndexAction.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/IndexAction.htrunk/clangd/index/IndexAction.h
The file was modified/clang-tools-extra/trunk/clangd/index/MemIndex.cpptrunk/clangd/index/MemIndex.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/MemIndex.htrunk/clangd/index/MemIndex.h
The file was modified/clang-tools-extra/trunk/clangd/index/Merge.cpptrunk/clangd/index/Merge.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Merge.htrunk/clangd/index/Merge.h
The file was modified/clang-tools-extra/trunk/clangd/index/Relation.htrunk/clangd/index/Relation.h
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.cpptrunk/clangd/index/Serialization.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/dex/Dex.cpptrunk/clangd/index/dex/Dex.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/dex/Dex.htrunk/clangd/index/dex/Dex.h
The file was modified/clang-tools-extra/trunk/clangd/indexer/IndexerMain.cpptrunk/clangd/indexer/IndexerMain.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpptrunk/clangd/unittests/BackgroundIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpptrunk/clangd/unittests/CodeCompleteTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/DexTests.cpptrunk/clangd/unittests/DexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/DiagnosticsTests.cpptrunk/clangd/unittests/DiagnosticsTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FileIndexTests.cpptrunk/clangd/unittests/FileIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/IndexActionTests.cpptrunk/clangd/unittests/IndexActionTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/IndexTests.cpptrunk/clangd/unittests/IndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TestTU.cpptrunk/clangd/unittests/TestTU.cpp
Revision 363375 by hokein:
[clangd] Bump vscode-clangd v0.0.14

CHANGELOG:
- use the vscode-buildin feature to detect language (rather than using
  file extensions), this fixes the extension not working on
  non-standard C++ files (e.g. via files.associations)
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/clients/clangd-vscode/package.jsontrunk/clangd/clients/clangd-vscode/package.json
Revision 363372 by hokein:
[clangd] Don't maintain a list of c-family extensions in vscode extension.

Summary:
There is no need to maintain this list by ourself, vscode already
provides this feature.

Reviewers: kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63323
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/clients/clangd-vscode/src/extension.tstrunk/clangd/clients/clangd-vscode/src/extension.ts
Revision 363365 by sureyeaah:
Test commit
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/RawStringLiteral.cpptrunk/clangd/refactor/tweaks/RawStringLiteral.cpp
Revision 363296 by ymandel:
[clang-tidy] Make ClangTidyCheck::OptionsView public.

Summary: The `OptionsView` class is currently protected. This constraint prevents tidies from passing the OptionsView to, for example, a helper function. Similarly, TransformerClangTidyCheck cannot pass the `OptionsView` object to functions that generate `tooling::RewriteRule`s.  The latter is needed to allow the definition of such rules to depend on the clang-tidy options, as demonstrated in the child revision.

Reviewers: gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63287
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/ClangTidyCheck.htrunk/clang-tidy/ClangTidyCheck.h
Revision 363273 by gribozavr:
[clang-tidy] Made abseil-faster-strsplit-delimiter tests pass on C++17

Reviewers: hokein, gribozavr

Reviewed By: hokein, gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang

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

Patch by Johan Vikström.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpptrunk/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/abseil-faster-strsplit-delimiter.cpptrunk/test/clang-tidy/abseil-faster-strsplit-delimiter.cpp
Revision 363272 by gribozavr:
[clang-tidy] Fixed abseil-time-subtraction to work on C++17

Summary: Fixed abseil-time-subtraction to work on C++17

Reviewers: hokein, gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang

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

Patch by Johan Vikström.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/abseil/TimeSubtractionCheck.cpptrunk/clang-tidy/abseil/TimeSubtractionCheck.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/abseil-time-subtraction.cpptrunk/test/clang-tidy/abseil-time-subtraction.cpp
Revision 363270 by gribozavr:
[clang-tidy] Made abseil-upgrade-duration-conversions tests pass on c++17

Summary: Made abseil-upgrade-duration-conversions tests pass on c++17

Reviewers: hokein, gribozavr

Reviewed By: gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang

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

Patch by Johan Vikström.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpptrunk/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/abseil-upgrade-duration-conversions.cpptrunk/test/clang-tidy/abseil-upgrade-duration-conversions.cpp
Revision 363263 by gribozavr:
[clang-tidy] Fixed abseil-duration-unnecessary-conversion tests for c++17

Summary: Fixed abseil-duration-unnecessary-conversion tests for c++17

Reviewers: hokein, gribozavr

Reviewed By: gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang

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

Patch by Johan Vikström.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpptrunk/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/abseil-duration-unnecessary-conversion.cpptrunk/test/clang-tidy/abseil-duration-unnecessary-conversion.cpp
Revision 363253 by kadircet:
[Clangd] Fixed clangd diagnostics priority

Summary:
- Fixed diagnostics where zero width inserted ranges were being used instead of the whole token
- Added unit tests

Patch by @SureYeaah !

Reviewers: sammccall, kadircet

Reviewed By: kadircet

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

Tags: #clang-tools-extra, #clang

Differential Revision: https://reviews.llvm.org/D63222
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/Diagnostics.cpptrunk/clangd/Diagnostics.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/DiagnosticsTests.cpptrunk/clangd/unittests/DiagnosticsTests.cpp
Revision 363237 by kadircet:
[clangd] Treat lambdas as functions when preparing hover response

Reviewers: sammccall, ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D62814
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/XRefs.cpptrunk/clangd/XRefs.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/XRefsTests.cpptrunk/clangd/unittests/XRefsTests.cpp

Summary

  1. [compiler-rt] Respect CMAKE_NM The default nm executable may not be able to handle the architecture we're building the sanitizers for. Respect CMAKE_NM if it's set to ensure we're using the correct nm tool. Preserve the existing NM environment variable override to not break its users. Differential Revision: https://reviews.llvm.org/D63368
  2. Improve error message when '=' is missing in {ASAN,...}_OPTIONS. Summary: It's handling isses as described here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89832 Patch by Martin Liška. Reviewers: kcc, vitalybuka Reviewed By: vitalybuka Subscribers: cryptoad, kubamracek Differential Revision: https://reviews.llvm.org/D59876
  3. [libFuzzer] in autofocus mode, give more weight to functions with DFT
  4. [libFuzzer] implement a better queue for the fork mode. Add an internal flag -stop_file to allow graceful shutdown of fuzzing. Enhance the logging in the fork mode
  5. [libFuzzer] fix -Werror build
  6. [libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels. Second attempt. This time with a fix for windows (putenv instead of setenv))
  7. [libFuzzer] Disable len_control by default if LLVMFuzzerCustomMutator is used. Summary: Some custom mutators may not peform well when size restriction is enforced by len_control. Because of that, it's safer to disable len_control by default in such cases, but still allow users to enable it manually. Bug example: https://bugs.chromium.org/p/chromium/issues/detail?id=919530. Tested manually with LPM-based and regular fuzz targets. Reviewers: kcc, vitalybuka, metzman Reviewed By: kcc, metzman Subscribers: delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D63334
  8. Revert r363326 "[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels." It broke the Windows build: C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\lib\fuzzer\FuzzerDataFlowTrace.cpp(243): error C3861: 'setenv': identifier not found This also reverts the follow-up r363327.
  9. fix whitespaces
  10. [libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels.
  11. [dfsan] Introduce dfsan_flush(). Summary: dfsan_flush() allows to restart tain tracking from scratch in the same process. The primary purpose right now is to allow more efficient data flow tracing for DFT fuzzing: https://github.com/google/oss-fuzz/issues/1632 Reviewers: pcc Reviewed By: pcc Subscribers: delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D63037
Revision 363483 by smeenai:
[compiler-rt] Respect CMAKE_NM

The default nm executable may not be able to handle the architecture
we're building the sanitizers for. Respect CMAKE_NM if it's set to
ensure we're using the correct nm tool. Preserve the existing NM
environment variable override to not break its users.

Differential Revision: https://reviews.llvm.org/D63368
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/Modules/SanitizerUtils.cmaketrunk/cmake/Modules/SanitizerUtils.cmake
The file was modified/compiler-rt/trunk/lib/sanitizer_common/scripts/gen_dynamic_list.pytrunk/lib/sanitizer_common/scripts/gen_dynamic_list.py
Revision 363480 by Vitaly Buka:
Improve error message when '=' is missing in  {ASAN,...}_OPTIONS.

Summary:
It's handling isses as described here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89832

Patch by Martin Liška.

Reviewers: kcc, vitalybuka

Reviewed By: vitalybuka

Subscribers: cryptoad, kubamracek

Differential Revision: https://reviews.llvm.org/D59876
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/asan_flags.cctrunk/lib/asan/asan_flags.cc
The file was modified/compiler-rt/trunk/lib/cfi/cfi.cpptrunk/lib/cfi/cfi.cpp
The file was modified/compiler-rt/trunk/lib/dfsan/dfsan.cctrunk/lib/dfsan/dfsan.cc
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan.cpptrunk/lib/hwasan/hwasan.cpp
The file was modified/compiler-rt/trunk/lib/lsan/lsan.cctrunk/lib/lsan/lsan.cc
The file was modified/compiler-rt/trunk/lib/msan/msan.cctrunk/lib/msan/msan.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cctrunk/lib/sanitizer_common/sancov_flags.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flag_parser.cctrunk/lib/sanitizer_common/sanitizer_flag_parser.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flag_parser.htrunk/lib/sanitizer_common/sanitizer_flag_parser.h
The file was modified/compiler-rt/trunk/lib/scudo/scudo_flags.cpptrunk/lib/scudo/scudo_flags.cpp
The file was modified/compiler-rt/trunk/lib/tsan/dd/dd_rtl.cctrunk/lib/tsan/dd/dd_rtl.cc
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_flags.cctrunk/lib/tsan/rtl/tsan_flags.cc
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_flags.htrunk/lib/tsan/rtl/tsan_flags.h
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cctrunk/lib/tsan/rtl/tsan_rtl.cc
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_flags.cctrunk/lib/ubsan/ubsan_flags.cc
The file was modified/compiler-rt/trunk/lib/xray/xray_flags.cctrunk/lib/xray/xray_flags.cc
Revision 363473 by kcc:
[libFuzzer] in autofocus mode, give more weight to functions with DFT
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDataFlowTrace.cpptrunk/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDataFlowTrace.htrunk/lib/fuzzer/FuzzerDataFlowTrace.h
The file was modified/compiler-rt/trunk/lib/fuzzer/tests/FuzzerUnittest.cpptrunk/lib/fuzzer/tests/FuzzerUnittest.cpp
Revision 363470 by kcc:
[libFuzzer] implement a better queue for the fork mode. Add an internal flag -stop_file to allow graceful shutdown of fuzzing. Enhance the logging in the fork mode
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDriver.cpptrunk/lib/fuzzer/FuzzerDriver.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFlags.deftrunk/lib/fuzzer/FuzzerFlags.def
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFork.cpptrunk/lib/fuzzer/FuzzerFork.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerLoop.cpptrunk/lib/fuzzer/FuzzerLoop.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerOptions.htrunk/lib/fuzzer/FuzzerOptions.h
The file was modified/compiler-rt/trunk/test/fuzzer/only-some-bytes-fork.testtrunk/test/fuzzer/only-some-bytes-fork.test
Revision 363469 by kcc:
[libFuzzer] fix -Werror build
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDataFlowTrace.cpptrunk/lib/fuzzer/FuzzerDataFlowTrace.cpp
Revision 363445 by kcc:
[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels. Second attempt. This time with a fix for windows (putenv instead of setenv))
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDataFlowTrace.cpptrunk/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFork.cpptrunk/lib/fuzzer/FuzzerFork.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/dataflow/DataFlow.cpptrunk/lib/fuzzer/dataflow/DataFlow.cpp
The file was added/compiler-rt/trunk/test/fuzzer/Labels20Test.cpptrunk/test/fuzzer/Labels20Test.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/OnlySomeBytesTest.cpptrunk/test/fuzzer/OnlySomeBytesTest.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/dataflow.testtrunk/test/fuzzer/dataflow.test
Revision 363443 by dor1s:
[libFuzzer] Disable len_control by default if LLVMFuzzerCustomMutator is used.

Summary:
Some custom mutators may not peform well when size restriction is
enforced by len_control. Because of that, it's safer to disable len_control
by default in such cases, but still allow users to enable it manually.
Bug example: https://bugs.chromium.org/p/chromium/issues/detail?id=919530.

Tested manually with LPM-based and regular fuzz targets.

Reviewers: kcc, vitalybuka, metzman

Reviewed By: kcc, metzman

Subscribers: delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D63334
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDriver.cpptrunk/lib/fuzzer/FuzzerDriver.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFlags.deftrunk/lib/fuzzer/FuzzerFlags.def
The file was modified/compiler-rt/trunk/test/fuzzer/fuzzer-custommutator.testtrunk/test/fuzzer/fuzzer-custommutator.test
Revision 363358 by hans:
Revert r363326 "[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels."

It broke the Windows build:

C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\lib\fuzzer\FuzzerDataFlowTrace.cpp(243): error C3861: 'setenv': identifier not found

This also reverts the follow-up r363327.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDataFlowTrace.cpptrunk/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFork.cpptrunk/lib/fuzzer/FuzzerFork.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/dataflow/DataFlow.cpptrunk/lib/fuzzer/dataflow/DataFlow.cpp
The file was removed/compiler-rt/trunk/test/fuzzer/Labels20Test.cpptrunk/test/fuzzer/Labels20Test.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/OnlySomeBytesTest.cpptrunk/test/fuzzer/OnlySomeBytesTest.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/dataflow.testtrunk/test/fuzzer/dataflow.test
Revision 363327 by kcc:
fix whitespaces
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/fuzzer/Labels20Test.cpptrunk/test/fuzzer/Labels20Test.cpp
Revision 363326 by kcc:
[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDataFlowTrace.cpptrunk/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFork.cpptrunk/lib/fuzzer/FuzzerFork.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/dataflow/DataFlow.cpptrunk/lib/fuzzer/dataflow/DataFlow.cpp
The file was added/compiler-rt/trunk/test/fuzzer/Labels20Test.cpptrunk/test/fuzzer/Labels20Test.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/OnlySomeBytesTest.cpptrunk/test/fuzzer/OnlySomeBytesTest.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/dataflow.testtrunk/test/fuzzer/dataflow.test
Revision 363321 by kcc:
[dfsan] Introduce dfsan_flush().

Summary:
dfsan_flush() allows to restart tain tracking from scratch in the same process.
The primary purpose right now is to allow more efficient data flow tracing
for DFT fuzzing: https://github.com/google/oss-fuzz/issues/1632

Reviewers: pcc

Reviewed By: pcc

Subscribers: delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D63037
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/include/sanitizer/dfsan_interface.htrunk/include/sanitizer/dfsan_interface.h
The file was modified/compiler-rt/trunk/lib/dfsan/dfsan.cctrunk/lib/dfsan/dfsan.cc
The file was modified/compiler-rt/trunk/lib/dfsan/done_abilist.txttrunk/lib/dfsan/done_abilist.txt
The file was added/compiler-rt/trunk/test/dfsan/flush.ctrunk/test/dfsan/flush.c

Summary

  1. attempt to unbreak buildbots
  2. [libcxx] Add XFAIL for facet test when back-deploying to older macOS
  3. [libc++] Keep __regex_word in sync with ctype_base Summary: The class ctype_base in the header <__locale> contains masks for character classification functions, which are kept in sync with platform's C library, hence it contains many special cases. The value of the bit mask __regex_word in the header <regex> must not clash with those bit masks. Currently the default case (i.e. unknown platform/C library) is handled incorrectly: the __regex_word clashes with ctype_base::punct. To avoid replicating the whole list of platforms in <regex> this patch defines __regex_word in <__locale>, so that it is always kept in sync with other masks. Reviewers: ldionne, mclow.lists, EricWF Reviewed By: ldionne Subscribers: krytarowski, christof, dexonsmith, pbarrio, simon_tatham, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D63284
  4. [libc++] Fix build with gcc 4.8 gcc 4.8.4 (but not 5.4.0 or 7.3.0) has trouble initializing errc with {}, giving the error in [1]. This CL switches to explicitly using errc(0), which gcc 4.8 accepts. [1] https://bugs.chromium.org/p/chromium/issues/detail?id=973723 Differential Revision: https://reviews.llvm.org/D63296
  5. [libc++] Add missing #include in <cwchar> tests Thanks to Mikhail Maltsev for the patch. Differential Revision: https://reviews.llvm.org/D63289
Revision 363442 by ericwf:
attempt to unbreak buildbots
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/docker/scripts/docker_start_buildbots.shtrunk/utils/docker/scripts/docker_start_buildbots.sh
The file was modified/libcxx/trunk/utils/docker/scripts/run_buildbot_new.shtrunk/utils/docker/scripts/run_buildbot_new.sh
Revision 363405 by Louis Dionne:
[libcxx] Add XFAIL for facet test when back-deploying to older macOS
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpptrunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
Revision 363363 by miyuki:
[libc++] Keep __regex_word in sync with ctype_base

Summary:
The class ctype_base in the header <__locale> contains masks for
character classification functions, which are kept in sync with
platform's C library, hence it contains many special cases.
The value of the bit mask __regex_word in the header <regex> must not
clash with those bit masks.

Currently the default case (i.e. unknown platform/C library) is
handled incorrectly: the __regex_word clashes with ctype_base::punct.

To avoid replicating the whole list of platforms in <regex> this patch
defines __regex_word in <__locale>, so that it is always kept in sync
with other masks.

Reviewers: ldionne, mclow.lists, EricWF

Reviewed By: ldionne

Subscribers: krytarowski, christof, dexonsmith, pbarrio, simon_tatham, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D63284
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/__localetrunk/include/__locale
The file was modified/libcxx/trunk/include/regextrunk/include/regex
Revision 363333 by thomasanderson:
[libc++] Fix build with gcc 4.8

gcc 4.8.4 (but not 5.4.0 or 7.3.0) has trouble initializing errc with {}, giving
the error in [1]. This CL switches to explicitly using errc(0), which gcc 4.8
accepts.

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=973723

Differential Revision: https://reviews.llvm.org/D63296
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/charconvtrunk/include/charconv
Revision 363290 by Louis Dionne:
[libc++] Add missing #include in <cwchar> tests

Thanks to Mikhail Maltsev for the patch.
Differential Revision: https://reviews.llvm.org/D63289
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/depr/depr.c.headers/wchar_h.pass.cpptrunk/test/std/depr/depr.c.headers/wchar_h.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/c.strings/cwchar.pass.cpptrunk/test/std/strings/c.strings/cwchar.pass.cpp