Revision
354306
by maskray:
[Dominators] Fix and optimize edge insertion of depth-based search Summary: After (x,y) is inserted, depth-based search finds all affected v that satisfies: depth(nca(x,y))+1 < depth(v) && there exists a path P from y to v where every w on P satisfies depth(v) <= depth(w) This reduces to a widest path problem (maximizing the depth of the minimum vertex in the path) which can be solved by a modified version of Dijkstra with a bucket queue (named depth-based search in the paper). The algorithm visits vertices in decreasing order of bucket number. However, the current code misused priority_queue to extract them in increasing order. I cannot think of a failing scenario but it surely may process vertices more than once due to the local usage of Processed. This patch fixes this bug and simplifies/optimizes the code a bit. Also add more comments. Reviewers: kuhar Reviewed By: kuhar Subscribers: kristina, jdoerfert, llvm-commits, NutshellySima, brzycki Tags: #llvm Differential Revision: https://reviews.llvm.org/D58349 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/Support/GenericDomTreeConstruction.h (diff) | llvm.src/include/llvm/Support/GenericDomTreeConstruction.h |
Revision
354304
by ctopper:
[X86] Remove command line strings from the ProcIntel* features. These should always follow the CPU string. There's no reason to control them independently. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Target/X86/X86.td (diff) | llvm.src/lib/Target/X86/X86.td |
Revision
354299
by paquette:
[GlobalISel][AArch64] Legalize + select some llvm.ctlz.* intrinsics Legalize/select llvm.ctlz.* Add select-ctlz to show that we actually select them. Update arm64-clrsb.ll and arm64-vclz.ll to show that we perform valid transformations in optimized builds, and document where GISel can improve. Differential Revision: https://reviews.llvm.org/D58155 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff) | llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | /llvm/trunk/lib/Target/AArch64/AArch64LegalizerInfo.cpp (diff) | llvm.src/lib/Target/AArch64/AArch64LegalizerInfo.cpp |
 | /llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir (diff) | llvm.src/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir |
 | /llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-ctlz.mir | llvm.src/test/CodeGen/AArch64/GlobalISel/select-ctlz.mir |
 | /llvm/trunk/test/CodeGen/AArch64/arm64-clrsb.ll (diff) | llvm.src/test/CodeGen/AArch64/arm64-clrsb.ll |
 | /llvm/trunk/test/CodeGen/AArch64/arm64-vclz.ll (diff) | llvm.src/test/CodeGen/AArch64/arm64-vclz.ll |
Revision
354298
by spatel:
[CGP] form usub with overflow from sub+icmp The motivating x86 cases for forming the intrinsic are shown in PR31754 and PR40487: https://bugs.llvm.org/show_bug.cgi?id=31754 https://bugs.llvm.org/show_bug.cgi?id=40487 ..and those are shown in the IR test file and x86 codegen file. Matching the usubo pattern is harder than uaddo because we have 2 independent values rather than a def-use. This adds a TLI hook that should preserve the existing behavior for uaddo formation, but disables usubo formation by default. Only x86 overrides that setting for now although other targets will likely benefit by forming usbuo too. Differential Revision: https://reviews.llvm.org/D57789 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff) | llvm.src/include/llvm/CodeGen/TargetLowering.h |
 | /llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp (diff) | llvm.src/lib/CodeGen/CodeGenPrepare.cpp |
 | /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff) | llvm.src/lib/Target/X86/X86ISelLowering.cpp |
 | /llvm/trunk/lib/Target/X86/X86ISelLowering.h (diff) | llvm.src/lib/Target/X86/X86ISelLowering.h |
 | /llvm/trunk/test/CodeGen/X86/cgp-usubo.ll (diff) | llvm.src/test/CodeGen/X86/cgp-usubo.ll |
 | /llvm/trunk/test/CodeGen/X86/lsr-loop-exit-cond.ll (diff) | llvm.src/test/CodeGen/X86/lsr-loop-exit-cond.ll |
 | /llvm/trunk/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll (diff) | llvm.src/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll |
