diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2023-10-31 12:16:25 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-31 12:16:25 +0000 |
| commit | eb261f5b28a8d3cddc3dc21441f33775bb3ced95 (patch) | |
| tree | 55014f5e1ffe0c099376699945a1800cc4d16246 /src/llvm_backend_opt.cpp | |
| parent | bbd4c1054e18f18e934828b5160efce076027d1e (diff) | |
| parent | f5febb633c92ee1cf7b5d88f0146ffac3e2481b7 (diff) | |
Merge branch 'master' into new-sys-unix
Diffstat (limited to 'src/llvm_backend_opt.cpp')
| -rw-r--r-- | src/llvm_backend_opt.cpp | 7 |
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: |