| /llvm-project-15.0.7/llvm/docs/GlobalISel/ |
| H A D | index.rst | 20 GlobalISel is intended to be a replacement for SelectionDAG and FastISel, to 31 * **Granularity** --- SelectionDAG and FastISel operate on individual basic 36 * **Modularity** --- SelectionDAG and FastISel are radically different and share 74 The initial goal is to replace FastISel on AArch64. The next step will be to 79 SelectionDAG, FastISel, or the other MIR passes. For instance, the types of 85 FastISel Replacement 88 For the initial FastISel replacement, we intend to fallback to SelectionDAG on 91 Currently, compile-time of the fast pipeline is within 1.5x of FastISel. 92 We're optimistic we can get to within 1.1/1.2x, but beating FastISel will be 96 than SelectionDAG+FastISel.
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | FastISel.cpp | 123 void FastISel::startNewBlock() { in startNewBlock() 138 bool FastISel::lowerArguments() { in lowerArguments() 185 void FastISel::flushLocalValueMap() { in flushLocalValueMap() 401 void FastISel::recomputeInsertPt() { in recomputeInsertPt() 435 FastISel::SavePoint FastISel::enterLocalValueArea() { in enterLocalValueArea() 753 FastISel::CallLoweringInfo &FastISel::CallLoweringInfo::setCallee( in setCallee() 1156 bool FastISel::selectCall(const User *I) { in selectCall() 1408 bool FastISel::selectBitCast(const User *I) { in selectBitCast() 1437 bool FastISel::selectFreeze(const User *I) { in selectFreeze() 1811 FastISel::FastISel(FunctionLoweringInfo &FuncInfo, in FastISel() function in FastISel [all …]
|
| H A D | CMakeLists.txt | 3 FastISel.cpp
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | fast-isel-abort-warm.ll | 2 ; Make sure FastISel report a warming when we asked it to do so. 3 ; Note: This test needs to use whatever is not supported by FastISel. 4 ; Thus, this test may fail because inline asm gets supported in FastISel. 9 ; CHECK: remark: <unknown>:0:0: FastISel missed call: call void asm sideeffect 17 ; CHECK: remark: <unknown>:0:0: FastISel missed: store i128 26 ; CHECK-NOT: remark: <unknown>:0:0: FastISel missed
|
| H A D | fast-isel-call.ll | 58 ; STDERR-NOT: FastISel missed call: call x86_thiscallcc void @thiscallfun 74 ; STDERR-NOT: FastISel missed call: call x86_stdcallcc void @stdcallfun
|
| H A D | fast-isel-args-fail2.ll | 5 ; FastISel cannot handle this case yet. Make sure that we abort.
|
| H A D | fast-isel-bail.ll | 3 ; This file is for regression tests for cases where FastISel needs
|
| H A D | fast-isel-x86.ll | 26 ; STDERR-NOT: FastISel missed terminator: ret i32 12345 45 ; STDERR-NOT: FastISel missed terminator: ret i32 54321
|
| H A D | fast-isel-call-cleanup.ll | 9 ; FastISel's local value code was dead, so it's gone.
|
| /llvm-project-15.0.7/llvm/test/CodeGen/Mips/Fast-ISel/ |
| H A D | check-disabled-mcpus.ll | 1 ; Targets where we should not enable FastISel. 33 ; Valid targets for FastISel. 39 ; The CHECK prefix is being used by those targets that do not support FastISel. 40 ; By checking that we don't emit the "FastISel missed terminator..." message, 41 ; we ensure that we do not generate code through FastISel. 43 ; CHECK-NOT: FastISel missed terminator: ret i64 0 46 ; terminator message for targets that support FastISel. If we add support 50 ; FISEL: FastISel missed terminator: ret i64 0
|
| H A D | double-arg.ll | 4 ; Check that FastISel aborts when we have 64bit FPU registers. FastISel currently
|
| H A D | fast-isel-softfloat-lower-args.ll | 4 ; Test that FastISel aborts instead of trying to lower arguments for soft-float.
|
| H A D | fastcc-miss.ll | 4 ; CHECK: FastISel missed call:
|
| /llvm-project-15.0.7/llvm/test/CodeGen/WebAssembly/ |
| H A D | PR40172.ll | 3 ; Regression test for bug 40172. The problem was that FastISel assumed 6 ; test case FastISel falls back to DAG ISel, which combines away the 7 ; comparison, invalidating FastISel's assumption.
|
| /llvm-project-15.0.7/llvm/test/Feature/ |
| H A D | optnone-llc.ll | 12 ; on optnone functions, and that we can turn off FastISel. 59 ; Selectively disable FastISel for optnone functions. 60 ; FAST: FastISel is enabled 61 ; NOFAST: FastISel is disabled
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/GlobalISel/ |
| H A D | fallback-nofastisel.ll | 5 ; The purpose is to check that we don't fall back to FastISel. Checking the pass structure is insuf… 6 ; because the FastISel is set up in the SelectionDAGISel, so it doesn't appear on the pass structur…
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/ |
| H A D | fast-isel-tail-call.ll | 12 ; Here, the %struct extractvalue should fail FastISel. 14 ; MISSED: FastISel missed: %tmp1 = extractvalue %struct %tmp0, 0
|
| H A D | literal_pools_float.ll | 64 ; In the large code model, FastISel cannot load from the constant pool. 76 ; In the large code model, FastISel cannot load from the constant pool.
|
| H A D | fast-isel-erase.ll | 4 ; pointers internal to FastISel and cause a crash so it must be done carefully.
|
| /llvm-project-15.0.7/llvm/utils/gn/secondary/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | BUILD.gn | 14 "FastISel.cpp",
|
| /llvm-project-15.0.7/llvm/test/CodeGen/ARM/ |
| H A D | fast-tail-call.ll | 4 ; Primarily a non-crash test: Thumbv7 Linux does not have FastISel support,
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | FastISel.h | 65 class FastISel { 229 virtual ~FastISel(); 329 explicit FastISel(FunctionLoweringInfo &FuncInfo,
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyISelLowering.h | 58 FastISel *createFastISel(FunctionLoweringInfo &FuncInfo, 155 FastISel *createFastISel(FunctionLoweringInfo &funcInfo,
|
| /llvm-project-15.0.7/llvm/test/CodeGen/Mips/ |
| H A D | micromips-or16.ll | 6 ; Branch instruction added to enable FastISel::selectOperator
|
| /llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/ |
| H A D | fast-isel-fpconv.ll | 4 ; of COPY_TO_REGCLASS in the FastISel pass. Verify that this is fixed.
|