Revision
354296
by jkorous:
[clang][test] Fix FileManagerTest.getFileDontOpenRealPath for Windows |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/unittests/Basic/FileManagerTest.cpp (diff) | clang.src/unittests/Basic/FileManagerTest.cpp |
Revision
354295
by chfang:
AMDGPU: Use MachineInstr::mayAlias to replace areMemAccessesTriviallyDisjoint in LoadStoreOptimizer pass. Summary: This is to fix a memory dependence bug in LoadStoreOptimizer. Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D58295 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (diff) | llvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | /llvm/trunk/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp (diff) | llvm.src/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp |
 | /llvm/trunk/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll | llvm.src/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll |
Revision
354293
by arsenm:
GlobalISel: Implement widenScalar for g_extract scalar results |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h (diff) | llvm.src/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h |
 | /llvm/trunk/include/llvm/IR/DataLayout.h (diff) | llvm.src/include/llvm/IR/DataLayout.h |
 | /llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff) | llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | /llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff) | llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | /llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir (diff) | llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir |
Revision
354292
by arsenm:
GlobalISel: Make buildExtract use DstOp/SrcOp |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h (diff) | llvm.src/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h |
 | /llvm/trunk/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp (diff) | llvm.src/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp |
Revision
354291
by jkorous:
Reland "[clang][FileManager] fillRealPathName even if we aren't opening the file" This reverts commit e2bb3121fd4ab5b01f9ec1d2e3e9877db9c6a54c. + fixed test for Windows |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/lib/Basic/FileManager.cpp (diff) | clang.src/lib/Basic/FileManager.cpp |
 | /cfe/trunk/unittests/Basic/FileManagerTest.cpp (diff) | clang.src/unittests/Basic/FileManagerTest.cpp |
Revision
354290
by yln:
[LSan][Darwin][NFC] Add comment explaining test failure |
Change Type | Path in Repository | Path in Workspace |
---|
 | /compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc (diff) | compiler-rt.src/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc |
Revision
354282
by yln:
[Sanitizer] On Darwin `__sanitizer_print_stack_trace` only prints topmost frame In compiler-rt we have the notion of a `fast` and a `slow` stack unwinder. Darwin currently only supports the fast unwinder. From reading the code, my understanding is that `BufferedStackTrace::Unwind` can be called with `bp=0, stack_top=0, stack_bottom=0, request_fast_unwind=false`. If `request_fast_unwind=true`, then we alos need to supply bp, stack_top, and stack_bottom. However, `BufferedStackTrace::Unwind` uses `StackTrace::WillUseFastUnwind` which will adapt `request_fast_unwind` if the requested unwinder is not supported. On Darwin, the result is that we don't pass actual values for bp, stack_top, and stack_bottom, but end up using the fast unwinder. The tests then fail because we only print the topmost stack frame. This patch adds a check to `WillUseFastUnwind` at the point of usage to avoid the mismatch between `request_fast_unwind` and what `Unwind` actually does. I am also interested in cleaning up the `request_fast_unwind` machinery so this patch just the simplest thing possible so I can enable the tests. Reviewers: vitalybuka, vsk Differential Revision: https://reviews.llvm.org/D58156 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /compiler-rt/trunk/lib/sanitizer_common/sanitizer_stacktrace.cc (diff) | compiler-rt.src/lib/sanitizer_common/sanitizer_stacktrace.cc |
 | /compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_report.cc (diff) | compiler-rt.src/lib/tsan/rtl/tsan_rtl_report.cc |
 | /compiler-rt/trunk/lib/ubsan/ubsan_diag_standalone.cc (diff) | compiler-rt.src/lib/ubsan/ubsan_diag_standalone.cc |
 | /compiler-rt/trunk/test/sanitizer_common/TestCases/Darwin/print-stack-trace.cc (diff) | compiler-rt.src/test/sanitizer_common/TestCases/Darwin/print-stack-trace.cc |
 | /compiler-rt/trunk/test/sanitizer_common/TestCases/symbolize_stack.cc (diff) | compiler-rt.src/test/sanitizer_common/TestCases/symbolize_stack.cc |
