FailedChanges

Summary

  1. [NFC] Cleanup with variable name IsPPC64 & IsDarwin Clean up PPCAsmPrinter with IsPPC64 and IsDarwin. Differential Revision: https://reviews.llvm.org/D69259
  2. [Alignment][NFC] Finish transition for `Loads` Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, asbirlea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69253
  3. Pre-commit test cases for D64713.
  4. [Types] Define a getWithNewBitWidth for Types and make use of it This is designed to change the bitwidth of a type without altering the number of vector lanes. Also useful in D68651. Otherwise an NFC. Differential Revision: https://reviews.llvm.org/D69139
  5. [Alignment][NFC] Instructions::getLoadStoreAlignment Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69256
  6. [ARM] Extra qdadd patterns This adds some new qdadd patterns to go along with the other recently added qadd's. Differential Revision: https://reviews.llvm.org/D68999
  7. [Alignment][NFC] Add a helper function to DataLayout Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69258
  8. [docs][llvm-ar] Update llvm-ar command guide The llvm-ar command guide had not been updated in some time, it was missing current functionality and contained information that was out of date. This change: - Updates the use of reStructuredText directives, as seen in other tools command guides. - Updates the command synopsis. - Updates the descriptions of the tool behaviour. - Updates the options section. - Adds details of MRI script functionality. - Removes the sections "Standards" and "File Format" Differential Revision: https://reviews.llvm.org/D68998
  9. [ARM] Add qadd lowering from a sadd_sat This lowers a sadd_sat to a qadd by treating it as legal. Also adds qsub at the same time. The qadd instruction sets the q flag, but we already have many cases where we do not model this in llvm. Differential Revision: https://reviews.llvm.org/D68976
  10. [Alignment][NFC] TargetCallingConv::setByValAlign Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69248
  11. Simplify usage of setFPAttrs. In some cases using the return value of setFPAttrs simplifies the code. In other cases it complicates the code with ugly casts, so stop doing it. NFC.
  12. [llvm/Object] - Make ELFObjectFile::getRelocatedSection return Expected<section_iterator> It returns just a section_iterator currently and have a report_fatal_error call inside. This change adds a way to return errors and handle them on caller sides. The patch also changes/improves current users and adds test cases. Differential revision: https://reviews.llvm.org/D69167
  13. [Alignment][NFC] TargetCallingConv::setOrigAlign and TargetLowering::getABIAlignmentForCallingConv Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: sdardis, hiraditya, jrtc27, atanasyan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69243
  14. Fix llvm signal tests build.
  15. [obj2yaml] - Fix a comment. NFC. I forgot to address this nit before committing..
  16. [obj2yaml] - Stop triggering UB when dumping corrupted strings. We have a following code to find quote type: if (isspace(S.front()) || isspace(S.back())) ... Problem is that: "int isspace( int ch ): The behavior is undefined if the value of ch is not representable as unsigned char and is not equal to EOF." (https://en.cppreference.com/w/cpp/string/byte/isspace) This patch shows how this UB can be triggered and fixes an issue. Differential revision: https://reviews.llvm.org/D69160
  17. [MemCpyOpt] Fixing Incorrect Code Motion while Handling Aggregate Type Values Summary: When MemCpyOpt is handling aggregate type values, if an instruction (let's call it P) between the targeting load (L) and store (S) clobbers the source pointer of L, it will try to hoist S before P. This process will also hoist S's data dependency instructions. However, the current implementation has a bug that if one of S's dependency instructions is //also// a user of P, MemCpyOpt will not prevent it from being hoisted above P and cause a use-before-define error. For example, in the newly added test file (i.e. `aggregate-type-crash.ll`), it will try to hoist both `store %my_struct %1, %my_struct* %3` and its dependent, `%3 = bitcast i8* %2 to %my_struct*`, above `%2 = call i8* @my_malloc(%my_struct* %0)`. Creating the following BB: ``` entry: %1 = bitcast i8* %4 to %my_struct* %2 = bitcast %my_struct* %1 to i8* %3 = bitcast %my_struct* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %2, i8* align 4 %3, i64 8, i1 false) %4 = call i8* @my_malloc(%my_struct* %0) ret void ``` Where there is a use-before-define error between `%1` and `%4`. Update: The compiler for the Pony Programming Language [also encounter the same bug](https://github.com/ponylang/ponyc/issues/3140) Patch by Min-Yih Hsu (myhsu) Reviewers: eugenis, pcc, dblaikie, dneilson, t.p.northover, lattner Reviewed By: eugenis Subscribers: lenary, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66060
  18. [ARM] Lower sadd_sat to qadd8 and qadd16 Lower the target independent signed saturating intrinsics to qadd8 and qadd16. This custom lowers them from a sadd_sat, catching the node early before it is promoted. It also adds a QADD8b and QADD16b node to mean the bottom "lane" of a qadd8/qadd16, so that we can call demand bits on it to show that it does not use the upper bits. Also handles QSUB8 and QSUB16. Differential Revision: https://reviews.llvm.org/D68974
  19. [ARM] Add and adjust saturation tests for upcoming qadd changes. NFC
  20. Use Align for TFL::TransientStackAlignment Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: arsenm, dschuff, jyknight, sdardis, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, jrtc27, atanasyan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69216
  21. [NFC][InstCombine] Fixup comments As noted in post-commit review of rL375378375378.
  22. [CVP] Deduce no-wrap on `mul` Summary: `ConstantRange::makeGuaranteedNoWrapRegion()` knows how to deal with `mul` since rL335646, there is exhaustive test coverage. This is already used by CVP's `processOverflowIntrinsic()`, and by SCEV's `StrengthenNoWrapFlags()` That being said, currently, this doesn't help much in the end: | statistic | old | new | delta | percentage | | correlated-value-propagation.NumMulNSW | 4 | 275 | 271 | 6775.00% | | correlated-value-propagation.NumMulNUW | 4 | 1323 | 1319 | 32975.00% | | correlated-value-propagation.NumMulNW | 8 | 1598 | 1590 | 19875.00% | | correlated-value-propagation.NumNSW | 5715 | 5986 | 271 | 4.74% | | correlated-value-propagation.NumNUW | 9193 | 10512 | 1319 | 14.35% | | correlated-value-propagation.NumNW | 14908 | 16498 | 1590 | 10.67% | | instcount.NumAddInst | 275871 | 275869 | -2 | 0.00% | | instcount.NumBrInst | 708234 | 708232 | -2 | 0.00% | | instcount.NumMulInst | 43812 | 43810 | -2 | 0.00% | | instcount.NumPHIInst | 316786 | 316784 | -2 | 0.00% | | instcount.NumTruncInst | 62165 | 62167 | 2 | 0.00% | | instcount.NumUDivInst | 2528 | 2526 | -2 | -0.08% | | instcount.TotalBlocks | 842995 | 842993 | -2 | 0.00% | | instcount.TotalInsts | 7376486 | 7376478 | -8 | 0.00% | (^ test-suite plain, tests still pass) Reviewers: nikic, reames, luqmana, sanjoy, timshen Reviewed By: reames Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69203
  23. [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts Summary: Allow for ignoring the check for a single use in SimplifyDemandedVectorElts to be able to simplify operands if DemandedElts is known to contain the union of elements used by all users. It is a responsibility of a caller of SimplifyDemandedVectorElts to supply correct DemandedElts. Simplify a series of extractelement instructions if only a subset of elements is used. Reviewers: reames, arsenm, majnemer, nhaehnle Reviewed By: nhaehnle Subscribers: wdng, jvesely, nhaehnle, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67345
  24. gn build: Merge r375390
  25. [LLDB] [Windows] Initial support for ARM register contexts Differential Revision: https://reviews.llvm.org/D69226
  26. [IR] Fix mayReadFromMemory() for writeonly calls Current implementation of Instruction::mayReadFromMemory() returns !doesNotAccessMemory() which is !ReadNone. This does not take into account that the writeonly attribute also indicates that the call does not read from memory. The patch changes the predicate to !doesNotReadMemory() that reflects the intended behavior. Differential Revision: https://reviews.llvm.org/D69086
  27. [BPF] fix indirect call assembly code Currently, for indirect call, the assembly code printed out as callx <imm> This is not right, it should be callx <reg> Fixed the issue with proper format. Differential Revision: https://reviews.llvm.org/D69229
  28. [Attributor][FIX] Silence sign-compare warning
  29. [Attributor] Teach AANoCapture to use information in-flight more aggressively AAReturnedValues, AAMemoryBehavior, and AANoUnwind, can provide information that helps during the tracking or even justifies no-capture. We now use this information and enable no-capture in some test cases designed a long while a ago for these cases.
  30. [X86] Check Subtarget.hasSSE3() before calling shouldUseHorizontalOp and emitting X86ISD::FHADD in LowerUINT_TO_FP_i64. This was a regression from r375341. Fixes PR43729.
  31. [IndVars] Add a todo to reflect a further oppurtunity identified in D69009 Nikita pointed out an oppurtunity, might as well document it in the code.
  32. [IndVars] Eliminate loop exits with equivalent exit counts We can end up with two loop exits whose exit counts are equivalent, but whose textual representation is different and non-obvious. For the sub-case where we have a series of exits which dominate one another (common), eliminate any exits which would iterate *after* a previous exit on the exiting iteration. As noted in the TODO being removed, I'd always thought this was a good idea, but I've now seen this in a real workload as well. Interestingly, in review, Nikita pointed out there's let another oppurtunity to leverage SCEV's reasoning. If we kept track of the min of dominanting exits so far, we could discharge exits with EC >= MDE. This is less powerful than the existing transform (since later exits aren't considered), but potentially more powerful for any case where SCEV can prove a >= b, but neither a == b or a > b. I don't have an example to illustrate that oppurtunity, but won't be suprised if we find one and return to handle that case as well. Differential Revision: https://reviews.llvm.org/D69009
Revision 375420 by xiangling_liao:
[NFC] Cleanup with variable name IsPPC64 & IsDarwin

Clean up PPCAsmPrinter with IsPPC64 and IsDarwin.

Differential Revision: https://reviews.llvm.org/D69259
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
Revision 375419 by gchatelet:
[Alignment][NFC] Finish transition for `Loads`

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: hiraditya, asbirlea, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69253
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/Loads.h (diff)llvm.src/include/llvm/Analysis/Loads.h
The file was modified/llvm/trunk/lib/Analysis/Loads.cpp (diff)llvm.src/lib/Analysis/Loads.cpp
The file was modified/llvm/trunk/lib/Analysis/MemDerefPrinter.cpp (diff)llvm.src/lib/Analysis/MemDerefPrinter.cpp
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpp (diff)llvm.src/lib/Analysis/ValueTracking.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineOperand.cpp (diff)llvm.src/lib/CodeGen/MachineOperand.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cpp (diff)llvm.src/lib/Transforms/Scalar/LICM.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/SROA.cpp (diff)llvm.src/lib/Transforms/Scalar/SROA.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp (diff)llvm.src/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
Revision 375418 by foad:
Pre-commit test cases for D64713.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/fmul.ll (diff)llvm.src/test/Transforms/InstCombine/fmul.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/mul.ll (diff)llvm.src/test/Transforms/InstCombine/mul.ll
Revision 375417 by dmgreen:
[Types] Define a getWithNewBitWidth for Types and make use of it

This is designed to change the bitwidth of a type without altering the number
of vector lanes. Also useful in D68651. Otherwise an NFC.

Differential Revision: https://reviews.llvm.org/D69139
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h (diff)llvm.src/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/include/llvm/IR/DerivedTypes.h (diff)llvm.src/include/llvm/IR/DerivedTypes.h
The file was modified/llvm/trunk/include/llvm/IR/Type.h (diff)llvm.src/include/llvm/IR/Type.h
Revision 375416 by gchatelet:
[Alignment][NFC] Instructions::getLoadStoreAlignment

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69256
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Instructions.h (diff)llvm.src/include/llvm/IR/Instructions.h
The file was modified/llvm/trunk/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp (diff)llvm.src/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modified/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)llvm.src/lib/Transforms/Vectorize/LoopVectorize.cpp
Revision 375414 by dmgreen:
[ARM] Extra qdadd patterns

This adds some new qdadd patterns to go along with the other recently added
qadd's.

Differential Revision: https://reviews.llvm.org/D68999
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (diff)llvm.src/lib/Target/ARM/ARMInstrInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td (diff)llvm.src/lib/Target/ARM/ARMInstrThumb2.td
The file was modified/llvm/trunk/test/CodeGen/ARM/qdadd.ll (diff)llvm.src/test/CodeGen/ARM/qdadd.ll
Revision 375413 by gchatelet:
[Alignment][NFC] Add a helper function to DataLayout

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69258
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DataLayout.h (diff)llvm.src/include/llvm/IR/DataLayout.h
The file was modified/llvm/trunk/unittests/IR/DataLayoutTest.cpp (diff)llvm.src/unittests/IR/DataLayoutTest.cpp
Revision 375412 by gbreynoo:
[docs][llvm-ar] Update llvm-ar command guide

The llvm-ar command guide had not been updated in some time, it was
missing current functionality and contained information that was out
of date. This change:
- Updates the use of reStructuredText directives, as seen in other tools
  command guides.
- Updates the command synopsis.
- Updates the descriptions of the tool behaviour.
- Updates the options section.
- Adds details of MRI script functionality.
- Removes the sections "Standards" and "File Format"

Differential Revision: https://reviews.llvm.org/D68998
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-ar.rst (diff)llvm.src/docs/CommandGuide/llvm-ar.rst
Revision 375411 by dmgreen:
[ARM] Add qadd lowering from a sadd_sat

This lowers a sadd_sat to a qadd by treating it as legal. Also adds qsub at the
same time.

The qadd instruction sets the q flag, but we already have many cases where we
do not model this in llvm.

Differential Revision: https://reviews.llvm.org/D68976
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (diff)llvm.src/lib/Target/ARM/ARMInstrInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td (diff)llvm.src/lib/Target/ARM/ARMInstrThumb2.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.h (diff)llvm.src/lib/Target/ARM/ARMSubtarget.h
The file was modified/llvm/trunk/test/CodeGen/ARM/qdadd.ll (diff)llvm.src/test/CodeGen/ARM/qdadd.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat_plus.ll
Revision 375410 by gchatelet:
[Alignment][NFC] TargetCallingConv::setByValAlign

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69248
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetCallingConv.h (diff)llvm.src/include/llvm/CodeGen/TargetCallingConv.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Revision 375409 by foad:
Simplify usage of setFPAttrs.

In some cases using the return value of setFPAttrs simplifies the code.
In other cases it complicates the code with ugly casts, so stop doing
it. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IRBuilder.h (diff)llvm.src/include/llvm/IR/IRBuilder.h
Revision 375408 by grimar:
[llvm/Object] - Make ELFObjectFile::getRelocatedSection return Expected<section_iterator>

It returns just a section_iterator currently and have a report_fatal_error call inside.
This change adds a way to return errors and handle them on caller sides.

The patch also changes/improves current users and adds test cases.

Differential revision: https://reviews.llvm.org/D69167
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Object/ELFObjectFile.h (diff)llvm.src/include/llvm/Object/ELFObjectFile.h
The file was modified/llvm/trunk/include/llvm/Object/ObjectFile.h (diff)llvm.src/include/llvm/Object/ObjectFile.h
The file was modified/llvm/trunk/lib/DebugInfo/DWARF/DWARFContext.cpp (diff)llvm.src/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp (diff)llvm.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp (diff)llvm.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
The file was modified/llvm/trunk/lib/Object/ObjectFile.cpp (diff)llvm.src/lib/Object/ObjectFile.cpp
The file was added/llvm/trunk/test/tools/llvm-cxxdump/broken-reloc-sec.testllvm.src/test/tools/llvm-cxxdump/broken-reloc-sec.test
The file was added/llvm/trunk/test/tools/llvm-dwarfdump/elf-broken-reloc-target.yamlllvm.src/test/tools/llvm-dwarfdump/elf-broken-reloc-target.yaml
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test (diff)llvm.src/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test
The file was modified/llvm/trunk/test/tools/llvm-objdump/relocations-elf.test (diff)llvm.src/test/tools/llvm-objdump/relocations-elf.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/stack-sizes.test (diff)llvm.src/test/tools/llvm-readobj/stack-sizes.test
The file was modified/llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp (diff)llvm.src/tools/llvm-cxxdump/llvm-cxxdump.cpp
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (diff)llvm.src/tools/llvm-objdump/llvm-objdump.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 375407 by gchatelet:
[Alignment][NFC] TargetCallingConv::setOrigAlign and TargetLowering::getABIAlignmentForCallingConv

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: sdardis, hiraditya, jrtc27, atanasyan, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69243
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetCallingConv.h (diff)llvm.src/include/llvm/CodeGen/TargetCallingConv.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMCallLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMCallLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMFastISel.cpp (diff)llvm.src/lib/Target/ARM/ARMFastISel.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.h (diff)llvm.src/lib/Target/ARM/ARMISelLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsCallLowering.cpp (diff)llvm.src/lib/Target/Mips/MipsCallLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsISelLowering.h (diff)llvm.src/lib/Target/Mips/MipsISelLowering.h
Revision 375406 by David CARLIER:
Fix llvm signal tests build.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Support/SignalsTest.cpp (diff)llvm.src/unittests/Support/SignalsTest.cpp
Revision 375405 by grimar:
[obj2yaml] - Fix a comment. NFC.

I forgot to address this nit before committing..
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/obj2yaml/invalid-section-name.yaml (diff)llvm.src/test/tools/obj2yaml/invalid-section-name.yaml
Revision 375404 by grimar:
[obj2yaml] - Stop triggering UB when dumping corrupted strings.

We have a following code to find quote type:

if (isspace(S.front()) || isspace(S.back()))
...

Problem is that:

"int isspace( int ch ): The behavior is undefined if the value of
ch is not representable as unsigned char and is not equal to EOF."
(https://en.cppreference.com/w/cpp/string/byte/isspace)

This patch shows how this UB can be triggered and fixes an issue.

Differential revision: https://reviews.llvm.org/D69160
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/YAMLTraits.h (diff)llvm.src/include/llvm/Support/YAMLTraits.h
The file was added/llvm/trunk/test/tools/obj2yaml/invalid-section-name.yamlllvm.src/test/tools/obj2yaml/invalid-section-name.yaml
Revision 375403 by lenary:
[MemCpyOpt] Fixing Incorrect Code Motion while Handling Aggregate Type Values

Summary:
When MemCpyOpt is handling aggregate type values, if an instruction (let's call it P) between the targeting load (L) and store (S) clobbers the source pointer of L, it will try to hoist S before P. This process will also hoist S's data dependency instructions.

However, the current implementation has a bug that if one of S's dependency instructions is //also// a user of P, MemCpyOpt will not prevent it from being hoisted above P and cause a use-before-define error. For example, in the newly added test file (i.e. `aggregate-type-crash.ll`), it will try to hoist both `store %my_struct %1, %my_struct* %3` and its dependent, `%3 = bitcast i8* %2 to %my_struct*`, above `%2 = call i8* @my_malloc(%my_struct* %0)`. Creating the following BB:
```
entry:
  %1 = bitcast i8* %4 to %my_struct*
  %2 = bitcast %my_struct* %1 to i8*
  %3 = bitcast %my_struct* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %2, i8* align 4 %3, i64 8, i1 false)
  %4 = call i8* @my_malloc(%my_struct* %0)
  ret void
```
Where there is a use-before-define error between `%1` and `%4`.

Update: The compiler for the Pony Programming Language [also encounter the same bug](https://github.com/ponylang/ponyc/issues/3140)

Patch by Min-Yih Hsu (myhsu)

Reviewers: eugenis, pcc, dblaikie, dneilson, t.p.northover, lattner

Reviewed By: eugenis

Subscribers: lenary, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66060
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cpp (diff)llvm.src/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was added/llvm/trunk/test/Transforms/MemCpyOpt/aggregate-type-crash.llllvm.src/test/Transforms/MemCpyOpt/aggregate-type-crash.ll
Revision 375402 by dmgreen:
[ARM] Lower sadd_sat to qadd8 and qadd16

Lower the target independent signed saturating intrinsics to qadd8 and qadd16.
This custom lowers them from a sadd_sat, catching the node early before it is
promoted. It also adds a QADD8b and QADD16b node to mean the bottom "lane" of a
qadd8/qadd16, so that we can call demand bits on it to show that it does not
use the upper bits.

Also handles QSUB8 and QSUB16.

Differential Revision: https://reviews.llvm.org/D68974
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.h (diff)llvm.src/lib/Target/ARM/ARMISelLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (diff)llvm.src/lib/Target/ARM/ARMInstrInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td (diff)llvm.src/lib/Target/ARM/ARMInstrThumb2.td
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat_plus.ll
Revision 375401 by dmgreen:
[ARM] Add and adjust saturation tests for upcoming qadd changes. NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/ARM/qdadd.llllvm.src/test/CodeGen/ARM/qdadd.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat.ll
Revision 375398 by gchatelet:
Use Align for TFL::TransientStackAlignment

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: arsenm, dschuff, jyknight, sdardis, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, jrtc27, atanasyan, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69216
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetFrameLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetFrameLowering.h
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolution.cpp (diff)llvm.src/lib/Analysis/ScalarEvolution.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64FrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUFrameLowering.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUFrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600FrameLowering.h (diff)llvm.src/lib/Target/AMDGPU/R600FrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFrameLowering.h (diff)llvm.src/lib/Target/AMDGPU/SIFrameLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonFrameLowering.h (diff)llvm.src/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430FrameLowering.h (diff)llvm.src/lib/Target/MSP430/MSP430FrameLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsFrameLowering.h (diff)llvm.src/lib/Target/Mips/MipsFrameLowering.h
The file was modified/llvm/trunk/lib/Target/Sparc/SparcFrameLowering.cpp (diff)llvm.src/lib/Target/Sparc/SparcFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyFrameLowering.h (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
Revision 375397 by lebedevri:
[NFC][InstCombine] Fixup comments

As noted in post-commit review of rL375378375378.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Revision 375396 by lebedevri:
[CVP] Deduce no-wrap on `mul`

Summary:
`ConstantRange::makeGuaranteedNoWrapRegion()` knows how to deal with `mul`
since rL335646, there is exhaustive test coverage.
This is already used by CVP's `processOverflowIntrinsic()`,
and by SCEV's `StrengthenNoWrapFlags()`

That being said, currently, this doesn't help much in the end:
| statistic                              |     old |     new | delta | percentage |
| correlated-value-propagation.NumMulNSW |       4 |     275 |   271 |   6775.00% |
| correlated-value-propagation.NumMulNUW |       4 |    1323 |  1319 |  32975.00% |
| correlated-value-propagation.NumMulNW  |       8 |    1598 |  1590 |  19875.00% |
| correlated-value-propagation.NumNSW    |    5715 |    5986 |   271 |      4.74% |
| correlated-value-propagation.NumNUW    |    9193 |   10512 |  1319 |     14.35% |
| correlated-value-propagation.NumNW     |   14908 |   16498 |  1590 |     10.67% |
| instcount.NumAddInst                   |  275871 |  275869 |    -2 |      0.00% |
| instcount.NumBrInst                    |  708234 |  708232 |    -2 |      0.00% |
| instcount.NumMulInst                   |   43812 |   43810 |    -2 |      0.00% |
| instcount.NumPHIInst                   |  316786 |  316784 |    -2 |      0.00% |
| instcount.NumTruncInst                 |   62165 |   62167 |     2 |      0.00% |
| instcount.NumUDivInst                  |    2528 |    2526 |    -2 |     -0.08% |
| instcount.TotalBlocks                  |  842995 |  842993 |    -2 |      0.00% |
| instcount.TotalInsts                   | 7376486 | 7376478 |    -8 |      0.00% |
(^ test-suite plain, tests still pass)

Reviewers: nikic, reames, luqmana, sanjoy, timshen

Reviewed By: reames

Subscribers: hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69203
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp (diff)llvm.src/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modified/llvm/trunk/test/Transforms/CorrelatedValuePropagation/mul.ll (diff)llvm.src/test/Transforms/CorrelatedValuePropagation/mul.ll
Revision 375395 by Piotr Sobczak:
[InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts

Summary:
Allow for ignoring the check for a single use in SimplifyDemandedVectorElts
to be able to simplify operands if DemandedElts is known to contain
the union of elements used by all users.
It is a responsibility of a caller of SimplifyDemandedVectorElts to
supply correct DemandedElts.

Simplify a series of extractelement instructions if only a subset of
elements is used.

Reviewers: reames, arsenm, majnemer, nhaehnle

Reviewed By: nhaehnle

Subscribers: wdng, jvesely, nhaehnle, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67345
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineInternal.h (diff)llvm.src/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineVectorOps.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll (diff)llvm.src/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
Revision 375393 by gnsyncbot:
gn build: Merge r375390
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/lld/Common/BUILD.gn (diff)llvm.src/utils/gn/secondary/lld/Common/BUILD.gn
Revision 375392 by mstorsjo:
[LLDB] [Windows] Initial support for ARM register contexts

Differential Revision: https://reviews.llvm.org/D69226
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt (diff)N/A
The file was added/lldb/trunk/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cppN/A
The file was added/lldb/trunk/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.hN/A
The file was modified/lldb/trunk/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp (diff)N/A
The file was added/lldb/trunk/source/Plugins/Process/Windows/Common/armN/A
The file was added/lldb/trunk/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cppN/A
The file was added/lldb/trunk/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.hN/A
The file was added/lldb/trunk/test/Shell/Register/Inputs/arm-fp-read.cppN/A
The file was added/lldb/trunk/test/Shell/Register/Inputs/arm-gp-read.cppN/A
The file was added/lldb/trunk/test/Shell/Register/arm-fp-read.testN/A
The file was added/lldb/trunk/test/Shell/Register/arm-gp-read.testN/A
The file was modified/llvm/trunk/utils/lit/lit/llvm/config.py (diff)llvm.src/utils/lit/lit/llvm/config.py
Revision 375389 by yrouban:
[IR] Fix mayReadFromMemory() for writeonly calls

Current implementation of Instruction::mayReadFromMemory()
returns !doesNotAccessMemory() which is !ReadNone. This
does not take into account that the writeonly attribute
also indicates that the call does not read from memory.

The patch changes the predicate to !doesNotReadMemory()
that reflects the intended behavior.

Differential Revision: https://reviews.llvm.org/D69086
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/IR/Instruction.cpp (diff)llvm.src/lib/IR/Instruction.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll (diff)llvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
The file was added/llvm/trunk/test/Transforms/EarlyCSE/writeonly.llllvm.src/test/Transforms/EarlyCSE/writeonly.ll
Revision 375386 by yhs:
[BPF] fix indirect call assembly code

Currently, for indirect call, the assembly code printed out as
  callx <imm>
This is not right, it should be
  callx <reg>

Fixed the issue with proper format.

Differential Revision: https://reviews.llvm.org/D69229
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/BPF/BPFInstrInfo.td (diff)llvm.src/lib/Target/BPF/BPFInstrInfo.td
The file was added/llvm/trunk/test/CodeGen/BPF/callx.llllvm.src/test/CodeGen/BPF/callx.ll
Revision 375384 by jdoerfert:
[Attributor][FIX] Silence sign-compare warning
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
Revision 375382 by jdoerfert:
[Attributor] Teach AANoCapture to use information in-flight more aggressively

AAReturnedValues, AAMemoryBehavior, and AANoUnwind, can provide
information that helps during the tracking or even justifies no-capture.
We now use this information and enable no-capture in some test cases
designed a long while a ago for these cases.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_nocapture.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_nocapture.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nocapture.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nocapture.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nonnull.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nonnull.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll (diff)llvm.src/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
Revision 375381 by ctopper:
[X86] Check Subtarget.hasSSE3() before calling shouldUseHorizontalOp and emitting X86ISD::FHADD in LowerUINT_TO_FP_i64.

This was a regression from r375341.

Fixes PR43729.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/scalar-int-to-fp.ll (diff)llvm.src/test/CodeGen/X86/scalar-int-to-fp.ll
Revision 375380 by reames:
[IndVars] Add a todo to reflect a further oppurtunity identified in D69009

Nikita pointed out an oppurtunity, might as well document it in the code.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 375379 by reames:
[IndVars] Eliminate loop exits with equivalent exit counts

We can end up with two loop exits whose exit counts are equivalent, but whose textual representation is different and non-obvious. For the sub-case where we have a series of exits which dominate one another (common), eliminate any exits which would iterate *after* a previous exit on the exiting iteration.

As noted in the TODO being removed, I'd always thought this was a good idea, but I've now seen this in a real workload as well.

Interestingly, in review, Nikita pointed out there's let another oppurtunity to leverage SCEV's reasoning.  If we kept track of the min of dominanting exits so far, we could discharge exits with EC >= MDE.  This is less powerful than the existing transform (since later exits aren't considered), but potentially more powerful for any case where SCEV can prove a >= b, but neither a == b or a > b.  I don't have an example to illustrate that oppurtunity, but won't be suprised if we find one and return to handle that case as well. 

Differential Revision: https://reviews.llvm.org/D69009
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/eliminate-exit.ll (diff)llvm.src/test/Transforms/IndVarSimplify/eliminate-exit.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/loop-predication.ll (diff)llvm.src/test/Transforms/IndVarSimplify/loop-predication.ll
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/pr38674.ll (diff)llvm.src/test/Transforms/IndVarSimplify/pr38674.ll