Skip to content

Commit 6b0626d

Browse files
WillFroomtensorflower-gardener
authored andcommitted
[XLA:CPU] Make loop unrolling on by default in IrCompiler.
Reverts 6ae9c29 PiperOrigin-RevId: 723688407
1 parent fc867f7 commit 6b0626d

File tree

6 files changed

+10
-10
lines changed

6 files changed

+10
-10
lines changed

third_party/xla/xla/backends/cpu/codegen/ir_compiler.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>> IrCompiler::operator()(
109109
pto.LoopVectorization = !options_.optimize_for_size;
110110
pto.SLPVectorization =
111111
!options_.optimize_for_size && !options_.disable_slp_vectorizer;
112-
pto.LoopUnrolling = options_.enable_loop_unrolling;
112+
pto.LoopUnrolling = !options_.disable_loop_unrolling;
113113

114114
llvm::LoopAnalysisManager lam;
115115
llvm::FunctionAnalysisManager fam;

third_party/xla/xla/backends/cpu/codegen/ir_compiler.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class IrCompiler : public llvm::orc::IRCompileLayer::IRCompiler {
6161
bool disable_expensive_passes = false;
6262
bool disable_slp_vectorizer = false;
6363

64-
bool enable_loop_unrolling = false;
64+
bool disable_loop_unrolling = false;
6565

6666
bool dfsan_enabled = false;
6767
std::vector<std::string> dfsan_abi_list_files;

third_party/xla/xla/backends/cpu/testlib/kernel_runner.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ absl::StatusOr<JitCompiler> KernelRunner::CreateJitCompiler(
104104
/*disable_expensive_passes=*/
105105
debug_options.xla_llvm_disable_expensive_passes(),
106106
/*slp_vectorizer_disabled=*/options::SlpVectorizerDisabled(config),
107-
/*enable_loop_unrolling=*/options::EnableLoopUnrolling(config),
107+
/*disable_loop_unrolling=*/options::DisableLoopUnrolling(config),
108108
};
109109

110110
IrCompiler::CompilationHooks ir_compiler_hooks;

third_party/xla/xla/service/cpu/cpu_compiler.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -1362,7 +1362,7 @@ CpuCompiler::CompileCpuExecutable(std::unique_ptr<HloModule> module) {
13621362
/*disable_expensive_passes=*/
13631363
debug_options.xla_llvm_disable_expensive_passes(),
13641364
/*slp_vectorizer_disabled=*/options::SlpVectorizerDisabled(config),
1365-
/*enable_loop_unrolling=*/options::EnableLoopUnrolling(config),
1365+
/*disable_loop_unrolling=*/options::DisableLoopUnrolling(config),
13661366
};
13671367

13681368
// Compiler hooks to intercept compiled LLVM IR modules.
@@ -1964,8 +1964,8 @@ CpuCompiler::CompileAheadOfTime(std::unique_ptr<HloModuleGroup> module_group,
19641964
module->config().debug_options().xla_llvm_disable_expensive_passes(),
19651965
/*disable_slp_vectorizer=*/
19661966
options::SlpVectorizerDisabled(module->config()),
1967-
/*enable_loop_unrolling=*/
1968-
options::EnableLoopUnrolling(module->config()),
1967+
/*disable_loop_unrolling=*/
1968+
options::DisableLoopUnrolling(module->config()),
19691969
/*dfsan_enabled=*/aot_options.sanitize_dataflow(),
19701970
/*dfsan_abilists_enabled=*/aot_options.sanitize_abilists_dataflow()};
19711971

third_party/xla/xla/service/cpu/cpu_options.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const char* const kXlaForceEnableExperimentalLlvmIrGemm =
3535
"xla_force_enable_experimental_llvm_ir_gemm";
3636
const char* const kLlvmIrGemmTileSize = "xla_llvm_ir_gemm_tile_size";
3737
const char* const kDisableSlpVectorizer = "xla_cpu_disable_slp_vectorizer";
38-
const char* const kEnableLoopUnrolling = "xla_cpu_enable_loop_unrolling";
38+
const char* const kDisableLoopUnrolling = "xla_cpu_disable_loop_unrolling";
3939

4040
} // namespace
4141

@@ -61,10 +61,10 @@ bool SlpVectorizerDisabled(const HloModuleConfig& config) {
6161
return extra_options_map.count(kDisableSlpVectorizer) > 0;
6262
}
6363

64-
bool EnableLoopUnrolling(const HloModuleConfig& config) {
64+
bool DisableLoopUnrolling(const HloModuleConfig& config) {
6565
const auto& extra_options_map =
6666
config.debug_options().xla_backend_extra_options();
67-
return extra_options_map.count(kEnableLoopUnrolling) > 0;
67+
return extra_options_map.count(kDisableLoopUnrolling) > 0;
6868
}
6969

7070
std::optional<int64_t> LlvmIrGemvTilingFactor(const HloModuleConfig& config) {

third_party/xla/xla/service/cpu/cpu_options.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ namespace options {
3232
bool OptimizeForSizeRequested(const HloModuleConfig& config);
3333
bool VectorizedReduceDisabled(const HloModuleConfig& config);
3434
bool SlpVectorizerDisabled(const HloModuleConfig& config);
35-
bool EnableLoopUnrolling(const HloModuleConfig& config);
35+
bool DisableLoopUnrolling(const HloModuleConfig& config);
3636
bool ForceEnableExperimentalLlvmIrGemm(const HloModuleConfig& config);
3737
std::optional<int64_t> LlvmIrGemvTilingFactor(const HloModuleConfig& config);
3838
std::optional<std::tuple<int64_t, int64_t, int64_t>> LlvmIrGemmTileSize(

0 commit comments

Comments
 (0)