Revision
354280
by arsenm:
GlobalISel: Fix double count of offset for irregular vector breakdowns Fixes cases with odd vectors that break into multiple requested size pieces. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff) | llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | /llvm/trunk/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp (diff) | llvm.src/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp |
Revision
354279
by spatel:
[x86] split more v8f32/v8i32 shuffles in lowering Similar to D57867 - this is a small patch with lots of test diffs. With half-vector-width narrowing potential, using an extract + 128-bit vshufps is a win because it replaces a 256-bit shuffle with a 128-bit shufle. This seems like it should be a win even for targets with 'fast-variable-shuffle', but we are intentionally deferring that to an independent change to make sure that is true. Differential Revision: https://reviews.llvm.org/D58181 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff) | llvm.src/lib/Target/X86/X86ISelLowering.cpp |
 | /llvm/trunk/test/CodeGen/X86/avx2-conversions.ll (diff) | llvm.src/test/CodeGen/X86/avx2-conversions.ll |
 | /llvm/trunk/test/CodeGen/X86/avx2-vector-shifts.ll (diff) | llvm.src/test/CodeGen/X86/avx2-vector-shifts.ll |
 | /llvm/trunk/test/CodeGen/X86/combine-shl.ll (diff) | llvm.src/test/CodeGen/X86/combine-shl.ll |
 | /llvm/trunk/test/CodeGen/X86/combine-sra.ll (diff) | llvm.src/test/CodeGen/X86/combine-sra.ll |
 | /llvm/trunk/test/CodeGen/X86/combine-srl.ll (diff) | llvm.src/test/CodeGen/X86/combine-srl.ll |
 | /llvm/trunk/test/CodeGen/X86/oddshuffles.ll (diff) | llvm.src/test/CodeGen/X86/oddshuffles.ll |
 | /llvm/trunk/test/CodeGen/X86/reduce-trunc-shl.ll (diff) | llvm.src/test/CodeGen/X86/reduce-trunc-shl.ll |
 | /llvm/trunk/test/CodeGen/X86/shuffle-vs-trunc-256-widen.ll (diff) | llvm.src/test/CodeGen/X86/shuffle-vs-trunc-256-widen.ll |
 | /llvm/trunk/test/CodeGen/X86/shuffle-vs-trunc-256.ll (diff) | llvm.src/test/CodeGen/X86/shuffle-vs-trunc-256.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-math-widen.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-math-widen.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-math.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-math.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-packus-widen.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-packus-widen.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-packus.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-packus.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-ssat-widen.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-ssat-widen.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-ssat.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-ssat.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-usat-widen.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-usat-widen.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-usat.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-usat.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc-widen.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc-widen.ll |
 | /llvm/trunk/test/CodeGen/X86/vector-trunc.ll (diff) | llvm.src/test/CodeGen/X86/vector-trunc.ll |
