aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_opt.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2023-10-30 15:00:55 +0000
committerGitHub <noreply@github.com>2023-10-30 15:00:55 +0000
commit51caa930caa903ecbf7926374cd129a7f64acf23 (patch)
treeac247a12015dc09d18d8c5c02ebe81f343176f6f /src/llvm_backend_opt.cpp
parent82cd30a14568814dfa70d383cf43c8d0d0bd6b16 (diff)
parentb7af4e7f6b3f8f96ca6d3efa492098293bfa4109 (diff)
Merge pull request #2905 from odin-lang/llvm-17-custom-passes
Explicit Optimization Passes for LLVM-17 Passes
Diffstat (limited to 'src/llvm_backend_opt.cpp')
-rw-r--r--src/llvm_backend_opt.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/llvm_backend_opt.cpp b/src/llvm_backend_opt.cpp
index 4424bde7c..2e03b7974 100644
--- a/src/llvm_backend_opt.cpp
+++ b/src/llvm_backend_opt.cpp
@@ -322,7 +322,11 @@ gb_internal void lb_run_remove_dead_instruction_pass(lbProcedure *p) {
// NOTE(bill): Explicit instructions are set here because some instructions could have side effects
switch (LLVMGetInstructionOpcode(curr_instr)) {
// case LLVMAlloca:
-
+ case LLVMLoad:
+ if (LLVMGetVolatile(curr_instr)) {
+ break;
+ }
+ /*fallthrough*/
case LLVMFNeg:
case LLVMAdd:
case LLVMFAdd:
@@ -342,7 +346,6 @@ gb_internal void lb_run_remove_dead_instruction_pass(lbProcedure *p) {
case LLVMAnd:
case LLVMOr:
case LLVMXor:
- case LLVMLoad:
case LLVMGetElementPtr:
case LLVMTrunc:
case LLVMZExt: