SuccessChanges

Summary

  1. [ORC] Add custom IR compiler configuration to LLJITBuilder to enable obj caches. LLJITBuilder now has a setCompileFunctionCreator method which can be used to construct a CompileFunction for the LLJIT instance being created. The motivating use-case for this is supporting ObjectCaches, which can now be set up at compile-function construction time. To demonstrate this an example project, LLJITWithObjectCache, is included.
  2. [X86] Regenerate tests. NFCI. Hasn't been regenerated since the update script could merge 32/64-bit checks.
  3. [X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC
  4. [TargetLowering] support BlockAddress as "i" inline asm constraint Summary: This allows passing address of labels to inline assembly "i" input constraints. Fixes pr/42502. Reviewers: ostannard Reviewed By: ostannard Subscribers: void, echristo, nathanchance, ostannard, javed.absar, hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D64167
  5. [NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests
Revision 365671 by Lang Hames:
[ORC] Add custom IR compiler configuration to LLJITBuilder to enable obj caches.

LLJITBuilder now has a setCompileFunctionCreator method which can be used to
construct a CompileFunction for the LLJIT instance being created. The motivating
use-case for this is supporting ObjectCaches, which can now be set up at
compile-function construction time. To demonstrate this an example project,
LLJITWithObjectCache, is included.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/examples/CMakeLists.txttrunk/examples/CMakeLists.txt
The file was modified/llvm/trunk/examples/HowToUseLLJIT/HowToUseLLJIT.cpptrunk/examples/HowToUseLLJIT/HowToUseLLJIT.cpp
The file was added/llvm/trunk/examples/LLJITExamplestrunk/examples/LLJITExamples
The file was added/llvm/trunk/examples/LLJITExamples/CMakeLists.txttrunk/examples/LLJITExamples/CMakeLists.txt
The file was added/llvm/trunk/examples/LLJITExamples/ExampleModules.htrunk/examples/LLJITExamples/ExampleModules.h
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCachetrunk/examples/LLJITExamples/LLJITWithObjectCache
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txttrunk/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txt
The file was added/llvm/trunk/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cpptrunk/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cpp
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileUtils.htrunk/include/llvm/ExecutionEngine/Orc/CompileUtils.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/LLJIT.htrunk/include/llvm/ExecutionEngine/Orc/LLJIT.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cpptrunk/lib/ExecutionEngine/Orc/LLJIT.cpp
Revision 365670 by rksimon:
[X86] Regenerate tests. NFCI.

Hasn't been regenerated since the update script could merge 32/64-bit checks.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-intrinsics-canonical.lltrunk/test/CodeGen/X86/avx2-intrinsics-canonical.ll
Revision 365667 by ctopper:
[X86] Add tests for an alternative sequence for _mm_storel_pi/_mm_storeh_pi intrinsics. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.lltrunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
Revision 365664 by nickdesaulniers:
[TargetLowering] support BlockAddress as "i" inline asm constraint

Summary:
This allows passing address of labels to inline assembly "i" input
constraints.

Fixes pr/42502.

Reviewers: ostannard

Reviewed By: ostannard

Subscribers: void, echristo, nathanchance, ostannard, javed.absar, hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64167
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpptrunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/inline-asm-blockaddress.lltrunk/test/CodeGen/AArch64/inline-asm-blockaddress.ll
Revision 365663 by lebedevri:
[NFC][InstCombine] Fixup some tests in just-added "omit mask before left-shift" tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.lltrunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.lltrunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.lltrunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll

Summary

  1. [X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform the store as a <2 x float> instead of i64. This is similar to what we do for loadl_pi and loadh_pi.
  2. [X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only intrinsics when compiled for 32-bit mode. All the command lines are for 64-bit mode, but sometimes I compile the tests in 32-bit mode to see what assembly we get and we need to skip these to do that.
  3. [clang] Preserve names of addrspacecast'ed values. Differential Revision: https://reviews.llvm.org/D63846
Revision 365669 by ctopper:
[X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform the store as a <2 x float> instead of i64.

This is similar to what we do for loadl_pi and loadh_pi.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsX86.deftrunk/include/clang/Basic/BuiltinsX86.def
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpptrunk/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/Headers/xmmintrin.htrunk/lib/Headers/xmmintrin.h
The file was modified/cfe/trunk/test/CodeGen/builtins-x86.ctrunk/test/CodeGen/builtins-x86.c
The file was modified/cfe/trunk/test/CodeGen/sse-builtins.ctrunk/test/CodeGen/sse-builtins.c
Revision 365668 by ctopper:
[X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only intrinsics when compiled for 32-bit mode.

All the command lines are for 64-bit mode, but sometimes I compile
the tests in 32-bit mode to see what assembly we get and we need
to skip these to do that.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/avx-builtins.ctrunk/test/CodeGen/avx-builtins.c
The file was modified/cfe/trunk/test/CodeGen/bmi-builtins.ctrunk/test/CodeGen/bmi-builtins.c
The file was modified/cfe/trunk/test/CodeGen/bmi2-builtins.ctrunk/test/CodeGen/bmi2-builtins.c
The file was modified/cfe/trunk/test/CodeGen/popcnt-builtins.ctrunk/test/CodeGen/popcnt-builtins.c
The file was modified/cfe/trunk/test/CodeGen/rdrand-builtins.ctrunk/test/CodeGen/rdrand-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse-builtins.ctrunk/test/CodeGen/sse-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse2-builtins.ctrunk/test/CodeGen/sse2-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse41-builtins.ctrunk/test/CodeGen/sse41-builtins.c
The file was modified/cfe/trunk/test/CodeGen/sse42-builtins.ctrunk/test/CodeGen/sse42-builtins.c
The file was modified/cfe/trunk/test/CodeGen/tbm-builtins.ctrunk/test/CodeGen/tbm-builtins.c
Revision 365666 by vzakhari:
[clang] Preserve names of addrspacecast'ed values.

Differential Revision: https://reviews.llvm.org/D63846
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cpptrunk/lib/CodeGen/TargetInfo.cpp
The file was modified/cfe/trunk/test/CodeGenCUDA/builtins-amdgcn.cutrunk/test/CodeGenCUDA/builtins-amdgcn.cu
The file was modified/cfe/trunk/test/CodeGenOpenCL/address-spaces-conversions.cltrunk/test/CodeGenOpenCL/address-spaces-conversions.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/address-space-deduction.cltrunk/test/CodeGenOpenCLCXX/address-space-deduction.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-of-this.cltrunk/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-operators.cltrunk/test/CodeGenOpenCLCXX/addrspace-operators.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-references.cltrunk/test/CodeGenOpenCLCXX/addrspace-references.cl
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/template-address-spaces.cltrunk/test/CodeGenOpenCLCXX/template-address-spaces.cl