Revision
354277
by spatel:
Revert "[InstCombine] reduce even more unsigned saturated add with 'not' op" This reverts commit 079b610c29b4a428b3ae7b64dbac0378facf6632. Bots are failing after this change on a stage 2 compile of clang. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Transforms/InstCombine/InstCombineSelect.cpp (diff) | llvm.src/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | /llvm/trunk/test/Transforms/InstCombine/saturating-add-sub.ll (diff) | llvm.src/test/Transforms/InstCombine/saturating-add-sub.ll |
Revision
354276
by spatel:
[InstCombine] reduce even more unsigned saturated add with 'not' op We want to use the sum in the icmp to allow matching with m_UAddWithOverflow and eliminate the 'not'. This is discussed in D51929 and is another step towards solving PR14613: https://bugs.llvm.org/show_bug.cgi?id=14613 Name: uaddsat, -1 fval %notx = xor i32 %x, -1 %a = add i32 %x, %y %c = icmp ugt i32 %notx, %y %r = select i1 %c, i32 %a, i32 -1 => %a = add i32 %x, %y %c2 = icmp ugt i32 %y, %a %r = select i1 %c2, i32 -1, i32 %a Name: uaddsat, -1 fval + ult %notx = xor i32 %x, -1 %a = add i32 %x, %y %c = icmp ult i32 %y, %notx %r = select i1 %c, i32 %a, i32 -1 => %a = add i32 %x, %y %c2 = icmp ugt i32 %y, %a %r = select i1 %c2, i32 -1, i32 %a https://rise4fun.com/Alive/nTp |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Transforms/InstCombine/InstCombineSelect.cpp (diff) | llvm.src/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | /llvm/trunk/test/Transforms/InstCombine/saturating-add-sub.ll (diff) | llvm.src/test/Transforms/InstCombine/saturating-add-sub.ll |
Revision
354272
by kadircet:
[clangd] Add tests for template specializations Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58190 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /clang-tools-extra/trunk/unittests/clangd/XRefsTests.cpp (diff) | clang-tools-extra.src/unittests/clangd/XRefsTests.cpp |
Revision
354271
by adibiagio:
[MCA] Correctly update register definitions in the PRF after move elimination. This patch fixes a bug where register writes performed by optimizable register moves were sometimes wrongly treated like partial register updates. Before this patch, llvm-mca wrongly predicted a 1.50 IPC for test reg-move-elimination-6.s (added by this patch). With this patch, llvm-mca correctly updates the register defintions in the PRF, and the IPC for that test is now correctly reported as 2. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/MCA/HardwareUnits/RegisterFile.cpp (diff) | llvm.src/lib/MCA/HardwareUnits/RegisterFile.cpp |
 | /llvm/trunk/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-6.s | llvm.src/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-6.s |
Revision
354270
by grimar:
[llvm-readobj] - Simplify .gnu.version_d dumping. This is similar to D58048. Instead of scanning the dynamic table to read the DT_VERDEFNUM, we could take it from the sh_info field. (https://docs.oracle.com/cd/E19683-01/816-1386/chapter6-94076/index.html) The patch does this. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff) | llvm.src/tools/llvm-readobj/ELFDumper.cpp |
Revision
354268
by ioeric:
[clangd] Cache include fixes for diagnostics caused by the same unresolved name or incomplete type. Summary: Multiple diagnostics can be caused by the same unresolved name or incomplete type, especially if the code is copy-pasted without #includes. The cache can avoid making repetitive index requests, and thus reduce latency and allow more diagnostics to be fixed (we limit the number of index requests for each parse). Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58239 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /clang-tools-extra/trunk/clangd/IncludeFixer.cpp (diff) | clang-tools-extra.src/clangd/IncludeFixer.cpp |
 | /clang-tools-extra/trunk/clangd/IncludeFixer.h (diff) | clang-tools-extra.src/clangd/IncludeFixer.h |
 | /clang-tools-extra/trunk/unittests/clangd/DiagnosticsTests.cpp (diff) | clang-tools-extra.src/unittests/clangd/DiagnosticsTests.cpp |
Revision
354267
by martong:
[ASTImporter] Find previous friend function template Reviewers: a_sidorin, shafik, a.sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57910 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/lib/AST/ASTImporter.cpp (diff) | clang.src/lib/AST/ASTImporter.cpp |
 | /cfe/trunk/unittests/AST/ASTImporterTest.cpp (diff) | clang.src/unittests/AST/ASTImporterTest.cpp |
|
Change Type | Path in Repository | Path in Workspace |
---|
 | /clang-tools-extra/trunk/docs/clang-tidy/index.rst (diff) | clang-tools-extra.src/docs/clang-tidy/index.rst |
Revision
354265
by olista01:
[ARM] Add pre-defined macros for ROPI and RWPI This adds ACLE-defined macros to test for code being compiled in the ROPI and RWPI position-independence modes. Differential revision: https://reviews.llvm.org/D23610 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/include/clang/Basic/LangOptions.def (diff) | clang.src/include/clang/Basic/LangOptions.def |
 | /cfe/trunk/include/clang/Driver/Options.td (diff) | clang.src/include/clang/Driver/Options.td |
 | /cfe/trunk/lib/Basic/Targets/ARM.cpp (diff) | clang.src/lib/Basic/Targets/ARM.cpp |
 | /cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff) | clang.src/lib/Driver/ToolChains/Clang.cpp |
 | /cfe/trunk/lib/Frontend/CompilerInvocation.cpp (diff) | clang.src/lib/Frontend/CompilerInvocation.cpp |
 | /cfe/trunk/test/Preprocessor/arm-pic-predefines.c | clang.src/test/Preprocessor/arm-pic-predefines.c |
Revision
354264
by serge_sans_paille:
[NFC] Make Optional<T> trivially copyable when T is trivially copyable This is a follow-up to r354246 and a reimplementation of https://reviews.llvm.org/D57097?id=186600 that should not trigger any UB thanks to the use of an union. This may still be subject to the problem solved by std::launder, but I'm unsure how it interacts whith union. /me plans to revert if this triggers any relevant bot failure. At least this validates in Release mode with clang 6.0.1 and gcc 4.8.5. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/ADT/Optional.h (diff) | llvm.src/include/llvm/ADT/Optional.h |
 | /llvm/trunk/unittests/ADT/OptionalTest.cpp (diff) | llvm.src/unittests/ADT/OptionalTest.cpp |
Revision
354262
by kadircet:
[clang][Index] Fix usage of IndexImplicitInstantiation Summary: Indexing context was skipping explicit template instantiations as well. This patch makes sure it only skips implicit ones. Subscribers: arphaman, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58189 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/lib/Index/IndexTypeSourceInfo.cpp (diff) | clang.src/lib/Index/IndexTypeSourceInfo.cpp |
 | /cfe/trunk/test/Index/Core/index-source.cpp (diff) | clang.src/test/Index/Core/index-source.cpp |
 | /cfe/trunk/test/Index/index-refs.cpp (diff) | clang.src/test/Index/index-refs.cpp |
 | /cfe/trunk/unittests/Index/IndexTests.cpp (diff) | clang.src/unittests/Index/IndexTests.cpp |
Revision
354261
by adibiagio:
[MCA] Slightly refactor method writeStartEvent in WriteState and ReadState. NFCI This is another change in preparation for PR37494. No functional change intended. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/MCA/Instruction.h (diff) | llvm.src/include/llvm/MCA/Instruction.h |
 | /llvm/trunk/lib/MCA/HardwareUnits/RegisterFile.cpp (diff) | llvm.src/lib/MCA/HardwareUnits/RegisterFile.cpp |
 | /llvm/trunk/lib/MCA/HardwareUnits/Scheduler.cpp (diff) | llvm.src/lib/MCA/HardwareUnits/Scheduler.cpp |
 | /llvm/trunk/lib/MCA/Instruction.cpp (diff) | llvm.src/lib/MCA/Instruction.cpp |
Revision
354259
by martong:
[ASTImporter] Unify redecl chain tests as type parameterized tests Summary: This patch unifies all those tests which check the correctness of the redecl chains. Previously we had several structurally very similar test cases for each language construct (class, function, variable, function template, ...). We still use value-parameterized tests for the different AST compatibility switches (-fdelayed-template-parsing, -fms-compatibility). Gtest makes it possible to have either value-parameterized or type-parameterized fixtures. However, we cannot have both value- and type-parameterized test fixtures. So we use a value-parameterized test fixture in the gtest sense. We intend to mimic gtest's type-parameters via the type template parameter. We manually instantiate the different tests with the each types. After this patch I am planning to put the "generic redecl chain" related tests into their own separate test file (in another patch). Reviewers: a_sidorin, shafik, a.sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Differential Revision: https://reviews.llvm.org/D57236 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/unittests/AST/ASTImporterTest.cpp (diff) | clang.src/unittests/AST/ASTImporterTest.cpp |