From 8b4e08540b80a30362fdfe5e580cd67e4c412490 Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Thu, 30 Oct 2025 09:26:53 +0000 Subject: [PATCH 01/10] feat: support arm constructors by requiring llvm arrays adds a new plc_llvm crate that wraps llvm c++ apis. The only api currently provided is to expose the init array flag. This ensures that the constructors created by the compiler are actually called in aarch64 architectures. --- .github/workflows/linux.yml | 7 +- .github/workflows/lit.yml | 9 +- Cargo.lock | 9 + Cargo.toml | 3 + compiler/plc_driver/src/cli.rs | 2 +- compiler/plc_driver/src/lib.rs | 3 +- compiler/plc_driver/src/pipelines.rs | 30 +-- ...al_files__external_file_function_call.snap | 5 +- ...ernal_files__external_file_global_var.snap | 5 +- ...n_different_locations_with_debug_info.snap | 2 +- ...files__multiple_files_with_debug_info.snap | 2 +- ...iles__multiple_source_files_generated.snap | 5 +- compiler/plc_llvm/Cargo.toml | 10 + compiler/plc_llvm/build.rs | 36 +++ compiler/plc_llvm/src/cpp/llvm_wrapper.cpp | 15 ++ compiler/plc_llvm/src/lib.rs | 31 +++ examples/construtors.st | 9 + scripts/linker/aarch64.script | 225 ----------------- scripts/linker/x86_64.script | 238 ------------------ src/codegen.rs | 21 +- src/codegen/generators/pou_generator.rs | 13 +- src/codegen/tests/debug_tests.rs | 34 +-- .../complex_initializers.rs | 60 ++--- src/codegen/tests/oop_tests.rs | 34 +-- src/codegen/tests/oop_tests/debug_tests.rs | 14 +- src/codegen/tests/oop_tests/super_tests.rs | 30 +-- src/codegen/tests/polymorphism.rs | 8 +- ...var_nested_struct_added_to_debug_info.snap | 2 +- ...global_var_struct_added_to_debug_info.snap | 2 +- src/tests/adr/initializer_functions_adr.rs | 16 +- ...__integration__cfc__ir__actions_debug.snap | 2 +- ...egration__cfc__ir__conditional_return.snap | 2 +- ...on__cfc__ir__conditional_return_debug.snap | 3 +- ...r__conditional_return_evaluating_true.snap | 2 +- ...tional_return_evaluating_true_negated.snap | 2 +- ...sts__integration__cfc__ir__jump_debug.snap | 3 +- ...on__cfc__ir__jump_to_label_with_false.snap | 3 +- ...ion__cfc__ir__jump_to_label_with_true.snap | 3 +- ...tegration__cfc__ir__sink_source_debug.snap | 3 +- ...ble_source_to_variable_and_block_sink.snap | 3 +- ...line_compile__ir_generation_full_pass.snap | 3 +- tests/lit/.gitignore | 1 + tests/lit/lit.cfg | 2 +- tests/lit/multi/constructors/plc.json | 14 ++ tests/lit/multi/constructors/run.test | 2 + tests/lit/multi/constructors/src/base.st | 11 + tests/lit/multi/constructors/src/child.st | 4 + tests/lit/multi/constructors/src/main.st | 10 + .../lit/multi/multi_lib/lib1/include/base.pli | 9 + tests/lit/multi/multi_lib/lib1/plc.json | 11 + tests/lit/multi/multi_lib/lib1/src/base.st | 11 + tests/lit/multi/multi_lib/lib2/child.st | 4 + tests/lit/multi/multi_lib/lib2/main.st | 10 + tests/lit/multi/multi_lib/lib2/plc.json | 21 ++ tests/lit/multi/multi_lib/lit.local.cfg | 9 + tests/lit/multi/multi_lib/run.test | 2 + .../single/address/hardware_reference_used.st | 2 - tests/lit/single/address/reference_in_body.st | 4 +- 58 files changed, 393 insertions(+), 643 deletions(-) create mode 100644 compiler/plc_llvm/Cargo.toml create mode 100644 compiler/plc_llvm/build.rs create mode 100644 compiler/plc_llvm/src/cpp/llvm_wrapper.cpp create mode 100644 compiler/plc_llvm/src/lib.rs create mode 100644 examples/construtors.st delete mode 100644 scripts/linker/aarch64.script delete mode 100644 scripts/linker/x86_64.script create mode 100644 tests/lit/.gitignore create mode 100644 tests/lit/multi/constructors/plc.json create mode 100644 tests/lit/multi/constructors/run.test create mode 100644 tests/lit/multi/constructors/src/base.st create mode 100644 tests/lit/multi/constructors/src/child.st create mode 100644 tests/lit/multi/constructors/src/main.st create mode 100644 tests/lit/multi/multi_lib/lib1/include/base.pli create mode 100644 tests/lit/multi/multi_lib/lib1/plc.json create mode 100644 tests/lit/multi/multi_lib/lib1/src/base.st create mode 100644 tests/lit/multi/multi_lib/lib2/child.st create mode 100644 tests/lit/multi/multi_lib/lib2/main.st create mode 100644 tests/lit/multi/multi_lib/lib2/plc.json create mode 100644 tests/lit/multi/multi_lib/lit.local.cfg create mode 100644 tests/lit/multi/multi_lib/run.test diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 7c03d7bf85..e1bdf8df73 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -26,7 +26,12 @@ jobs: test-linux: name: Test Linux - runs-on: ubuntu-latest + runs-on: ${{ matrix.config.os }} + strategy: + matrix: + config: + - { os: "ubuntu-latest" } + - { os: "ubuntu-24.04-arm" } container: ghcr.io/plc-lang/rust-llvm:latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/lit.yml b/.github/workflows/lit.yml index 4858e5864b..48f822c935 100644 --- a/.github/workflows/lit.yml +++ b/.github/workflows/lit.yml @@ -12,7 +12,12 @@ on: jobs: lit-linux-debug: name: lit tests (Linux, debug build) - runs-on: ubuntu-latest + runs-on: ${{ matrix.config.os }} + strategy: + matrix: + config: + - { os: "ubuntu-latest" } + - { os: "ubuntu-24.04-arm" } container: ghcr.io/plc-lang/rust-llvm:latest steps: - uses: actions/checkout@v3 @@ -32,4 +37,4 @@ jobs: - name: Run `build.sh --lit --release` shell: bash run: | - ./scripts/build.sh --lit --release \ No newline at end of file + ./scripts/build.sh --lit --release diff --git a/Cargo.lock b/Cargo.lock index 35426fc3aa..020fe979a9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2947,6 +2947,14 @@ dependencies = [ "rustc-hash", ] +[[package]] +name = "plc_llvm" +version = "0.1.0" +dependencies = [ + "cc", + "inkwell", +] + [[package]] name = "plc_lowering" version = "0.1.0" @@ -3478,6 +3486,7 @@ dependencies = [ "plc_diagnostics", "plc_driver", "plc_index", + "plc_llvm", "plc_project", "plc_source", "plc_util", diff --git a/Cargo.toml b/Cargo.toml index 07249bc3e8..33f387a827 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ plc_util = { path = "./compiler/plc_util" } plc_diagnostics = { path = "./compiler/plc_diagnostics" } plc_index = { path = "./compiler/plc_index" } section_mangler = { path = "./compiler/section_mangler" } +plc_llvm = { path = "./compiler/plc_llvm" } logos = "0.12.0" clap = { version = "3.0", features = ["derive"] } indexmap = "2.0" @@ -31,6 +32,7 @@ regex = "1" shell-words = "1.1.0" plc_derive = { path = "./compiler/plc_derive" } lld_rs = { git = "https://github.com/mun-lang/lld-rs", rev = "3798ace" } + which = "4.2.5" log.workspace = true inkwell.workspace = true @@ -79,6 +81,7 @@ members = [ "compiler/plc_index", "compiler/section_mangler", "compiler/plc_lowering", + "compiler/plc_llvm", "tests/test_utils", ] default-members = [".", "compiler/plc_driver", "compiler/plc_xml"] diff --git a/compiler/plc_driver/src/cli.rs b/compiler/plc_driver/src/cli.rs index 8a863cc642..49dec510c6 100644 --- a/compiler/plc_driver/src/cli.rs +++ b/compiler/plc_driver/src/cli.rs @@ -120,9 +120,9 @@ pub struct CompileParameters { name = "no-linker-script", long, global = true, - group = "linker_script", help = "Specify that no linker script should be used" )] + #[deprecated = "Does nothing"] pub no_linker_script: bool, #[clap( diff --git a/compiler/plc_driver/src/lib.rs b/compiler/plc_driver/src/lib.rs index e6267a1637..1a84f9a166 100644 --- a/compiler/plc_driver/src/lib.rs +++ b/compiler/plc_driver/src/lib.rs @@ -88,9 +88,10 @@ pub struct LinkOptions { #[derive(Clone, Default, Debug)] pub enum LinkerScript { - #[default] + #[deprecated = "No longer used, the default build script is enough"] Builtin, Path(String), + #[default] None, } diff --git a/compiler/plc_driver/src/pipelines.rs b/compiler/plc_driver/src/pipelines.rs index 7bc1b4b209..59627e3f6d 100644 --- a/compiler/plc_driver/src/pipelines.rs +++ b/compiler/plc_driver/src/pipelines.rs @@ -18,7 +18,6 @@ use ast::{ }; use itertools::Itertools; -use log::debug; use participant::{PipelineParticipant, PipelineParticipantMut}; use plc::{ codegen::{CodegenContext, GeneratedModule}, @@ -51,7 +50,6 @@ use rayon::prelude::*; use source_code::{source_location::SourceLocation, SourceContainer}; use serde_json; -use tempfile::NamedTempFile; use toml; pub mod participant; @@ -203,11 +201,7 @@ impl BuildPipeline { library_paths.extend_from_slice(self.project.get_library_paths()); //Get the specified linker script or load the default linker script in a temp file - let linker_script = if params.no_linker_script { - LinkerScript::None - } else { - params.linker_script.clone().map(LinkerScript::Path).unwrap_or_default() - }; + let linker_script = params.linker_script.clone().map(LinkerScript::Path).unwrap_or_default(); LinkOptions { libraries, @@ -982,29 +976,11 @@ impl GeneratedProject { //HACK: Create a temp file that would contain the bultin linker script //FIXME: This has to be done regardless if the file is used or not because it has //to be in scope by the time we call the linker - let mut file = NamedTempFile::new()?; match link_options.linker_script { - LinkerScript::Builtin => { - let target = self.target.get_target_triple().to_string(); - //Only do this on linux systems - if target.contains("linux") { - if target.contains("x86_64") { - let content = include_str!("../../../scripts/linker/x86_64.script"); - writeln!(file, "{content}")?; - linker.set_linker_script(file.get_location_str().to_string()); - } else if target.contains("aarch64") { - let content = include_str!("../../../scripts/linker/aarch64.script"); - writeln!(file, "{content}")?; - linker.set_linker_script(file.get_location_str().to_string()); - } else { - debug!("No script for target : {target}"); - } - } else { - debug!("No script for target : {target}"); - } - } LinkerScript::Path(script) => linker.set_linker_script(script), LinkerScript::None => {} + #[allow(deprecated)] + LinkerScript::Builtin => {} }; match link_options.format { diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap index 8cdd30a2d1..6fdb640894 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap @@ -1,7 +1,6 @@ --- -source: compiler/plc_driver/./src/tests/external_files.rs +source: compiler/plc_driver/src/tests/external_files.rs expression: "results.join(\"\\n\")" -snapshot_kind: text --- ; ModuleID = 'main.st' source_filename = "main.st" @@ -31,7 +30,7 @@ source_filename = "__init___TestProject" target datalayout = "[filtered]" target triple = "[filtered]" -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___TestProject, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___TestProject, i8* null }] define void @__init___TestProject() { entry: diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap index e22e906de8..c622b2b328 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap @@ -1,7 +1,6 @@ --- -source: compiler/plc_driver/./src/tests/external_files.rs +source: compiler/plc_driver/src/tests/external_files.rs expression: "results.join(\"\\n\")" -snapshot_kind: text --- ; ModuleID = 'main.st' source_filename = "main.st" @@ -39,7 +38,7 @@ source_filename = "__init___TestProject" target datalayout = "[filtered]" target triple = "[filtered]" -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___TestProject, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___TestProject, i8* null }] define void @__init___TestProject() { entry: diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap index 57e8c66091..b78b744b3f 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap @@ -123,7 +123,7 @@ target triple = "[filtered]" %mainProg = type {} @mainProg_instance = external global %mainProg -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___TestProject, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___TestProject, i8* null }] define void @__init___TestProject() { entry: diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap index b7153843aa..f95dd7c6a3 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap @@ -123,7 +123,7 @@ target triple = "[filtered]" %mainProg = type {} @mainProg_instance = external global %mainProg -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___TestProject, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___TestProject, i8* null }] define void @__init___TestProject() { entry: diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap index f5949e19cf..d773cc7dab 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap @@ -1,7 +1,6 @@ --- -source: compiler/plc_driver/./src/tests/multi_files.rs +source: compiler/plc_driver/src/tests/multi_files.rs expression: "results.join(\"\\n\")" -snapshot_kind: text --- ; ModuleID = 'external_file1.st' source_filename = "external_file1.st" @@ -70,7 +69,7 @@ target triple = "[filtered]" %mainProg = type {} @mainProg_instance = external global %mainProg -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___TestProject, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___TestProject, i8* null }] define void @__init___TestProject() { entry: diff --git a/compiler/plc_llvm/Cargo.toml b/compiler/plc_llvm/Cargo.toml new file mode 100644 index 0000000000..5413a00463 --- /dev/null +++ b/compiler/plc_llvm/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "plc_llvm" +version = "0.1.0" +edition = "2024" + +[dependencies] +inkwell.workspace = true + +[build-dependencies] +cc = "1.0" diff --git a/compiler/plc_llvm/build.rs b/compiler/plc_llvm/build.rs new file mode 100644 index 0000000000..c098b17c92 --- /dev/null +++ b/compiler/plc_llvm/build.rs @@ -0,0 +1,36 @@ +fn main() { + let llvm_config = if is_os("windows") { + "llvm-config.exe".to_string() + } else { + std::env::var("LLVM_CONFIG").unwrap_or_else(|_| "llvm-config-14".to_string()) + }; + + let cxxflags = String::from_utf8( + std::process::Command::new(&llvm_config) + .arg("--cxxflags") + .output() + .expect("Failed to run llvm-config") + .stdout, + ) + .expect("Invalid UTF-8"); + + let mut build = cc::Build::new(); + build.cpp(true).file("src/cpp/llvm_wrapper.cpp").flag("-std=c++14"); + + for flag in cxxflags.split_whitespace() { + if flag.starts_with("-I") || flag.starts_with("-D") { + build.flag(flag); + } + } + + build.compile("llvm_wrapper"); + + println!("cargo:rerun-if-changed=src/cpp/llvm_wrapper.cpp"); +} + +fn is_os(os: &str) -> bool { + match std::env::var_os("CARGO_CFG_TARGET_OS") { + Some(target_os) => target_os == os, + None => false, + } +} diff --git a/compiler/plc_llvm/src/cpp/llvm_wrapper.cpp b/compiler/plc_llvm/src/cpp/llvm_wrapper.cpp new file mode 100644 index 0000000000..e20a481e8c --- /dev/null +++ b/compiler/plc_llvm/src/cpp/llvm_wrapper.cpp @@ -0,0 +1,15 @@ +#include +#include +#include + +using namespace llvm; + +// Expose a C interface to set the options on the target machine +extern "C" { + + // Set the init array option in TargetOptions + void setUseInitArray(TargetMachine* tm, bool useInitArray) { + TargetOptions* options = &tm->Options; + options->UseInitArray = useInitArray ? 1 : 0; + } +} diff --git a/compiler/plc_llvm/src/lib.rs b/compiler/plc_llvm/src/lib.rs new file mode 100644 index 0000000000..cb1a66d0dd --- /dev/null +++ b/compiler/plc_llvm/src/lib.rs @@ -0,0 +1,31 @@ +//! This crate provides Rust bindings for LLVM Target Machine functionalities. + +use inkwell::targets::TargetMachine; + +mod ffi { + use inkwell::llvm_sys::target_machine::LLVMTargetMachineRef; + + #[link(name = "llvm_wrapper")] + unsafe extern "C" { + pub fn setUseInitArray(tm: LLVMTargetMachineRef, use_init_array: bool); + } +} + +pub trait TargetMachineExt { + fn use_init_array(&mut self, use_init_array: bool); +} + +impl TargetMachineExt for TargetMachine { + /// Set whether to use `.init_array` and `.fini_array` sections for global + /// constructors and destructors instead of the legacy `.ctors` and `.dtors` + /// sections. + /// + /// By default, LLVM uses `.ctors` and `.dtors` sections. This method allows + /// changing that behavior. + fn use_init_array(&mut self, use_init_array: bool) { + let tm = self.as_mut_ptr(); + unsafe { + ffi::setUseInitArray(tm, use_init_array); + } + } +} diff --git a/examples/construtors.st b/examples/construtors.st new file mode 100644 index 0000000000..dbee398da4 --- /dev/null +++ b/examples/construtors.st @@ -0,0 +1,9 @@ +VAR_GLOBAL + x : DINT := 5; + y : REFERENCE TO DINT := x; +END_VAR + +FUNCTION main : DINT + main := x + y; +END_FUNCTION + diff --git a/scripts/linker/aarch64.script b/scripts/linker/aarch64.script deleted file mode 100644 index 385898af33..0000000000 --- a/scripts/linker/aarch64.script +++ /dev/null @@ -1,225 +0,0 @@ -/* Script for -pie -z combreloc -z relro -z now */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. - Copying and distribution of this script, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. */ -OUTPUT_FORMAT("elf64-littleaarch64", "elf64-bigaarch64", - "elf64-littleaarch64") -OUTPUT_ARCH(aarch64) -ENTRY(_start) -SEARCH_DIR("=/usr/local/lib/aarch64-linux-gnu"); SEARCH_DIR("=/lib/aarch64-linux-gnu"); SEARCH_DIR("=/usr/lib/aarch64-linux-gnu"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SEARCH_DIR("=/usr/aarch64-linux-gnu/lib"); -SECTIONS -{ - /* Read-only sections, merged into text segment: */ - PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; - .interp : { *(.interp) } - .note.gnu.build-id : { *(.note.gnu.build-id) } - .hash : { *(.hash) } - .gnu.hash : { *(.gnu.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rela.dyn : - { - *(.rela.init) - *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) - *(.rela.fini) - *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) - *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) - *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) - *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) - *(.rela.ctors) - *(.rela.dtors) - *(.rela.got) - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) - *(.rela.ifunc) - } - .rela.plt : - { - *(.rela.plt) - *(.rela.iplt) - } - .init : - { - KEEP (*(SORT_NONE(.init))) - } =0x1f2003d5 - .plt : ALIGN(16) { *(.plt) *(.iplt) } - .text : - { - *(.text.unlikely .text.*_unlikely .text.unlikely.*) - *(.text.exit .text.exit.*) - *(.text.startup .text.startup.*) - *(.text.hot .text.hot.*) - *(SORT(.text.sorted.*)) - *(.text .stub .text.* .gnu.linkonce.t.*) - /* .gnu.warning sections are handled specially by elf.em. */ - *(.gnu.warning) - } =0x1f2003d5 - .fini : - { - KEEP (*(SORT_NONE(.fini))) - } =0x1f2003d5 - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } - .rodata1 : { *(.rodata1) } - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } - .sframe : ONLY_IF_RO { *(.sframe) *(.sframe.*) } - .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } - .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } - /* These sections are generated by the Sun/Oracle C++ compiler. */ - .exception_ranges : ONLY_IF_RO { *(.exception_ranges*) } - /* Adjust the address for the data segment. We want to adjust up to - the same address within the page on the next page up. */ - . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); - /* Exception handling */ - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } - .sframe : ONLY_IF_RW { *(.sframe) *(.sframe.*) } - .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } - .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } - .exception_ranges : ONLY_IF_RW { *(.exception_ranges*) } - /* Thread Local Storage sections */ - .tdata : - { - PROVIDE_HIDDEN (__tdata_start = .); - *(.tdata .tdata.* .gnu.linkonce.td.*) - } - .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) - KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) - PROVIDE_HIDDEN (__init_array_end = .); - } - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) - KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) - PROVIDE_HIDDEN (__fini_array_end = .); - } - .ctors : - { - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*crtbegin?.o(.ctors)) - /* We don't want to include the .ctor section from - the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - } - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*crtbegin?.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - } - .jcr : { KEEP (*(.jcr)) } - .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } - .dynamic : { *(.dynamic) } - .got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) } - . = DATA_SEGMENT_RELRO_END (0, .); - .data : - { - PROVIDE (__data_start = .); - *(.data .data.* .gnu.linkonce.d.*) - SORT(CONSTRUCTORS) - } - .data1 : { *(.data1) } - _edata = .; PROVIDE (edata = .); - /*. = ALIGN(ALIGNOF(NEXT_SECTION));*/ - __bss_start = .; - __bss_start__ = .; - .bss : - { - *(.dynbss) - *(.bss .bss.* .gnu.linkonce.b.*) - *(COMMON) - /* Align here to ensure that the .bss section occupies space up to - _end. Align after .bss to ensure correct alignment even if the - .bss section disappears because there are no input sections. - FIXME: Why do we need it? When there is no .bss section, we do not - pad the .data section. */ - . = ALIGN(. != 0 ? 64 / 8 : 1); - } - _bss_end__ = .; __bss_end__ = .; - . = ALIGN(64 / 8); - . = SEGMENT_START("ldata-segment", .); - . = ALIGN(64 / 8); - __end__ = .; - _end = .; PROVIDE (end = .); - . = DATA_SEGMENT_END (.); - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 (INFO) : { *(.comment); LINKER_VERSION; } - .gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1. */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions. */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2. */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2. */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions. */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* DWARF 3. */ - .debug_pubtypes 0 : { *(.debug_pubtypes) } - .debug_ranges 0 : { *(.debug_ranges) } - /* DWARF 5. */ - .debug_addr 0 : { *(.debug_addr) } - .debug_line_str 0 : { *(.debug_line_str) } - .debug_loclists 0 : { *(.debug_loclists) } - .debug_macro 0 : { *(.debug_macro) } - .debug_names 0 : { *(.debug_names) } - .debug_rnglists 0 : { *(.debug_rnglists) } - .debug_str_offsets 0 : { *(.debug_str_offsets) } - .debug_sup 0 : { *(.debug_sup) } - .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } - .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } - /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } -} diff --git a/scripts/linker/x86_64.script b/scripts/linker/x86_64.script deleted file mode 100644 index 3a867f2a88..0000000000 --- a/scripts/linker/x86_64.script +++ /dev/null @@ -1,238 +0,0 @@ -/* Script for -shared -z combreloc -z separate-code */ -/* Copyright (C) 2014-2023 Free Software Foundation, Inc. - Copying and distribution of this script, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. */ -OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", - "elf64-x86-64") -OUTPUT_ARCH(i386:x86-64) -ENTRY(_start) -SEARCH_DIR("=/usr/local/lib/x86_64-linux-gnu"); SEARCH_DIR("=/lib/x86_64-linux-gnu"); SEARCH_DIR("=/usr/lib/x86_64-linux-gnu"); SEARCH_DIR("=/usr/lib/x86_64-linux-gnu64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SEARCH_DIR("=/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("=/usr/x86_64-linux-gnu/lib"); -SECTIONS -{ - . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; - .note.gnu.build-id : { *(.note.gnu.build-id) } - .hash : { *(.hash) } - .gnu.hash : { *(.gnu.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rela.dyn : - { - *(.rela.init) - *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) - *(.rela.fini) - *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) - *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) - *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) - *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) - *(.rela.ctors) - *(.rela.dtors) - *(.rela.got) - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) - *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) - *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) - *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) - *(.rela.ifunc) - } - .rela.plt : - { - *(.rela.plt) - *(.rela.iplt) - } - .relr.dyn : { *(.relr.dyn) } - . = ALIGN(CONSTANT (MAXPAGESIZE)); - .init : - { - KEEP (*(SORT_NONE(.init))) - } - .plt : { *(.plt) *(.iplt) } -.plt.got : { *(.plt.got) } -.plt.sec : { *(.plt.sec) } - .text : - { - *(.text.unlikely .text.*_unlikely .text.unlikely.*) - *(.text.exit .text.exit.*) - *(.text.startup .text.startup.*) - *(.text.hot .text.hot.*) - *(SORT(.text.sorted.*)) - *(.text .stub .text.* .gnu.linkonce.t.*) - /* .gnu.warning sections are handled specially by elf.em. */ - *(.gnu.warning) - } - .fini : - { - KEEP (*(SORT_NONE(.fini))) - } - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - . = ALIGN(CONSTANT (MAXPAGESIZE)); - /* Adjust the address for the rodata segment. We want to adjust up to - the same address within the page on the next page up. */ - . = SEGMENT_START("rodata-segment", ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1))); - .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } - .rodata1 : { *(.rodata1) } - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } - .sframe : ONLY_IF_RO { *(.sframe) *(.sframe.*) } - .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } - .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } - /* These sections are generated by the Sun/Oracle C++ compiler. */ - .exception_ranges : ONLY_IF_RO { *(.exception_ranges*) } - /* Adjust the address for the data segment. We want to adjust up to - the same address within the page on the next page up. */ - . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); - /* Exception handling */ - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } - .sframe : ONLY_IF_RW { *(.sframe) *(.sframe.*) } - .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } - .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } - .exception_ranges : ONLY_IF_RW { *(.exception_ranges*) } - /* Thread Local Storage sections */ - .tdata : - { - *(.tdata .tdata.* .gnu.linkonce.td.*) - } - .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } - .preinit_array : - { - KEEP (*(.preinit_array)) - } - .init_array : - { - KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) - KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) - } - .fini_array : - { - KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) - KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) - } - .ctors : - { - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*crtbegin?.o(.ctors)) - /* We don't want to include the .ctor section from - the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - } - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*crtbegin?.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - } - .jcr : { KEEP (*(.jcr)) } - .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } - .dynamic : { *(.dynamic) } - .got : { *(.got) *(.igot) } - . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); - .got.plt : { *(.got.plt) *(.igot.plt) } - .data : - { - *(.data .data.* .gnu.linkonce.d.*) - SORT(CONSTRUCTORS) - } - .data1 : { *(.data1) } - PROVIDE (_edata = .); PROVIDE (edata = .); - . = .; - PROVIDE (__bss_start = .); - .bss : - { - *(.dynbss) - *(.bss .bss.* .gnu.linkonce.b.*) - *(COMMON) - /* Align here to ensure that the .bss section occupies space up to - _end. Align after .bss to ensure correct alignment even if the - .bss section disappears because there are no input sections. - FIXME: Why do we need it? When there is no .bss section, we do not - pad the .data section. */ - . = ALIGN(. != 0 ? 64 / 8 : 1); - } - .lbss : - { - *(.dynlbss) - *(.lbss .lbss.* .gnu.linkonce.lb.*) - *(LARGE_COMMON) - } - . = ALIGN(64 / 8); - . = SEGMENT_START("ldata-segment", .); - .lrodata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : - { - *(.lrodata .lrodata.* .gnu.linkonce.lr.*) - } - .ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : - { - *(.ldata .ldata.* .gnu.linkonce.l.*) - . = ALIGN(. != 0 ? 64 / 8 : 1); - } - . = ALIGN(64 / 8); - PROVIDE (_end = .); PROVIDE (end = .); - . = DATA_SEGMENT_END (.); - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1. */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions. */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2. */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2. */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions. */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* DWARF 3. */ - .debug_pubtypes 0 : { *(.debug_pubtypes) } - .debug_ranges 0 : { *(.debug_ranges) } - /* DWARF 5. */ - .debug_addr 0 : { *(.debug_addr) } - .debug_line_str 0 : { *(.debug_line_str) } - .debug_loclists 0 : { *(.debug_loclists) } - .debug_macro 0 : { *(.debug_macro) } - .debug_names 0 : { *(.debug_names) } - .debug_rnglists 0 : { *(.debug_rnglists) } - .debug_str_offsets 0 : { *(.debug_str_offsets) } - .debug_sup 0 : { *(.debug_sup) } - .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } - /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } -} diff --git a/src/codegen.rs b/src/codegen.rs index 6060e730a8..2efc8e33e4 100644 --- a/src/codegen.rs +++ b/src/codegen.rs @@ -45,6 +45,7 @@ use inkwell::{ }; use plc_ast::ast::{CompilationUnit, LinkageType}; use plc_diagnostics::diagnostics::Diagnostic; +use plc_llvm::TargetMachineExt; use plc_source::source_location::{FileMarker, SourceLocation}; mod debug; @@ -451,7 +452,7 @@ impl<'ink> GeneratedModule<'ink> { let triple = target.get_target_triple(); let target = inkwell::targets::Target::from_triple(&triple)?; - let machine = target + let mut machine = target .create_target_machine( &triple, //TODO : Add cpu features as optionals @@ -461,23 +462,19 @@ impl<'ink> GeneratedModule<'ink> { reloc, CodeModel::Default, ) - .ok_or_else(|| CodegenError::new("Cannot create target machine.", SourceLocation::undefined())); + .ok_or_else(|| CodegenError::new("Cannot create target machine.", SourceLocation::undefined()))?; + + machine.use_init_array(true); //Make sure all parents exist if let Some(parent) = output.parent() { std::fs::create_dir_all(parent)?; } ////Run the passes - machine - .and_then(|it| { - self.module - .run_passes(optimization_level.opt_params(), &it, PassBuilderOptions::create()) - .map_err(Into::into) - .and_then(|_| { - it.write_to_file(&self.module, FileType::Object, output.as_path()).map_err(Into::into) - }) - }) - .map(|_| output) + self.module + .run_passes(optimization_level.opt_params(), &machine, PassBuilderOptions::create()) + .and_then(|_| machine.write_to_file(&self.module, FileType::Object, output.as_path()))?; + Ok(output) } /// Persists a given LLVM module to a static object and saves the output. diff --git a/src/codegen/generators/pou_generator.rs b/src/codegen/generators/pou_generator.rs index 74a9b69276..d683b42572 100644 --- a/src/codegen/generators/pou_generator.rs +++ b/src/codegen/generators/pou_generator.rs @@ -350,9 +350,13 @@ impl<'ink, 'cg> PouGenerator<'ink, 'cg> { false, ); + // // How does this behave on windows? + // curr_f.set_section(Some(".text.startup")); + // curr_f.set_linkage(Linkage::Internal); + //Create an entry for the global constructor of the project let str_value = ctor_str.const_named_struct(&[ - self.llvm.context.i32_type().const_zero().as_basic_value_enum(), + self.llvm.context.i32_type().const_int(65535, false).as_basic_value_enum(), curr_f.as_global_value().as_basic_value_enum(), self.llvm.context.i8_type().ptr_type(AddressSpace::default()).const_zero().as_basic_value_enum(), ]); @@ -366,6 +370,13 @@ impl<'ink, 'cg> PouGenerator<'ink, 'cg> { global_ctors.set_initializer(&arr); global_ctors.set_linkage(Linkage::Appending); + + // let i8_ptr = self.llvm.context.i8_type().ptr_type(AddressSpace::default()); + // let used_array = + // i8_ptr.const_array(&[curr_f.as_global_value().as_pointer_value().const_cast(i8_ptr)]); + // let used = module.add_global(used_array.get_type(), None, "llvm.used"); + // used.set_initializer(&used_array); + // used.set_linkage(Linkage::Appending); Ok(()) } /// creates and returns all parameters for the given implementation diff --git a/src/codegen/tests/debug_tests.rs b/src/codegen/tests/debug_tests.rs index 3d925c2f88..0a2d86fd3e 100644 --- a/src/codegen/tests/debug_tests.rs +++ b/src/codegen/tests/debug_tests.rs @@ -224,7 +224,7 @@ fn switch_case_debug_info() { target datalayout = "[filtered]" target triple = "[filtered]" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] define i32 @main() !dbg !4 { entry: @@ -360,7 +360,7 @@ fn dbg_declare_has_valid_metadata_references_for_methods() { %__vtable_fb = type { void (%fb*)*, void (%fb*)* } %fb = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_fb__init = unnamed_addr constant %__vtable_fb zeroinitializer @__fb__init = unnamed_addr constant %fb zeroinitializer, !dbg !0 @__vtable_fb_instance = global %__vtable_fb zeroinitializer @@ -494,7 +494,7 @@ fn action_with_var_temp() { %PLC_PRG = type {} - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @PLC_PRG_instance = global %PLC_PRG zeroinitializer, !dbg !0 define i32 @main() !dbg !9 { @@ -645,7 +645,7 @@ END_FUNCTION ", ); - filtered_assert_snapshot!(result, @r###" + filtered_assert_snapshot!(result, @r#" ; ModuleID = '' source_filename = "" target datalayout = "[filtered]" @@ -657,7 +657,7 @@ END_FUNCTION @__struct___init = unnamed_addr constant %struct_ { %inner { [81 x i8] c"Hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", i8 1, float 0x400921CAC0000000, [3 x [81 x i8]] [[81 x i8] c"aaaa\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"bbbb\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"cccc\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"], i16 42 }, [3 x %inner] zeroinitializer, [81 x i8] c"Hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", i8 1, float 0x400921CAC0000000, [3 x [81 x i8]] [[81 x i8] c"aa\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"bb\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"cc\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"], i16 42 }, !dbg !0 @__inner__init = unnamed_addr constant %inner { [81 x i8] c"Hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", i8 1, float 0x400921CAC0000000, [3 x [81 x i8]] [[81 x i8] c"aaaa\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"bbbb\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"cccc\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"], i16 42 }, !dbg !32 @utf08_literal_0 = private unnamed_addr constant [6 x i8] c"Hello\00" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] define void @main() !dbg !39 { entry: @@ -886,7 +886,7 @@ END_FUNCTION !63 = !DILocation(line: 42, column: 4, scope: !39) !64 = !DILocation(line: 43, column: 4, scope: !39) !65 = !DILocation(line: 45, scope: !39) - "###); + "#); } #[test] @@ -918,7 +918,7 @@ fn constants_are_tagged_as_such() { ", ); - filtered_assert_snapshot!(result, @r###" + filtered_assert_snapshot!(result, @r#" ; ModuleID = '' source_filename = "" target datalayout = "[filtered]" @@ -929,7 +929,7 @@ fn constants_are_tagged_as_such() { @x = unnamed_addr constant i32 0, !dbg !0 @s = unnamed_addr constant [81 x i8] zeroinitializer, !dbg !5 - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer, !dbg !13 @__foo__init = unnamed_addr constant %foo zeroinitializer, !dbg !20 @f = unnamed_addr constant %foo zeroinitializer, !dbg !26 @@ -1046,7 +1046,7 @@ fn constants_are_tagged_as_such() { !43 = !DILocalVariable(name: "bar", scope: !38, file: !2, line: 19, type: !4, align: 32) !44 = !DILocation(line: 19, column: 17, scope: !38) !45 = !DILocation(line: 23, column: 8, scope: !38) - "###); + "#); } #[test] @@ -1079,7 +1079,7 @@ fn test_debug_info_regular_pointer_types() { @struct_ptr = global %myStruct* null, !dbg !13 @string_ptr = global [81 x i8]* null, !dbg !22 @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer, !dbg !31 - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] define void @__init_mystruct(%myStruct* %0) { entry: @@ -1177,7 +1177,7 @@ fn test_debug_info_auto_deref_parameters() { %test_with_ref_params = type { [81 x i8]*, [6 x i32]*, i32*, %myStruct*, i32* } %myStruct = type { i32, i8 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @test_with_ref_params_instance = global %test_with_ref_params zeroinitializer, !dbg !0 @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer, !dbg !34 @@ -1303,7 +1303,7 @@ fn test_debug_info_auto_deref_alias_pointers() { END_STRUCT END_TYPE "#, ); - filtered_assert_snapshot!(codegen, @r###" + filtered_assert_snapshot!(codegen, @r#" ; ModuleID = '' source_filename = "" target datalayout = "[filtered]" @@ -1311,7 +1311,7 @@ fn test_debug_info_auto_deref_alias_pointers() { %myStruct = type { i32, i8 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer, !dbg !0 @global_struct = global %myStruct zeroinitializer, !dbg !10 @global_var = global i32 42, !dbg !12 @@ -1370,7 +1370,7 @@ fn test_debug_info_auto_deref_alias_pointers() { !23 = !{i32 2, !"Debug Info Version", i32 3} !24 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !25, splitDebugInlining: false) !25 = !{!12, !14, !10, !0, !18} - "###) + "#) } #[test] @@ -1404,7 +1404,7 @@ fn test_debug_info_mixed_pointer_types() { %mixed_ptr = type { [81 x i8]*, i32*, i8*, i8* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @mixed_ptr_instance = global %mixed_ptr zeroinitializer, !dbg !0 @regular_ptr = global i32* null, !dbg !24 @alias_var = global i32** null, !dbg !28 @@ -1536,7 +1536,7 @@ fn test_debug_info_auto_deref_reference_to_pointers() { @array_reference = global [11 x i32]* null, !dbg !6 @struct_reference = global %myStruct* null, !dbg !13 @string_reference = global [81 x i8]* null, !dbg !22 - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @test_with_reference_params_instance = global %test_with_reference_params zeroinitializer, !dbg !31 @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer, !dbg !47 @@ -1678,7 +1678,7 @@ fn range_datatype_debug() { target datalayout = "[filtered]" target triple = "[filtered]" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] define i32 @main() !dbg !4 { entry: diff --git a/src/codegen/tests/initialization_test/complex_initializers.rs b/src/codegen/tests/initialization_test/complex_initializers.rs index e77d1a9707..7920f21b06 100644 --- a/src/codegen/tests/initialization_test/complex_initializers.rs +++ b/src/codegen/tests/initialization_test/complex_initializers.rs @@ -23,7 +23,7 @@ fn simple_global() { target datalayout = "[filtered]" target triple = "[filtered]" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @s = global [81 x i8] c"hello world!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" @ps = global [81 x i8]* null @@ -56,7 +56,7 @@ fn global_alias() { target datalayout = "[filtered]" target triple = "[filtered]" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @s = global [81 x i8] c"hello world!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" @ps = global [81 x i8]* null @@ -89,7 +89,7 @@ fn global_reference_to() { target datalayout = "[filtered]" target triple = "[filtered]" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @s = global [81 x i8] c"hello world!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" @ps = global [81 x i8]* null @@ -130,7 +130,7 @@ fn init_functions_generated_for_programs() { %PLC_PRG = type { [81 x i8]* } @s = global [81 x i8] zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @PLC_PRG_instance = global %PLC_PRG zeroinitializer define void @PLC_PRG(%PLC_PRG* %0) { @@ -279,7 +279,7 @@ fn init_functions_generated_for_function_blocks() { %foo = type { i32*, [81 x i8]* } @s = global [81 x i8] zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -420,7 +420,7 @@ fn nested_initializer_pous() { %sideProg = type { [81 x i8]*, %foo } @str = global [81 x i8] c"hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @mainProg_instance = global %mainProg zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__bar__init = unnamed_addr constant %bar zeroinitializer @@ -717,7 +717,7 @@ fn local_address() { %__vtable_foo = type { void (%foo*)* } %foo = type { i32*, i16, i16* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -816,7 +816,7 @@ fn user_init_called_for_variables_on_stack() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32*, i16, i16* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1009,7 +1009,7 @@ fn struct_types() { ) .unwrap(); - filtered_assert_snapshot!(res, @r###" + filtered_assert_snapshot!(res, @r#" ; ModuleID = '' source_filename = "" target datalayout = "[filtered]" @@ -1020,7 +1020,7 @@ fn struct_types() { @s = global [81 x i8] c"Hello world!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" @s2 = global [2 x [81 x i8]] [[81 x i8] c"hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", [81 x i8] c"world\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"] - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer @@ -1076,7 +1076,7 @@ fn struct_types() { call void @__user_init_prog(%prog* @prog_instance) ret void } - "###); + "#); } #[test] @@ -1127,7 +1127,7 @@ fn stateful_pous_methods_and_structs_get_init_functions() { %cl = type { i32* } @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @@ -1318,7 +1318,7 @@ fn global_instance() { %__vtable_foo = type { void (%foo*)* } @ps = global [81 x i8] zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @@ -1445,7 +1445,7 @@ fn aliased_types() { %__vtable_foo = type { void (%foo*)* } @ps = global [81 x i8] zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @@ -1643,7 +1643,7 @@ fn var_config_aliased_variables_initialized() { %FB = type { i32*, i32* } %__vtable_FB = type { void (%FB*)* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__FB__init = unnamed_addr constant %FB zeroinitializer @____vtable_FB__init = unnamed_addr constant %__vtable_FB zeroinitializer @@ -1781,7 +1781,7 @@ fn var_external_blocks_are_ignored_in_init_functions() { %__vtable_foo = type { void (%foo*)* } %foo = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1872,7 +1872,7 @@ fn ref_to_local_member() { %__vtable_foo = type { void (%foo*)* } %foo = type { i32*, [81 x i8], [81 x i8]*, [81 x i8]*, [81 x i8]* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1979,7 +1979,7 @@ fn ref_to_local_member_shadows_global() { %foo = type { i32*, [81 x i8], [81 x i8]*, [81 x i8]*, [81 x i8]* } @s = global [81 x i8] zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2083,7 +2083,7 @@ fn temporary_variable_ref_to_local_member() { %__vtable_foo = type { void (%foo*)* } %foo = type { i32*, [81 x i8] } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2175,7 +2175,7 @@ fn temporary_variable_ref_to_temporary_variable() { target datalayout = "[filtered]" target triple = "[filtered]" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] define void @foo() { entry: @@ -2234,7 +2234,7 @@ fn initializing_method_variables_with_refs() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2336,7 +2336,7 @@ fn initializing_method_variables_with_refs_referencing_parent_pou_variable() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32*, i32 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo { i32* null, i32 5 } @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2439,7 +2439,7 @@ fn initializing_method_variables_with_refs_referencing_global_variable() { %foo = type { i32* } @x = global i32 0 - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2541,7 +2541,7 @@ fn initializing_method_variables_with_refs_shadowing() { %foo = type { i32* } @x = global i32 0 - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2640,7 +2640,7 @@ fn initializing_method_variables_with_alias() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2739,7 +2739,7 @@ fn initializing_method_variables_with_reference_to() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2847,7 +2847,7 @@ fn methods_call_init_functions_for_their_members() { %__vtable_bar = type { void (%bar*)*, void (%bar*)* } %bar = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -3016,7 +3016,7 @@ fn user_fb_init_is_added_and_called_if_it_exists() { %foo = type { i32*, i16, i16 } %__vtable_foo = type { void (%foo*)*, void (%foo*)* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @@ -3170,7 +3170,7 @@ fn user_fb_init_in_global_struct() { %foo = type { i32*, i16, i16 } %__vtable_foo = type { void (%foo*)*, void (%foo*)* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__bar__init = unnamed_addr constant %bar zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @@ -3337,7 +3337,7 @@ fn user_init_called_when_declared_as_external() { %foo = type { i32*, i16, i16 } %__vtable_foo = type { void (%foo*)*, void (%foo*)* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @prog_instance = global %prog zeroinitializer @__foo__init = external unnamed_addr constant %foo @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer diff --git a/src/codegen/tests/oop_tests.rs b/src/codegen/tests/oop_tests.rs index f8e84dc9a4..832abfa1ae 100644 --- a/src/codegen/tests/oop_tests.rs +++ b/src/codegen/tests/oop_tests.rs @@ -30,7 +30,7 @@ fn members_from_base_class_are_available_in_subclasses() { %__vtable_bar = type { void (%bar*)* } %bar = type { %foo } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -179,7 +179,7 @@ fn write_to_parent_variable_qualified_access() { %__vtable_foo = type { void (%foo*)* } %foo = type { i32*, %fb2 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_fb__init = unnamed_addr constant %__vtable_fb zeroinitializer @__fb__init = unnamed_addr constant %fb zeroinitializer @__vtable_fb_instance = global %__vtable_fb zeroinitializer @@ -388,7 +388,7 @@ fn write_to_parent_variable_in_instance() { @utf08_literal_0 = private unnamed_addr constant [6 x i8] c"hello\00" @utf08_literal_1 = private unnamed_addr constant [6 x i8] c"world\00" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -596,7 +596,7 @@ fn array_in_parent_generated() { %__vtable_child = type { void (%child*)* } %child = type { %parent, [11 x i16] } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_grandparent__init = unnamed_addr constant %__vtable_grandparent zeroinitializer @__grandparent__init = unnamed_addr constant %grandparent zeroinitializer @__vtable_grandparent_instance = global %__vtable_grandparent zeroinitializer @@ -843,7 +843,7 @@ fn complex_array_access_generated() { %__vtable_child = type { void (%child*)* } %child = type { %parent, [11 x i16] } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_grandparent__init = unnamed_addr constant %__vtable_grandparent zeroinitializer @__grandparent__init = unnamed_addr constant %grandparent zeroinitializer @__vtable_grandparent_instance = global %__vtable_grandparent zeroinitializer @@ -1111,7 +1111,7 @@ fn this_in_method_call_chain() { %__vtable_FB_Test = type { void (%FB_Test*)*, void (%FB_Test*)*, void (%FB_Test*)* } %FB_Test = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test zeroinitializer @__vtable_FB_Test_instance = global %__vtable_FB_Test zeroinitializer @@ -1217,7 +1217,7 @@ fn this_in_method_and_body_in_function_block() { %__vtable_FB_Test = type { void (%FB_Test*)*, i16 (%FB_Test*)* } %FB_Test = type { i32*, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test { i32* null, i16 5 } @__vtable_FB_Test_instance = global %__vtable_FB_Test zeroinitializer @@ -1340,7 +1340,7 @@ fn pass_this_to_method() { %FB_Test2 = type { i32* } %__vtable_FB_Test2 = type { void (%FB_Test2*)*, i16 (%FB_Test2*, %FB_Test*)* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test { i32* null, i16 5 } @__FB_Test2__init = unnamed_addr constant %FB_Test2 zeroinitializer @@ -1519,7 +1519,7 @@ fn this_with_shadowed_variable() { %__vtable_FB_Test = type { void (%FB_Test*)*, void (%FB_Test*)* } %FB_Test = type { i32*, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test { i32* null, i16 5 } @__vtable_FB_Test_instance = global %__vtable_FB_Test zeroinitializer @@ -1627,7 +1627,7 @@ fn this_calling_function_and_passing_this() { %__vtable_FB_Test = type { void (%FB_Test*)* } %FB_Test = type { i32*, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test zeroinitializer @__vtable_FB_Test_instance = global %__vtable_FB_Test zeroinitializer @@ -1733,7 +1733,7 @@ fn this_in_property_and_calling_method() { %__vtable_FB_Test = type { void (%FB_Test*)*, i16 (%FB_Test*)*, i16 (%FB_Test*)*, void (%FB_Test*, i16)* } %FB_Test = type { i32*, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test zeroinitializer @__vtable_FB_Test_instance = global %__vtable_FB_Test zeroinitializer @@ -1878,7 +1878,7 @@ fn this_with_self_pointer() { %__vtable_FB_Test = type { void (%FB_Test*)*, void (%FB_Test*)* } %FB_Test = type { i32*, %FB_Test* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB_Test__init = unnamed_addr constant %__vtable_FB_Test zeroinitializer @__FB_Test__init = unnamed_addr constant %FB_Test zeroinitializer @__vtable_FB_Test_instance = global %__vtable_FB_Test zeroinitializer @@ -1977,7 +1977,7 @@ fn this_in_variable_initialization() { %__vtable_FB = type { void (%FB*)* } %FB = type { i32*, i16, %FB*, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_FB__init = unnamed_addr constant %__vtable_FB zeroinitializer @__FB__init = unnamed_addr constant %FB { i32* null, i16 5, %FB* null, i16 5 } @__vtable_FB_instance = global %__vtable_FB zeroinitializer @@ -2057,7 +2057,7 @@ fn this_in_action_in_functionblock() { %__vtable_fb = type { void (%fb*)* } %fb = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_fb__init = unnamed_addr constant %__vtable_fb zeroinitializer @__fb__init = unnamed_addr constant %fb zeroinitializer @__vtable_fb_instance = global %__vtable_fb zeroinitializer @@ -2143,7 +2143,7 @@ fn this_calling_functionblock_body_from_method() { %__vtable_fb = type { void (%fb*)*, i16 (%fb*)* } %fb = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_fb__init = unnamed_addr constant %__vtable_fb zeroinitializer @__fb__init = unnamed_addr constant %fb zeroinitializer @__vtable_fb_instance = global %__vtable_fb zeroinitializer @@ -2249,7 +2249,7 @@ fn fb_extension_with_output() { %__vtable_foo2 = type { void (%foo2*)*, i16 (%foo*, i16, i16, i16*)* } %foo2 = type { %foo } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -2440,7 +2440,7 @@ fn function_with_output_used_in_main_by_extension() { %__vtable_foo2 = type { void (%foo2*)*, i16 (%foo*, i16, i16, i16*)* } %foo2 = type { %foo, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer diff --git a/src/codegen/tests/oop_tests/debug_tests.rs b/src/codegen/tests/oop_tests/debug_tests.rs index 71235a31b4..bdada292c1 100644 --- a/src/codegen/tests/oop_tests/debug_tests.rs +++ b/src/codegen/tests/oop_tests/debug_tests.rs @@ -28,7 +28,7 @@ fn members_from_base_class_are_available_in_subclasses() { %__vtable_bar = type { void (%bar*)* } %bar = type { %foo } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer, !dbg !0 @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -231,7 +231,7 @@ fn write_to_parent_variable_qualified_access() { %__vtable_foo = type { void (%foo*)* } %foo = type { i32*, %fb2 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_fb__init = unnamed_addr constant %__vtable_fb zeroinitializer @__fb__init = unnamed_addr constant %fb zeroinitializer, !dbg !0 @__vtable_fb_instance = global %__vtable_fb zeroinitializer @@ -501,7 +501,7 @@ fn write_to_parent_variable_in_instance() { @utf08_literal_0 = private unnamed_addr constant [6 x i8] c"hello\00" @utf08_literal_1 = private unnamed_addr constant [6 x i8] c"world\00" - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer, !dbg !0 @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -775,7 +775,7 @@ fn array_in_parent_generated() { %__vtable_child = type { void (%child*)* } %child = type { %parent, [11 x i16] } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_grandparent__init = unnamed_addr constant %__vtable_grandparent zeroinitializer @__grandparent__init = unnamed_addr constant %grandparent zeroinitializer, !dbg !0 @__vtable_grandparent_instance = global %__vtable_grandparent zeroinitializer @@ -1100,7 +1100,7 @@ fn complex_array_access_generated() { %__vtable_child = type { void (%child*)* } %child = type { %parent, [11 x i16] } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_grandparent__init = unnamed_addr constant %__vtable_grandparent zeroinitializer @__grandparent__init = unnamed_addr constant %grandparent zeroinitializer, !dbg !0 @__vtable_grandparent_instance = global %__vtable_grandparent zeroinitializer @@ -1385,7 +1385,7 @@ fn function_block_method_debug_info() { %__vtable_bar = type { void (%bar*)*, void (%foo*)* } %bar = type { %foo } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer, !dbg !0 @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1630,7 +1630,7 @@ END_FUNCTION %__vtable_grandchild = type { void (%grandchild*)* } %grandchild = type { %child, i32 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent zeroinitializer, !dbg !0 @__vtable_parent_instance = global %__vtable_parent zeroinitializer diff --git a/src/codegen/tests/oop_tests/super_tests.rs b/src/codegen/tests/oop_tests/super_tests.rs index 7ad6926fa8..bc64fd4471 100644 --- a/src/codegen/tests/oop_tests/super_tests.rs +++ b/src/codegen/tests/oop_tests/super_tests.rs @@ -28,7 +28,7 @@ fn super_keyword_basic_access() { %__vtable_child = type { void (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -171,7 +171,7 @@ fn super_without_deref() { %__vtable_child = type { void (%child*)* } %child = type { %parent, %parent* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -321,7 +321,7 @@ fn super_in_method_calls() { %__vtable_child = type { void (%child*)*, i16 (%child*)*, i16 (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -519,7 +519,7 @@ fn super_in_complex_expressions() { %__vtable_child = type { void (%child*)* } %child = type { %parent, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10, i16 20 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -673,7 +673,7 @@ fn super_with_array_access() { %child = type { %parent, i16 } @__parent.arr__init = unnamed_addr constant [6 x i16] [i16 1, i16 2, i16 3, i16 4, i16 5, i16 6] - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, [6 x i16] [i16 1, i16 2, i16 3, i16 4, i16 5, i16 6] } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -841,7 +841,7 @@ fn super_in_multi_level_inheritance() { %__vtable_child = type { void (%child*)*, i16 (%grandparent*)*, i16 (%parent*)*, i16 (%child*)* } %child = type { %parent, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_grandparent__init = unnamed_addr constant %__vtable_grandparent zeroinitializer @__grandparent__init = unnamed_addr constant %grandparent { i32* null, i16 10 } @__vtable_grandparent_instance = global %__vtable_grandparent zeroinitializer @@ -1104,7 +1104,7 @@ fn super_with_pointer_operations() { %__vtable_child = type { void (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10, i16* null } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -1267,7 +1267,7 @@ fn super_in_conditionals() { %__vtable_child = type { void (%child*)*, void (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 50, i16 10 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -1463,7 +1463,7 @@ fn super_with_const_variables() { %__vtable_child = type { void (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 100, i16 50 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -1621,7 +1621,7 @@ fn super_as_function_parameter() { %__vtable_child = type { void (%child*)*, void (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -1812,7 +1812,7 @@ fn super_with_deeply_nested_expressions() { %__vtable_child = type { void (%child*)*, i16 (%parent*)*, i16 (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 1, i16 2, i16 3 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -2044,7 +2044,7 @@ fn super_in_loop_constructs() { %child = type { %parent } @__parent.arr__init = unnamed_addr constant [6 x i16] [i16 1, i16 2, i16 3, i16 4, i16 5, i16 6] - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 0, [6 x i16] [i16 1, i16 2, i16 3, i16 4, i16 5, i16 6] } @__vtable_parent_instance = global %__vtable_parent zeroinitializer @@ -2328,7 +2328,7 @@ fn super_with_method_overrides_in_three_levels() { %__vtable_child = type { void (%child*)*, i16 (%child*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_grandparent__init = unnamed_addr constant %__vtable_grandparent zeroinitializer @__grandparent__init = unnamed_addr constant %grandparent zeroinitializer @__vtable_grandparent_instance = global %__vtable_grandparent zeroinitializer @@ -2639,7 +2639,7 @@ fn super_with_structured_types() { @__parent.data__init = unnamed_addr constant %Complex_Type { i16 10, i16 20, float 3.050000e+01 } @__parent.arr_data__init = unnamed_addr constant [2 x %Complex_Type] [%Complex_Type { i16 1, i16 2, float 3.500000e+00 }, %Complex_Type { i16 4, i16 5, float 6.500000e+00 }] - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, %Complex_Type { i16 10, i16 20, float 3.050000e+01 }, [2 x %Complex_Type] [%Complex_Type { i16 1, i16 2, float 3.500000e+00 }, %Complex_Type { i16 4, i16 5, float 6.500000e+00 }] } @__Complex_Type__init = unnamed_addr constant %Complex_Type zeroinitializer @@ -2858,7 +2858,7 @@ fn super_in_action_blocks() { %__vtable_child = type { void (%child*)*, void (%parent*)* } %child = type { %parent } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_parent__init = unnamed_addr constant %__vtable_parent zeroinitializer @__parent__init = unnamed_addr constant %parent { i32* null, i16 10 } @__vtable_parent_instance = global %__vtable_parent zeroinitializer diff --git a/src/codegen/tests/polymorphism.rs b/src/codegen/tests/polymorphism.rs index 223b0b810c..ef2d4d9d9e 100644 --- a/src/codegen/tests/polymorphism.rs +++ b/src/codegen/tests/polymorphism.rs @@ -56,7 +56,7 @@ fn simple_overridden_method() { %__vtable_B = type { void (%B*)*, i16 (%B*, i32)* } %B = type { %A, i16, i16 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_A__init = unnamed_addr constant %__vtable_A zeroinitializer @__A__init = unnamed_addr constant %A zeroinitializer @__vtable_A_instance = global %__vtable_A zeroinitializer @@ -276,7 +276,7 @@ fn method_call_within_method() { %__vtable_A = type { void (%A*)*, i16 (%A*, i32)*, void (%A*)* } %A = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_A__init = unnamed_addr constant %__vtable_A zeroinitializer @__A__init = unnamed_addr constant %A zeroinitializer @__vtable_A_instance = global %__vtable_A zeroinitializer @@ -419,7 +419,7 @@ fn this_is_untouched() { %__vtable_C = type { void (%C*)*, i16 (%C*, i32)*, void (%C*)* } %C = type { %A } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_A__init = unnamed_addr constant %__vtable_A zeroinitializer @__A__init = unnamed_addr constant %A zeroinitializer @__vtable_A_instance = global %__vtable_A zeroinitializer @@ -703,7 +703,7 @@ fn super_is_untouched() { %__vtable_B = type { void (%B*)*, i16 (%B*, i32)*, void (%B*)* } %B = type { %A } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_A__init = unnamed_addr constant %__vtable_A zeroinitializer @__A__init = unnamed_addr constant %A zeroinitializer @__vtable_A_instance = global %__vtable_A zeroinitializer diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap index ce5f64fa6d..6fe7d77396 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap @@ -10,7 +10,7 @@ target triple = "[filtered]" %myStruct = type { i32, %myStruct2 } %myStruct2 = type { i32, double } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer, !dbg !0 @__myStruct2__init = unnamed_addr constant %myStruct2 zeroinitializer, !dbg !14 @gStruct = global %myStruct zeroinitializer, !dbg !17 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap index 3e6044abdc..c331905c23 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap @@ -10,7 +10,7 @@ target triple = "[filtered]" %myStruct = type { i32, double, [11 x i32] } @b = global [11 x %myStruct] zeroinitializer, !dbg !0 -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer, !dbg !14 @gStruct = global %myStruct zeroinitializer, !dbg !17 diff --git a/src/tests/adr/initializer_functions_adr.rs b/src/tests/adr/initializer_functions_adr.rs index 956271e2af..82aac474df 100644 --- a/src/tests/adr/initializer_functions_adr.rs +++ b/src/tests/adr/initializer_functions_adr.rs @@ -657,7 +657,7 @@ fn generating_init_functions() { "; let res = generate_to_string("Test", vec![SourceCode::from(src)]).unwrap(); - filtered_assert_snapshot!(res, @r###" + filtered_assert_snapshot!(res, @r#" ; ModuleID = '' source_filename = "" target datalayout = "[filtered]" @@ -668,7 +668,7 @@ fn generating_init_functions() { @__myStruct__init = unnamed_addr constant %myStruct zeroinitializer @__myRefStruct__init = unnamed_addr constant %myRefStruct zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] define void @__init_mystruct(%myStruct* %0) { entry: @@ -702,7 +702,7 @@ fn generating_init_functions() { entry: ret void } - "###); + "#); // The second example shows how each initializer function delegates member-initialization to the respective member-init-function // The wrapping init function contains a single call-statement to `__init_baz`, since `baz` is the only global instance in need of @@ -751,7 +751,7 @@ fn generating_init_functions() { %__vtable_foo = type { void (%foo*)* } %__vtable_bar = type { void (%bar*)* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @baz_instance = global %baz zeroinitializer @__bar__init = unnamed_addr constant %bar zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @@ -956,7 +956,7 @@ fn intializing_temporary_variables() { @ps2 = global [81 x i8] zeroinitializer @ps = global [81 x i8] zeroinitializer - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1073,7 +1073,7 @@ fn initializing_method_variables() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32* } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo zeroinitializer @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1181,7 +1181,7 @@ fn initializing_method_variables() { %foo = type { i32*, i32 } @y = global i32 0 - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo { i32* null, i32 5 } @__vtable_foo_instance = global %__vtable_foo zeroinitializer @@ -1293,7 +1293,7 @@ fn initializing_method_variables() { %__vtable_foo = type { void (%foo*)*, void (%foo*)* } %foo = type { i32*, i32 } - @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___Test, i8* null }] + @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___Test, i8* null }] @____vtable_foo__init = unnamed_addr constant %__vtable_foo zeroinitializer @__foo__init = unnamed_addr constant %foo { i32* null, i32 5 } @__vtable_foo_instance = global %__vtable_foo zeroinitializer diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap index 9c379db663..63647abd3b 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap @@ -6,7 +6,7 @@ target triple = "[filtered]" %main = type { i32, i32 } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] @main_instance = global %main zeroinitializer, !dbg !0 define void @main(%main* %0) !dbg !12 { diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap index 00cde4aeb9..c084a257c0 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap @@ -7,7 +7,7 @@ target triple = "[filtered]" %__vtable_conditional_return = type { void (%conditional_return*)* } %conditional_return = type { i32*, i32 } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] @____vtable_conditional_return__init = unnamed_addr constant %__vtable_conditional_return zeroinitializer @__conditional_return__init = unnamed_addr constant %conditional_return zeroinitializer @__vtable_conditional_return_instance = global %__vtable_conditional_return zeroinitializer diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap index 09ce600120..c6713c2852 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap @@ -1,11 +1,10 @@ --- source: tests/integration/cfc.rs expression: output_file_content_without_headers -snapshot_kind: text --- target triple = "[filtered]" -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] define i32 @foo(i32 %0) !dbg !4 { entry: diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap index caba351944..16095b6fc7 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap @@ -7,7 +7,7 @@ target triple = "[filtered]" %__vtable_conditional_return = type { void (%conditional_return*)* } %conditional_return = type { i32*, i32 } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] @____vtable_conditional_return__init = unnamed_addr constant %__vtable_conditional_return zeroinitializer @__conditional_return__init = unnamed_addr constant %conditional_return zeroinitializer @__vtable_conditional_return_instance = global %__vtable_conditional_return zeroinitializer diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap index 57a6a546d0..67b64413ed 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap @@ -7,7 +7,7 @@ target triple = "[filtered]" %__vtable_conditional_return = type { void (%conditional_return*)* } %conditional_return = type { i32*, i32 } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] @____vtable_conditional_return__init = unnamed_addr constant %__vtable_conditional_return zeroinitializer @__conditional_return__init = unnamed_addr constant %conditional_return zeroinitializer @__vtable_conditional_return_instance = global %__vtable_conditional_return zeroinitializer diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap index 5079d6481e..ac7e3657eb 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap @@ -1,13 +1,12 @@ --- source: tests/integration/cfc.rs expression: output_file_content_without_headers -snapshot_kind: text --- target triple = "[filtered]" %foo = type { i32 } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] @foo_instance = global %foo zeroinitializer, !dbg !0 define void @foo(%foo* %0) !dbg !11 { diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap index 8703789d52..b7334b1fcd 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap @@ -1,11 +1,10 @@ --- source: tests/integration/cfc.rs expression: output_file_content_without_headers -snapshot_kind: text --- target triple = "[filtered]" -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] define i32 @main() { entry: diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap index c5fa1c00a8..153360236d 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap @@ -1,11 +1,10 @@ --- source: tests/integration/cfc.rs expression: output_file_content_without_headers -snapshot_kind: text --- target triple = "[filtered]" -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] define i32 @main() { entry: diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap index fb480bfabf..9ca9d3ee7a 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap @@ -1,13 +1,12 @@ --- source: tests/integration/cfc.rs expression: output_file_content_without_headers -snapshot_kind: text --- target triple = "[filtered]" %main = type { i32 } -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] @main_instance = global %main zeroinitializer, !dbg !0 define void @main(%main* %0) !dbg !11 { diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap b/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap index ba1b24a31e..42d6571541 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap @@ -1,11 +1,10 @@ --- source: tests/integration/cfc.rs expression: output_file_content_without_headers -snapshot_kind: text --- target triple = "[filtered]" -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___plc, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___plc, i8* null }] define i32 @main() { entry: diff --git a/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap b/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap index f151ac3254..ad6093b76b 100644 --- a/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap +++ b/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap @@ -1,6 +1,5 @@ --- source: tests/integration/command_line_compile.rs expression: content -snapshot_kind: text --- -target datalayout = "[filtered]"@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 0, void ()* @__init___command_line_st, i8* null }]define void @__init___command_line_st() {entry: ret void}define i32 @myFunc(i32 %0, i32 %1, i32 %2) {entry: %myFunc = alloca i32, align 4 %a = alloca i32, align 4 store i32 %0, i32* %a, align 4 %b = alloca i32, align 4 store i32 %1, i32* %b, align 4 %c = alloca i32, align 4 store i32 %2, i32* %c, align 4 store i32 0, i32* %myFunc, align 4 %myFunc_ret = load i32, i32* %myFunc, align 4 ret i32 %myFunc_ret} +target datalayout = "[filtered]"@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___command_line_st, i8* null }]define void @__init___command_line_st() {entry: ret void}define i32 @myFunc(i32 %0, i32 %1, i32 %2) {entry: %myFunc = alloca i32, align 4 %a = alloca i32, align 4 store i32 %0, i32* %a, align 4 %b = alloca i32, align 4 store i32 %1, i32* %b, align 4 %c = alloca i32, align 4 store i32 %2, i32* %c, align 4 store i32 0, i32* %myFunc, align 4 %myFunc_ret = load i32, i32* %myFunc, align 4 ret i32 %myFunc_ret} diff --git a/tests/lit/.gitignore b/tests/lit/.gitignore new file mode 100644 index 0000000000..567609b123 --- /dev/null +++ b/tests/lit/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/tests/lit/lit.cfg b/tests/lit/lit.cfg index 6b07c4aa42..00478edf5f 100644 --- a/tests/lit/lit.cfg +++ b/tests/lit/lit.cfg @@ -17,4 +17,4 @@ print(f'Compile command: {compile}') config.substitutions.append(('%COMPILE', f'{compile}')) config.substitutions.append(('%RUN', f'LD_LIBRARY_PATH="{stdlibLocation}/lib" /tmp/%basename_t.out')) -config.substitutions.append(('%CHECK', f'FileCheck-14 --check-prefixes CHECK --allow-unused-prefixes --match-full-lines')) \ No newline at end of file +config.substitutions.append(('%CHECK', f'FileCheck-14 --check-prefixes CHECK --allow-unused-prefixes --match-full-lines')) diff --git a/tests/lit/multi/constructors/plc.json b/tests/lit/multi/constructors/plc.json new file mode 100644 index 0000000000..ec7b7c35ac --- /dev/null +++ b/tests/lit/multi/constructors/plc.json @@ -0,0 +1,14 @@ +{ + "name" : "Application", + "files" : [ + "src/child.st", + "src/main.st", + "src/base.st", + "../../util/printf.pli" + ], + "compile_type" : "Static", + "output" : "app", + "libraries" : [ + ] +} + diff --git a/tests/lit/multi/constructors/run.test b/tests/lit/multi/constructors/run.test new file mode 100644 index 0000000000..ae42ba3053 --- /dev/null +++ b/tests/lit/multi/constructors/run.test @@ -0,0 +1,2 @@ +RUN: %COMPILE build plc.json && %RUN | %CHECK %s +CHECK: 36 diff --git a/tests/lit/multi/constructors/src/base.st b/tests/lit/multi/constructors/src/base.st new file mode 100644 index 0000000000..5662d0cdb0 --- /dev/null +++ b/tests/lit/multi/constructors/src/base.st @@ -0,0 +1,11 @@ +FUNCTION_BLOCK baseFb + VAR_OUTPUT + x : DINT; + y : REFERENCE TO DINT REF= x; + END_VAR + + METHOD FB_INIT + THIS^.x := 10; + THIS^.y := THIS^.x + 1; //x and y are 11 + END_METHOD +END_FUNCTION_BLOCK diff --git a/tests/lit/multi/constructors/src/child.st b/tests/lit/multi/constructors/src/child.st new file mode 100644 index 0000000000..45b6d2b75f --- /dev/null +++ b/tests/lit/multi/constructors/src/child.st @@ -0,0 +1,4 @@ +FUNCTION_BLOCK child EXTENDS baseFb + THIS^.x := This^.x + 5; // x is now 16 + THIS^.y := THIS^.y + 2; // y is now 18 +END_FUNCTION_BLOCK diff --git a/tests/lit/multi/constructors/src/main.st b/tests/lit/multi/constructors/src/main.st new file mode 100644 index 0000000000..9d4512c8c6 --- /dev/null +++ b/tests/lit/multi/constructors/src/main.st @@ -0,0 +1,10 @@ +VAR_GLOBAL + childInst : child; +END_VAR + + +FUNCTION main : DINT + childInst(); + main := childInst.y + childInst.x; // Should be 36 (18 + 18) + printf('%d$N', main); +END_FUNCTION diff --git a/tests/lit/multi/multi_lib/lib1/include/base.pli b/tests/lit/multi/multi_lib/lib1/include/base.pli new file mode 100644 index 0000000000..8ad81717bd --- /dev/null +++ b/tests/lit/multi/multi_lib/lib1/include/base.pli @@ -0,0 +1,9 @@ +FUNCTION_BLOCK baseFb + VAR_OUTPUT + x : DINT; + y : REFERENCE TO DINT; + END_VAR + + METHOD FB_INIT + END_METHOD +END_FUNCTION_BLOCK diff --git a/tests/lit/multi/multi_lib/lib1/plc.json b/tests/lit/multi/multi_lib/lib1/plc.json new file mode 100644 index 0000000000..a107019777 --- /dev/null +++ b/tests/lit/multi/multi_lib/lib1/plc.json @@ -0,0 +1,11 @@ +{ + "name" : "parentLib", + "files" : [ + "./src/base.st" + ], + "output": "libparent.so", + "compile_type" : "Shared", + "libraries" : [ + ] +} + diff --git a/tests/lit/multi/multi_lib/lib1/src/base.st b/tests/lit/multi/multi_lib/lib1/src/base.st new file mode 100644 index 0000000000..5662d0cdb0 --- /dev/null +++ b/tests/lit/multi/multi_lib/lib1/src/base.st @@ -0,0 +1,11 @@ +FUNCTION_BLOCK baseFb + VAR_OUTPUT + x : DINT; + y : REFERENCE TO DINT REF= x; + END_VAR + + METHOD FB_INIT + THIS^.x := 10; + THIS^.y := THIS^.x + 1; //x and y are 11 + END_METHOD +END_FUNCTION_BLOCK diff --git a/tests/lit/multi/multi_lib/lib2/child.st b/tests/lit/multi/multi_lib/lib2/child.st new file mode 100644 index 0000000000..45b6d2b75f --- /dev/null +++ b/tests/lit/multi/multi_lib/lib2/child.st @@ -0,0 +1,4 @@ +FUNCTION_BLOCK child EXTENDS baseFb + THIS^.x := This^.x + 5; // x is now 16 + THIS^.y := THIS^.y + 2; // y is now 18 +END_FUNCTION_BLOCK diff --git a/tests/lit/multi/multi_lib/lib2/main.st b/tests/lit/multi/multi_lib/lib2/main.st new file mode 100644 index 0000000000..9d4512c8c6 --- /dev/null +++ b/tests/lit/multi/multi_lib/lib2/main.st @@ -0,0 +1,10 @@ +VAR_GLOBAL + childInst : child; +END_VAR + + +FUNCTION main : DINT + childInst(); + main := childInst.y + childInst.x; // Should be 36 (18 + 18) + printf('%d$N', main); +END_FUNCTION diff --git a/tests/lit/multi/multi_lib/lib2/plc.json b/tests/lit/multi/multi_lib/lib2/plc.json new file mode 100644 index 0000000000..5b608058d2 --- /dev/null +++ b/tests/lit/multi/multi_lib/lib2/plc.json @@ -0,0 +1,21 @@ +{ + "name" : "Application", + "files" : [ + "child.st", + "main.st", + "../../../util/printf.pli" + ], + "compile_type" : "Static", + "output" : "app", + "libraries" : [ + { + "name": "parent", + "path": "../build/", + "package": "System", + "include_path" : [ + "../lib1/include/base.pli" + ] + } + ] +} + diff --git a/tests/lit/multi/multi_lib/lit.local.cfg b/tests/lit/multi/multi_lib/lit.local.cfg new file mode 100644 index 0000000000..9c900a6295 --- /dev/null +++ b/tests/lit/multi/multi_lib/lit.local.cfg @@ -0,0 +1,9 @@ +stdlibLocation = lit_config.params["LIB"] +compilerLocation = lit_config.params["COMPILER"] +# Add a substitution for a lib compile command +libCompile = f'{compilerLocation} build' +libCompile = f'{libCompile} --linker=cc' +print(f'Lib Compile command: {libCompile}') + +config.substitutions.append(('%LIBCOMPILE', f'{libCompile}')) +config.substitutions.append(('%APPRUN', f'LD_LIBRARY_PATH="{stdlibLocation}/lib:./build" /tmp/%basename_t.out')) diff --git a/tests/lit/multi/multi_lib/run.test b/tests/lit/multi/multi_lib/run.test new file mode 100644 index 0000000000..c00d688302 --- /dev/null +++ b/tests/lit/multi/multi_lib/run.test @@ -0,0 +1,2 @@ +RUN: %LIBCOMPILE lib1/plc.json && %COMPILE build lib2/plc.json && %APPRUN | %CHECK %s +CHECK: 36 diff --git a/tests/lit/single/address/hardware_reference_used.st b/tests/lit/single/address/hardware_reference_used.st index 4d8d38b666..156069b04b 100755 --- a/tests/lit/single/address/hardware_reference_used.st +++ b/tests/lit/single/address/hardware_reference_used.st @@ -7,8 +7,6 @@ VAR_GLOBAL END_VAR FUNCTION main : DINT - __init___hardware_reference_used_st(); - a := TRUE; printf('%u$N', a); //CHECK: 1 b := TRUE; diff --git a/tests/lit/single/address/reference_in_body.st b/tests/lit/single/address/reference_in_body.st index 1be406842c..c9f2ae86e9 100755 --- a/tests/lit/single/address/reference_in_body.st +++ b/tests/lit/single/address/reference_in_body.st @@ -7,8 +7,6 @@ VAR_GLOBAL END_VAR FUNCTION main : DINT - __init___reference_in_body_st(); - %IX1.2.1 := TRUE; printf('%u$N', a); //CHECK: 1 b := TRUE; @@ -17,4 +15,4 @@ FUNCTION main : DINT printf('%d$N', c); //CHECK: 1337 d := 98765; printf('%d$N', %QX1.2.4); //CHECK: 98765 -END_FUNCTION \ No newline at end of file +END_FUNCTION From 0e1b31e0db6388a1703d64f430c6b9212bc18ede Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 07:20:37 +0100 Subject: [PATCH 02/10] ignore the multilib for this branch, it is fixed in a subsequent PR --- tests/lit/multi/multi_lib/{run.test => run.test.ignore} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/lit/multi/multi_lib/{run.test => run.test.ignore} (100%) diff --git a/tests/lit/multi/multi_lib/run.test b/tests/lit/multi/multi_lib/run.test.ignore similarity index 100% rename from tests/lit/multi/multi_lib/run.test rename to tests/lit/multi/multi_lib/run.test.ignore From 59aca336a97aa8b57f346140abed5eecb0b75e5d Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 07:41:25 +0100 Subject: [PATCH 03/10] change the main method on some test from i16 to i32 for easier tests on aarch64 --- compiler/plc_driver/src/tests/external_files.rs | 10 +++++----- compiler/plc_driver/src/tests/multi_files.rs | 8 ++++---- ...ernal_files__external_file_function_call.snap | 16 ++++++++-------- ...external_files__external_file_global_var.snap | 16 ++++++++-------- ...s_in_different_locations_with_debug_info.snap | 16 ++++++++-------- ...ti_files__multiple_files_with_debug_info.snap | 16 ++++++++-------- ...i_files__multiple_source_files_generated.snap | 10 +++++----- compiler/plc_llvm/build.rs | 10 +++++++++- 8 files changed, 55 insertions(+), 47 deletions(-) diff --git a/compiler/plc_driver/src/tests/external_files.rs b/compiler/plc_driver/src/tests/external_files.rs index 82326cfdae..f89b0aa884 100644 --- a/compiler/plc_driver/src/tests/external_files.rs +++ b/compiler/plc_driver/src/tests/external_files.rs @@ -9,7 +9,7 @@ fn external_file_function_call() { //Given a program calling a function from an external file let prog = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT external(); END_FUNCTION ", @@ -18,7 +18,7 @@ fn external_file_function_call() { let ext = SourceCode::new( " - FUNCTION external : INT + FUNCTION external : DINT END_FUNCTION ", "external.st", @@ -34,7 +34,7 @@ fn external_file_global_var() { //Given a program calling a function from an external file let prog = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT x := 2; y := 2; external(); @@ -48,7 +48,7 @@ fn external_file_global_var() { VAR_GLOBAL x : INT; END_VAR - FUNCTION external : INT + FUNCTION external : DINT END_FUNCTION VAR_GLOBAL y : INT; @@ -67,7 +67,7 @@ fn calling_external_file_function_without_including_file_results_in_error() { //Given a program calling a function from an external file let prog = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT external(); END_FUNCTION ", diff --git a/compiler/plc_driver/src/tests/multi_files.rs b/compiler/plc_driver/src/tests/multi_files.rs index b3ee19bd3f..d2d2a1a29f 100644 --- a/compiler/plc_driver/src/tests/multi_files.rs +++ b/compiler/plc_driver/src/tests/multi_files.rs @@ -9,7 +9,7 @@ fn multiple_source_files_generated() { //Given 2 sources let src1 = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT VAR_INPUT END_VAR @@ -45,7 +45,7 @@ fn multiple_files_with_debug_info() { //Given 2 sources let src1: SourceCode = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT VAR_INPUT END_VAR @@ -84,7 +84,7 @@ fn multiple_files_in_different_locations_with_debug_info() { //Given 2 sources let src1: SourceCode = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT VAR_INPUT END_VAR @@ -125,7 +125,7 @@ fn forward_declared_constant_is_also_marked_constant() { // and the other with the definition of that constant. let src1 = SourceCode::new( " - FUNCTION main : INT + FUNCTION main : DINT VAR f: foo; END_VAR diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap index 6fdb640894..eaeb321587 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap @@ -7,23 +7,23 @@ source_filename = "main.st" target datalayout = "[filtered]" target triple = "[filtered]" -define i16 @main() { +define i32 @main() { entry: - %main = alloca i16, align 2 - store i16 0, i16* %main, align 2 - %call = call i16 @external() - %main_ret = load i16, i16* %main, align 2 - ret i16 %main_ret + %main = alloca i32, align 4 + store i32 0, i32* %main, align 4 + %call = call i32 @external() + %main_ret = load i32, i32* %main, align 4 + ret i32 %main_ret } -declare i16 @external() +declare i32 @external() ; ModuleID = 'external.st' source_filename = "external.st" target datalayout = "[filtered]" target triple = "[filtered]" -declare i16 @external() +declare i32 @external() ; ModuleID = '__init___TestProject' source_filename = "__init___TestProject" diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap index c622b2b328..f877aef273 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap @@ -10,18 +10,18 @@ target triple = "[filtered]" @x = external global i16 @y = external global i16 -define i16 @main() { +define i32 @main() { entry: - %main = alloca i16, align 2 - store i16 0, i16* %main, align 2 + %main = alloca i32, align 4 + store i32 0, i32* %main, align 4 store i16 2, i16* @x, align 2 store i16 2, i16* @y, align 2 - %call = call i16 @external() - %main_ret = load i16, i16* %main, align 2 - ret i16 %main_ret + %call = call i32 @external() + %main_ret = load i32, i32* %main, align 4 + ret i32 %main_ret } -declare i16 @external() +declare i32 @external() ; ModuleID = 'external.st' source_filename = "external.st" @@ -31,7 +31,7 @@ target triple = "[filtered]" @x = external global i16 @y = external global i16 -declare i16 @external() +declare i32 @external() ; ModuleID = '__init___TestProject' source_filename = "__init___TestProject" diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap index b78b744b3f..5b8ed54a86 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap @@ -11,14 +11,14 @@ target triple = "[filtered]" @mainProg_instance = external global %mainProg -define i16 @main() !dbg !4 { +define i32 @main() !dbg !4 { entry: - %main = alloca i16, align 2 - call void @llvm.dbg.declare(metadata i16* %main, metadata !9, metadata !DIExpression()), !dbg !11 - store i16 0, i16* %main, align 2 + %main = alloca i32, align 4 + call void @llvm.dbg.declare(metadata i32* %main, metadata !9, metadata !DIExpression()), !dbg !11 + store i32 0, i32* %main, align 4 call void @mainProg(%mainProg* @mainProg_instance), !dbg !12 - %main_ret = load i16, i16* %main, align 2, !dbg !13 - ret i16 %main_ret, !dbg !13 + %main_ret = load i32, i32* %main, align 4, !dbg !13 + ret i32 %main_ret, !dbg !13 } declare !dbg !14 void @mainProg(%mainProg*) @@ -40,8 +40,8 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align: 16) -!10 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) +!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align: 32) +!10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 13, scope: !4) !12 = !DILocation(line: 10, column: 4, scope: !4) !13 = !DILocation(line: 11, column: 4, scope: !4) diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap index f95dd7c6a3..76b714ab85 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap @@ -11,14 +11,14 @@ target triple = "[filtered]" @mainProg_instance = external global %mainProg -define i16 @main() !dbg !4 { +define i32 @main() !dbg !4 { entry: - %main = alloca i16, align 2 - call void @llvm.dbg.declare(metadata i16* %main, metadata !9, metadata !DIExpression()), !dbg !11 - store i16 0, i16* %main, align 2 + %main = alloca i32, align 4 + call void @llvm.dbg.declare(metadata i32* %main, metadata !9, metadata !DIExpression()), !dbg !11 + store i32 0, i32* %main, align 4 call void @mainProg(%mainProg* @mainProg_instance), !dbg !12 - %main_ret = load i16, i16* %main, align 2, !dbg !13 - ret i16 %main_ret, !dbg !13 + %main_ret = load i32, i32* %main, align 4, !dbg !13 + ret i32 %main_ret, !dbg !13 } declare !dbg !14 void @mainProg(%mainProg*) @@ -40,8 +40,8 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align: 16) -!10 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) +!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align: 32) +!10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 13, scope: !4) !12 = !DILocation(line: 10, column: 4, scope: !4) !13 = !DILocation(line: 11, column: 4, scope: !4) diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap index d773cc7dab..de89bdd68e 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap @@ -11,13 +11,13 @@ target triple = "[filtered]" @mainProg_instance = external global %mainProg -define i16 @main() { +define i32 @main() { entry: - %main = alloca i16, align 2 - store i16 0, i16* %main, align 2 + %main = alloca i32, align 4 + store i32 0, i32* %main, align 4 call void @mainProg(%mainProg* @mainProg_instance) - %main_ret = load i16, i16* %main, align 2 - ret i16 %main_ret + %main_ret = load i32, i32* %main, align 4 + ret i32 %main_ret } declare void @mainProg(%mainProg*) diff --git a/compiler/plc_llvm/build.rs b/compiler/plc_llvm/build.rs index c098b17c92..83f99b3888 100644 --- a/compiler/plc_llvm/build.rs +++ b/compiler/plc_llvm/build.rs @@ -18,7 +18,15 @@ fn main() { build.cpp(true).file("src/cpp/llvm_wrapper.cpp").flag("-std=c++14"); for flag in cxxflags.split_whitespace() { - if flag.starts_with("-I") || flag.starts_with("-D") { + if flag.starts_with("-I") { + // Found an include path, re-add it as a system include path + let path = flag.trim_start_matches("-I"); + build.flag(format!("-isystem{path}")); + } else if flag.starts_with("-D") { + // Keep definitions as they are + build.flag(flag); + } else { + // For other flags (like -fno-exceptions etc.) build.flag(flag); } } From cb3dd688fb074a3693e575d790ba8c517330e49d Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 07:43:03 +0100 Subject: [PATCH 04/10] run lit release builds on arm --- .github/workflows/lit.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/lit.yml b/.github/workflows/lit.yml index 48f822c935..c98f81eacd 100644 --- a/.github/workflows/lit.yml +++ b/.github/workflows/lit.yml @@ -30,6 +30,11 @@ jobs: lit-linux-release: name: lit tests (Linux, release build) runs-on: ubuntu-latest + strategy: + matrix: + config: + - { os: "ubuntu-latest" } + - { os: "ubuntu-24.04-arm" } container: ghcr.io/plc-lang/rust-llvm:latest steps: - uses: actions/checkout@v3 From 9aa3356e3ee9ab4544da4bf83662158fb4cf3cbd Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 07:49:26 +0100 Subject: [PATCH 05/10] on msvc, ignore external warnings without the -isystem --- compiler/plc_llvm/build.rs | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/compiler/plc_llvm/build.rs b/compiler/plc_llvm/build.rs index 83f99b3888..e77d36de4e 100644 --- a/compiler/plc_llvm/build.rs +++ b/compiler/plc_llvm/build.rs @@ -5,6 +5,7 @@ fn main() { std::env::var("LLVM_CONFIG").unwrap_or_else(|_| "llvm-config-14".to_string()) }; + // Fetch CXXFLAGS from llvm-config let cxxflags = String::from_utf8( std::process::Command::new(&llvm_config) .arg("--cxxflags") @@ -17,22 +18,38 @@ fn main() { let mut build = cc::Build::new(); build.cpp(true).file("src/cpp/llvm_wrapper.cpp").flag("-std=c++14"); + let is_msvc = std::env::var("TARGET").unwrap().ends_with("msvc"); + + if is_msvc { + // MSVC's way to treat included paths as system headers (suppress warnings) + // If the LLVM includes are coming through -I, we want to convert them + // to MSVC's equivalent. + // This is complex, so let's simplify by using the overall warning flags: + + // This flag tells Clang/MSVC not to emit warnings from external headers + // It should be applied to the compiler invocation overall. + build.flag("/external:W0"); + } + for flag in cxxflags.split_whitespace() { if flag.starts_with("-I") { - // Found an include path, re-add it as a system include path let path = flag.trim_start_matches("-I"); - build.flag(format!("-isystem{path}")); + + // On non-MSVC (GNU/Clang) targets, use -isystem + if !is_msvc { + build.flag(format!("-isystem{path}")); + } else { + // MSVC doesn't use -I or -isystem. It uses /I. + // We assume llvm-config outputs -I flags even for Windows, + // so we just pass them through if we use /external:W0 above. + build.flag(flag); + } } else if flag.starts_with("-D") { - // Keep definitions as they are - build.flag(flag); - } else { - // For other flags (like -fno-exceptions etc.) build.flag(flag); } } build.compile("llvm_wrapper"); - println!("cargo:rerun-if-changed=src/cpp/llvm_wrapper.cpp"); } From b0f8937f8d7ddef2d7ade9013dba97439332dc37 Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 14:06:46 +0000 Subject: [PATCH 06/10] filter out alignments so we are compatible with aarch64 --- ...al_files__external_file_function_call.snap | 6 +- ...ernal_files__external_file_global_var.snap | 10 +- ...n_different_locations_with_debug_info.snap | 14 +- ...files__multiple_files_with_debug_info.snap | 14 +- ...iles__multiple_source_files_generated.snap | 14 +- compiler/plc_util/src/lib.rs | 2 + src/codegen/tests/address_tests.rs | 14 +- src/codegen/tests/code_gen_tests.rs | 188 +-- src/codegen/tests/debug_tests.rs | 306 ++-- ...ate_return_value_variable_in_function.snap | 8 +- ...rray_size_correctly_set_in_dwarf_info.snap | 11 +- ...g__assignment_statement_have_location.snap | 9 +- ...ging__case_conditions_location_marked.snap | 17 +- ...bugging__exit_statement_have_location.snap | 9 +- ...gging__for_conditions_location_marked.snap | 19 +- ...bugging__function_calls_have_location.snap | 7 +- ...on_calls_in_expressions_have_location.snap | 7 +- ...ugging__if_conditions_location_marked.snap | 15 +- ...g__implementation_added_as_subroutine.snap | 10 +- ...g__nested_function_calls_get_location.snap | 11 +- ...callable_expressions_have_no_location.snap | 9 +- ...on_function_pous_have_struct_as_param.snap | 12 +- ...ng__repeat_conditions_location_marked.snap | 13 +- ...gging__return_statement_have_location.snap | 9 +- ...temp_variables_in_pous_added_as_local.snap | 46 +- ...out_inout_in_function_added_as_params.snap | 16 +- ...ing__while_conditions_location_marked.snap | 13 +- src/codegen/tests/directaccess_test.rs | 130 +- src/codegen/tests/expression_tests.rs | 194 +-- src/codegen/tests/fnptr.rs | 194 +-- .../complex_initializers.rs | 1194 +++++++------- ...initializer_gets_declared_initializer.snap | 23 +- ..._initializer_gets_default_initializer.snap | 27 +- ...lues_in_global_variables_out_of_order.snap | 4 +- ..._class_struct_initialized_in_function.snap | 14 +- ...ues_for_not_initialized_function_vars.snap | 23 +- ...global_variables_in_inline_assignment.snap | 21 +- ..._block_struct_initialized_in_function.snap | 18 +- ..._function_return_value_is_initialized.snap | 19 +- ..._is_initialized_with_type_initializer.snap | 17 +- ...alue_with_initializers_is_initialized.snap | 19 +- ...e_without_initializers_is_initialized.snap | 19 +- ..._initial_values_in_function_block_pou.snap | 4 +- ...lizers__initialized_array_in_function.snap | 11 +- ...s__initialized_array_type_in_function.snap | 11 +- ...for_struct_initialization_in_function.snap | 11 +- ...nt_functions_are_referenced_correctly.snap | 21 +- ...imilar_names_are_referenced_correctly.snap | 41 +- ...th_inline_initializer_are_initialized.snap | 23 +- ...lizers__initial_values_in_fb_variable.snap | 4 +- src/codegen/tests/online_change_tests.rs | 32 +- src/codegen/tests/oop_tests.rs | 1216 +++++++-------- src/codegen/tests/oop_tests/debug_tests.rs | 688 ++++---- src/codegen/tests/oop_tests/super_tests.rs | 1384 ++++++++--------- src/codegen/tests/parameters_tests.rs | 380 ++--- src/codegen/tests/polymorphism.rs | 464 +++--- ...sts__accessing_nested_array_in_struct.snap | 3 +- ...e_gen_tests__accessing_nested_structs.snap | 5 +- ...e_gen_tests__action_called_in_program.snap | 3 +- ...ode_gen_tests__array_of_int_type_used.snap | 7 +- ...ype_with_non_zero_negative_start_used.snap | 7 +- ..._of_int_type_with_non_zero_start_used.snap | 7 +- ...onstant_expressions_in_case_selectors.snap | 37 +- ...th_enum_expressions_in_case_selectors.snap | 37 +- ...__case_with_multiple_labels_statement.snap | 9 +- ...gen_tests__case_with_ranges_statement.snap | 9 +- ...s__casted_literals_bool_code_gen_test.snap | 9 +- ..._tests__casted_literals_code_gen_test.snap | 5 +- ...ts__casted_literals_hex_code_gen_test.snap | 5 +- ...asted_literals_hex_ints_code_gen_test.snap | 5 +- ...__casted_literals_lreal_code_gen_test.snap | 5 +- ...s__casted_literals_real_code_gen_test.snap | 5 +- ...ests__class_member_access_from_method.snap | 20 +- ...__code_gen_tests__class_method_in_pou.snap | 28 +- ...sts__code_gen_tests__complex_pointers.snap | 35 +- ...ion_in_function_blocks_are_propagated.snap | 6 +- ...anged_type_declaration_are_propagated.snap | 25 +- ...gation_of_struct_fields_on_assignment.snap | 15 +- ..._contants_in_case_statements_resolved.snap | 17 +- ..._date_and_time_addition_in_var_output.snap | 27 +- ..._and_time_global_constants_initialize.snap | 97 +- ...sts__code_gen_tests__date_comparisons.snap | 9 +- ...ues_for_not_initialized_function_vars.snap | 23 +- ...tion_with_name_generates_int_function.snap | 7 +- ...pty_statements_dont_generate_anything.snap | 5 +- ...num_members_can_be_used_in_asignments.snap | 7 +- ...n_tests__fb_method_called_as_function.snap | 38 +- ...sts__code_gen_tests__fb_method_in_pou.snap | 36 +- ..._gen_tests__fb_method_with_var_in_out.snap | 18 +- ...ts__fb_method_with_var_input_defaults.snap | 16 +- ...ode_gen_tests__for_statement_continue.snap | 13 +- ...ts__code_gen_tests__for_statement_int.snap | 13 +- ...s__code_gen_tests__for_statement_lint.snap | 13 +- ...s__code_gen_tests__for_statement_sint.snap | 13 +- ...en_tests__for_statement_with_continue.snap | 19 +- ...de_gen_tests__for_statement_with_exit.snap | 19 +- ..._statement_with_references_steps_test.snap | 23 +- ..._tests__for_statement_with_steps_test.snap | 13 +- ...sts__for_statement_without_steps_test.snap | 13 +- ...n_tests__function_block_instance_call.snap | 4 +- ...unction_block_qualified_instance_call.snap | 8 +- ...on_call_with_same_name_as_return_type.snap | 7 +- ...gen_tests__function_called_in_program.snap | 11 +- ..._tests__function_called_when_shadowed.snap | 11 +- ...on_with_local_temp_var_initialization.snap | 27 +- ...ith_local_var_initialization_and_call.snap | 25 +- ...ion_with_parameters_called_in_program.snap | 15 +- ...with_two_parameters_called_in_program.snap | 19 +- ...lobal_variable_reference_is_generated.snap | 7 +- ...n_tests__if_elsif_else_generator_test.snap | 15 +- ...ts__code_gen_tests__if_generator_test.snap | 5 +- ...ts__if_with_expression_generator_test.snap | 7 +- ...code_gen_tests__method_codegen_return.snap | 12 +- ...__code_gen_tests__method_codegen_void.snap | 10 +- ...method_codegen_with_initialized_input.snap | 24 +- ...s__method_codegen_with_multiple_input.snap | 26 +- ...ts__method_with_aggregate_return_type.snap | 34 +- ...s__code_gen_tests__methods_var_output.snap | 24 +- ...code_gen_tests__multidim_array_access.snap | 7 +- ...__code_gen_tests__nested_array_access.snap | 7 +- ...e_gen_tests__nested_array_cube_writes.snap | 15 +- ...sted_array_cube_writes_negative_start.snap | 15 +- ...ts__nested_function_called_in_program.snap | 23 +- ...n_tests__order_var_and_var_temp_block.snap | 5 +- ...__code_gen_tests__pass_inout_to_inout.snap | 13 +- ...s__pointer_and_array_access_to_in_out.snap | 33 +- ...s__code_gen_tests__pointers_generated.snap | 33 +- ...gen_tests__program_with_and_statement.snap | 5 +- ...tes_void_function_and_struct_and_body.snap | 5 +- ...tes_void_function_and_struct_and_body.snap | 5 +- ..._program_with_casted_chars_assignment.snap | 5 +- ...s__code_gen_tests__program_with_chars.snap | 13 +- ...n_tests__program_with_date_assignment.snap | 25 +- ..._assignment_whit_short_datatype_names.snap | 19 +- ...arison_assignment_generates_correctly.snap | 25 +- ...am_with_local_temp_var_initialization.snap | 13 +- ...ts__program_with_long_date_assignment.snap | 17 +- ...tes_void_function_and_struct_and_body.snap | 9 +- ...tes_void_function_and_struct_and_body.snap | 7 +- ..._gen_tests__program_with_or_statement.snap | 5 +- ...en_tests__program_with_real_additions.snap | 11 +- ...n_tests__program_with_real_assignment.snap | 7 +- ...ts__program_with_real_cast_assignment.snap | 5 +- ...gram_with_signed_combined_expressions.snap | 7 +- ..._program_with_special_chars_in_string.snap | 9 +- ...tests__program_with_string_assignment.snap | 5 +- ...n_tests__program_with_time_assignment.snap | 19 +- ...__program_with_time_of_day_assignment.snap | 17 +- ...explicit_parameters_called_in_program.snap | 5 +- ...with_two_parameters_called_in_program.snap | 5 +- ...gram_with_var_inout_called_in_program.snap | 13 +- ...rogram_with_var_out_called_in_program.snap | 7 +- ..._with_var_out_called_mixed_in_program.snap | 7 +- ...tes_void_function_and_struct_and_body.snap | 3 +- ...tes_void_function_and_struct_and_body.snap | 21 +- ...tes_void_function_and_struct_and_body.snap | 25 +- ...tes_void_function_and_struct_and_body.snap | 3 +- ...tes_void_function_and_struct_and_body.snap | 5 +- ...tes_void_function_and_struct_and_body.snap | 5 +- ...gen_tests__program_with_xor_statement.snap | 7 +- ...fied_action_from_fb_called_in_program.snap | 10 +- ...fied_foreign_action_called_in_program.snap | 3 +- ...lified_local_action_called_in_program.snap | 3 +- ...ests__real_function_called_in_program.snap | 11 +- ...e_gen_tests__reference_qualified_name.snap | 16 +- ...nce_assignments_in_function_arguments.snap | 9 +- ...sts__code_gen_tests__repeat_statement.snap | 5 +- ...en_tests__returning_early_in_function.snap | 15 +- ...ts__returning_early_in_function_block.snap | 6 +- ...e_gen_tests__simple_case_i8_statement.snap | 11 +- ...code_gen_tests__simple_case_statement.snap | 11 +- ...binary_expression_with_different_size.snap | 23 +- ...ts__structs_members_can_be_referenced.snap | 3 +- ..._gen_tests__sub_range_check_functions.snap | 101 +- ...nge_type_calls_check_function_missing.snap | 25 +- ...ype_calls_check_function_on_assigment.snap | 25 +- ...ariables_have_nano_seconds_resolution.snap | 9 +- ..._tests__typed_enums_are_used_properly.snap | 7 +- ..._using_const_expression_in_range_type.snap | 27 +- ...s__using_global_consts_in_expressions.snap | 3 +- ..._variable_with_same_name_as_data_type.snap | 11 +- ...de_gen_tests__while_loop_with_if_exit.snap | 9 +- ...ests__code_gen_tests__while_statement.snap | 5 +- ...ests__while_with_expression_statement.snap | 5 +- ...s__aliased_number_type_comparing_test.snap | 23 +- ...sed_ranged_number_type_comparing_test.snap | 23 +- ...uctions_tests__compare_datetime_types.snap | 13 +- ...uction_functions_with_different_types.snap | 63 +- ...are_instructions_with_different_types.snap | 63 +- ...s_tests__pointer_compare_instructions.snap | 39 +- ...er_function_call_compare_instructions.snap | 33 +- ...ts__ranged_number_type_comparing_test.snap | 23 +- ...uctions_tests__string_comparison_test.snap | 41 +- ...ests__string_equal_with_constant_test.snap | 41 +- ...g_greater_or_equal_with_constant_test.snap | 57 +- ...ts__string_greater_with_constant_test.snap | 35 +- ...tests__string_less_with_constant_test.snap | 35 +- ...__string_not_equal_with_constant_test.snap | 35 +- ...g_smaller_or_equal_with_constant_test.snap | 57 +- ...tests__assigning_const_array_variable.snap | 3 +- ...ests__assigning_const_string_variable.snap | 3 +- ...ests__assigning_const_struct_variable.snap | 3 +- ...var_nested_struct_added_to_debug_info.snap | 20 +- ...global_var_struct_added_to_debug_info.snap | 8 +- ...rectaccess_test__bitaccess_assignment.snap | 29 +- ...ectaccess_test__byteaccess_assignment.snap | 15 +- ...ctaccess_test__chained_bit_assignment.snap | 15 +- ...ctaccess_test__dwordaccess_assignment.snap | 15 +- ...ctaccess_test__lwordaccess_assignment.snap | 15 +- ..._test__qualified_reference_assignment.snap | 19 +- ...ectaccess_test__wordaccess_assignment.snap | 15 +- ...n_tests__access_string_via_byte_array.snap | 5 +- ...ssion_tests__allowed_assignable_types.snap | 25 +- ...__expression_tests__builtin_add_float.snap | 31 +- ...s__expression_tests__builtin_add_ints.snap | 37 +- ...__expression_tests__builtin_add_mixed.snap | 31 +- ...__expression_tests__builtin_div_float.snap | 19 +- ...s__expression_tests__builtin_div_ints.snap | 19 +- ...__expression_tests__builtin_div_mixed.snap | 19 +- ...sion_tests__builtin_function_call_mux.snap | 23 +- ...function_call_mux_with_aggregate_type.snap | 13 +- ...iltin_function_call_sel_as_expression.snap | 7 +- ...uiltin_function_call_upper_bound_expr.snap | 38 +- ...__expression_tests__builtin_mul_float.snap | 31 +- ...s__expression_tests__builtin_mul_ints.snap | 37 +- ...__expression_tests__builtin_mul_mixed.snap | 31 +- ...__expression_tests__builtin_sub_float.snap | 19 +- ...s__expression_tests__builtin_sub_ints.snap | 19 +- ...__expression_tests__builtin_sub_mixed.snap | 19 +- ...s__calling_strings_in_function_return.snap | 15 +- ...ion_tests__cast_between_pointer_types.snap | 3 +- ...pression_tests__cast_lword_to_pointer.snap | 19 +- ...pression_tests__cast_pointer_to_lword.snap | 19 +- ...ion_tests__compare_date_time_literals.snap | 49 +- ...gen__tests__expression_tests__max_int.snap | 25 +- ...ression_tests__nested_call_statements.snap | 11 +- ...expression_tests__pointer_arithmetics.snap | 51 +- ...ts__pointer_arithmetics_function_call.snap | 13 +- ...on_tests__pointers_in_function_return.snap | 7 +- ...ion_tests__strings_in_function_return.snap | 17 +- ...ion_tests__structs_in_function_return.snap | 9 +- ...s__expression_tests__type_mix_in_call.snap | 17 +- ..._tests__unary_expressions_can_be_real.snap | 7 +- ...necessary_casts_between_pointer_types.snap | 7 +- ...ests__argument_fed_by_ref_then_by_val.snap | 33 +- ...t_argument_literals_for_function_call.snap | 57 +- ...argument_references_for_function_call.snap | 57 +- ...ests__function_call_with_array_access.snap | 21 +- ...ized_string_varargs_called_in_program.snap | 11 +- ..._with_sized_varargs_called_in_program.snap | 13 +- ...nction_with_varargs_called_in_program.snap | 5 +- ...literal_string_argument_passed_by_ref.snap | 7 +- ...ction_tests__member_variables_in_body.snap | 43 +- ..._output_should_be_passed_as_a_pointer.snap | 17 +- ...tests__passing_a_string_to_a_function.snap | 13 +- ...g_a_string_to_a_function_as_reference.snap | 11 +- ...arguments_to_functions_by_ref_and_val.snap | 47 +- ...tests__return_variable_in_nested_call.snap | 27 +- ...n__tests__function_tests__simple_call.snap | 15 +- ...on_tests__var_output_in_function_call.snap | 17 +- ...t__any_real_function_called_with_ints.snap | 39 +- ...eneric_call_gets_cast_to_biggest_type.snap | 19 +- ...generic_codegen_with_aggregate_return.snap | 29 +- ...unction_call_generates_real_type_call.snap | 19 +- ...eneric_function_with_aggregate_return.snap | 7 +- ...nerics_test__generic_output_parameter.snap | 19 +- ...n_tests__enum_referenced_in_fb_nested.snap | 12 +- ...ts__function_defined_in_external_file.snap | 12 +- ...sts__global_value_from_different_file.snap | 2 +- ...ccepts_empty_statement_as_input_param.snap | 6 +- ...cepts_empty_statement_as_output_param.snap | 8 +- ...ccepts_empty_statement_as_input_param.snap | 13 +- ...cepts_empty_statement_as_output_param.snap | 11 +- ...sts__function_all_parameters_assigned.snap | 25 +- ...function_default_value_parameter_type.snap | 31 +- ...ests__function_empty_inout_assignment.snap | 23 +- ...ests__function_empty_input_assignment.snap | 23 +- ...sts__function_empty_output_assignment.snap | 23 +- ...empty_output_default_value_assignment.snap | 25 +- ...ts__function_missing_inout_assignment.snap | 23 +- ...ts__function_missing_input_assignment.snap | 23 +- ...issing_input_default_value_assignment.snap | 19 +- ...s__function_missing_output_assignment.snap | 23 +- ...ssing_output_default_value_assignment.snap | 25 +- ...unction_block_pointer_are_assigned_to.snap | 10 +- ...ccepts_empty_statement_as_input_param.snap | 3 +- ...cepts_empty_statement_as_output_param.snap | 9 +- ...gram_all_parameters_assigned_explicit.snap | 21 +- ...gram_all_parameters_assigned_implicit.snap | 11 +- ...tests__program_empty_inout_assignment.snap | 13 +- ...sts__program_missing_input_assignment.snap | 7 +- ...ts__program_missing_output_assignment.snap | 7 +- ...var_in_out_params_can_be_out_of_order.snap | 32 +- ...taccess_generated_as_rsh_and_trunc_i1.snap | 9 +- ...eaccess_generated_as_rsh_and_trunc_i8.snap | 13 +- ...access_generated_as_rsh_and_trunc_i32.snap | 13 +- ...gen_test__floating_point_type_casting.snap | 43 +- ...n_result_assignment_on_aliased_string.snap | 25 +- ..._function_result_assignment_on_string.snap | 25 +- ...t_codegen_test__nested_bitwise_access.snap | 5 +- ...n_test__variable_based_bitwise_access.snap | 13 +- ...access_generated_as_rsh_and_trunc_i16.snap | 13 +- ..._casted_string_assignment_uses_memcpy.snap | 9 +- ...g_generic_string_should_return_by_ref.snap | 27 +- ...ts__function_returns_a_literal_string.snap | 15 +- ...es_string_paramter_and_returns_string.snap | 21 +- ...rings_should_be_collected_as_literals.snap | 19 +- ...__string_tests__program_string_output.snap | 9 +- ...program_with_casted_string_assignment.snap | 5 +- ...__program_with_string_type_assignment.snap | 7 +- ...ing_tests__string_function_parameters.snap | 19 +- ...stant_var_string_should_be_memcpyable.snap | 33 +- ...ar_string_should_be_memcpyable_nonref.snap | 37 +- ...ariable_length_strings_can_be_created.snap | 5 +- ...trings_using_constants_can_be_created.snap | 5 +- ...ests__variable_string_assignment_test.snap | 5 +- ...string_tests__vartmp_string_init_test.snap | 9 +- ...ed_datatypes_respect_conversion_rules.snap | 13 +- ...r_than_int_promote_the_second_operand.snap | 7 +- ...es_smaller_than_dint_promoted_to_dint.snap | 7 +- ...all_sint_expressions_fallback_to_dint.snap | 7 +- ...at_and_double_mix_converted_to_double.snap | 7 +- ...m_test__float_assigned_to_int_is_cast.snap | 9 +- ...t__float_assinged_to_double_to_double.snap | 5 +- ...m_test__int_assigned_to_float_is_cast.snap | 9 +- ...an_byte_promoted_on_compare_statement.snap | 5 +- ...bigger_than_float_converted_to_double.snap | 5 +- ..._or_equal_to_float_converted_to_float.snap | 7 +- ...ariadic_functions_without_declaration.snap | 23 +- ...hile_32bit_and_higher_keep_their_type.snap | 37 +- ...es_smaller_than_dint_promoted_to_dint.snap | 7 +- ...e_calls_with_differently_sized_arrays.snap | 89 +- ...al_variable_passed_to_function_as_vla.snap | 39 +- ...ruct_is_generated_for_call_statements.snap | 23 +- ...sts__vla_tests__multi_dimensional_vla.snap | 71 +- ...en__tests__vla_tests__vla_read_access.snap | 45 +- ..._vla_tests__vla_read_access_with_expr.snap | 50 +- ..._vla_tests__vla_read_access_with_lint.snap | 44 +- ...__vla_tests__vla_read_access_with_var.snap | 50 +- src/codegen/tests/statement_codegen_test.rs | 48 +- src/codegen/tests/typesystem_test.rs | 8 +- src/tests/adr/arrays_adr.rs | 6 +- src/tests/adr/enum_adr.rs | 6 +- src/tests/adr/initializer_functions_adr.rs | 308 ++-- src/tests/adr/pou_adr.rs | 158 +- src/tests/adr/strings_adr.rs | 6 +- src/tests/adr/structs_adr.rs | 6 +- src/tests/adr/vla_adr.rs | 102 +- ...__integration__cfc__ir__actions_debug.snap | 18 +- ...egration__cfc__ir__conditional_return.snap | 32 +- ...on__cfc__ir__conditional_return_debug.snap | 16 +- ...r__conditional_return_evaluating_true.snap | 54 +- ...tional_return_evaluating_true_negated.snap | 54 +- ...sts__integration__cfc__ir__jump_debug.snap | 12 +- ...on__cfc__ir__jump_to_label_with_false.snap | 28 +- ...ion__cfc__ir__jump_to_label_with_true.snap | 28 +- ...tegration__cfc__ir__sink_source_debug.snap | 10 +- ...ble_source_to_variable_and_block_sink.snap | 58 +- ...line_compile__ir_generation_full_pass.snap | 2 +- 359 files changed, 6450 insertions(+), 6727 deletions(-) diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap index eaeb321587..90012b9437 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_function_call.snap @@ -9,10 +9,10 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - store i32 0, i32* %main, align 4 + %main = alloca i32, align [filtered] + store i32 0, i32* %main, align [filtered] %call = call i32 @external() - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap index f877aef273..02f4da65b6 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__external_files__external_file_global_var.snap @@ -12,12 +12,12 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - store i32 0, i32* %main, align 4 - store i16 2, i16* @x, align 2 - store i16 2, i16* @y, align 2 + %main = alloca i32, align [filtered] + store i32 0, i32* %main, align [filtered] + store i16 2, i16* @x, align [filtered] + store i16 2, i16* @y, align [filtered] %call = call i32 @external() - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap index 5b8ed54a86..520dd9b849 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap @@ -13,11 +13,11 @@ target triple = "[filtered]" define i32 @main() !dbg !4 { entry: - %main = alloca i32, align 4 + %main = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %main, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %main, align 4 + store i32 0, i32* %main, align [filtered] call void @mainProg(%mainProg* @mainProg_instance), !dbg !12 - %main_ret = load i32, i32* %main, align 4, !dbg !13 + %main_ret = load i32, i32* %main, align [filtered], !dbg !13 ret i32 %main_ret, !dbg !13 } @@ -101,8 +101,8 @@ target triple = "[filtered]" define void @__init_mainprog(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] ret void } @@ -110,8 +110,8 @@ declare void @mainProg(%mainProg*) define void @__user_init_mainProg(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] ret void } diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap index 76b714ab85..221d36bf11 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap @@ -13,11 +13,11 @@ target triple = "[filtered]" define i32 @main() !dbg !4 { entry: - %main = alloca i32, align 4 + %main = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %main, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %main, align 4 + store i32 0, i32* %main, align [filtered] call void @mainProg(%mainProg* @mainProg_instance), !dbg !12 - %main_ret = load i32, i32* %main, align 4, !dbg !13 + %main_ret = load i32, i32* %main, align [filtered], !dbg !13 ret i32 %main_ret, !dbg !13 } @@ -101,8 +101,8 @@ target triple = "[filtered]" define void @__init_mainprog(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] ret void } @@ -110,8 +110,8 @@ declare void @mainProg(%mainProg*) define void @__user_init_mainProg(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] ret void } diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap index de89bdd68e..bb52003101 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_source_files_generated.snap @@ -13,10 +13,10 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - store i32 0, i32* %main, align 4 + %main = alloca i32, align [filtered] + store i32 0, i32* %main, align [filtered] call void @mainProg(%mainProg* @mainProg_instance) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -47,8 +47,8 @@ target triple = "[filtered]" define void @__init_mainprog(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] ret void } @@ -56,8 +56,8 @@ declare void @mainProg(%mainProg*) define void @__user_init_mainProg(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] ret void } diff --git a/compiler/plc_util/src/lib.rs b/compiler/plc_util/src/lib.rs index b8240fe551..4481b254db 100644 --- a/compiler/plc_util/src/lib.rs +++ b/compiler/plc_util/src/lib.rs @@ -7,6 +7,7 @@ macro_rules! filtered_assert_snapshot { let mut settings = insta::Settings::clone_current(); settings.add_filter(r#"target datalayout = ".*""#, r#"target datalayout = "[filtered]""#); settings.add_filter(r#"target triple = ".*""#, r#"target triple = "[filtered]""#); + settings.add_filter(r#"align \d"#, r#"align [filtered]"#); settings.bind(|| insta::assert_snapshot!($value)) }}; @@ -15,6 +16,7 @@ macro_rules! filtered_assert_snapshot { let mut settings = insta::Settings::clone_current(); settings.add_filter(r#"target datalayout = ".*""#, r#"target datalayout = "[filtered]""#); settings.add_filter(r#"target triple = ".*""#, r#"target triple = "[filtered]""#); + settings.add_filter(r#"align \d"#, r#"align [filtered]"#); settings.bind(|| insta::assert_snapshot!($value, @$snapshot)); }}; } diff --git a/src/codegen/tests/address_tests.rs b/src/codegen/tests/address_tests.rs index b5b4e22bed..6ce6918c4c 100644 --- a/src/codegen/tests/address_tests.rs +++ b/src/codegen/tests/address_tests.rs @@ -77,10 +77,10 @@ fn address_variable_used_with_symbolic_name() { define void @mainProg(%mainProg* %0) { entry: - %deref = load i8*, i8** @foo, align 8 - store i8 0, i8* %deref, align 1 - %deref1 = load i8*, i8** @baz, align 8 - store i8 1, i8* %deref1, align 1 + %deref = load i8*, i8** @foo, align [filtered] + store i8 0, i8* %deref, align [filtered] + %deref1 = load i8*, i8** @baz, align [filtered] + store i8 1, i8* %deref1, align [filtered] ret void } "#); @@ -120,9 +120,9 @@ fn address_used_in_body() { define void @mainProg(%mainProg* %0) { entry: - store i8 1, i8* @__PI_1_2_3_4, align 1 - %1 = load i8, i8* @__PI_1_2_3_5, align 1 - store i8 %1, i8* @x, align 1 + store i8 1, i8* @__PI_1_2_3_4, align [filtered] + %1 = load i8, i8* @__PI_1_2_3_5, align [filtered] + store i8 %1, i8* @x, align [filtered] ret void } "#); diff --git a/src/codegen/tests/code_gen_tests.rs b/src/codegen/tests/code_gen_tests.rs index acdc823d77..aa93083bcd 100644 --- a/src/codegen/tests/code_gen_tests.rs +++ b/src/codegen/tests/code_gen_tests.rs @@ -1117,8 +1117,8 @@ fn fb_method_called_locally() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %bar = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %call = call i32 @foo__addToBar(%foo* %0, i16 42) ret void @@ -1126,33 +1126,33 @@ fn fb_method_called_locally() { define i32 @foo__addToBar(%foo* %0, i16 %1) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %bar = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %foo.addToBar = alloca i32, align 4 - %in = alloca i16, align 2 - store i16 %1, i16* %in, align 2 - store i32 0, i32* %foo.addToBar, align 4 - %load_in = load i16, i16* %in, align 2 + %foo.addToBar = alloca i32, align [filtered] + %in = alloca i16, align [filtered] + store i16 %1, i16* %in, align [filtered] + store i32 0, i32* %foo.addToBar, align [filtered] + %load_in = load i16, i16* %in, align [filtered] %2 = sext i16 %load_in to i32 - %load_bar = load i32, i32* %bar, align 4 + %load_bar = load i32, i32* %bar, align [filtered] %tmpVar = add i32 %2, %load_bar - store i32 %tmpVar, i32* %bar, align 4 - %load_bar1 = load i32, i32* %bar, align 4 - store i32 %load_bar1, i32* %foo.addToBar, align 4 - %foo__addToBar_ret = load i32, i32* %foo.addToBar, align 4 + store i32 %tmpVar, i32* %bar, align [filtered] + %load_bar1 = load i32, i32* %bar, align [filtered] + store i32 %load_bar1, i32* %foo.addToBar, align [filtered] + %foo__addToBar_ret = load i32, i32* %foo.addToBar, align [filtered] ret i32 %foo__addToBar_ret } define void @main() { entry: - %fb = alloca %foo, align 8 - %x = alloca i32, align 4 + %fb = alloca %foo, align [filtered] + %x = alloca i32, align [filtered] %0 = bitcast %foo* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) - store i32 0, i32* %x, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + store i32 0, i32* %x, align [filtered] %call = call i32 @foo__addToBar(%foo* %fb, i16 3) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } @@ -1206,8 +1206,8 @@ fn fb_local_method_var_shadows_parent_var() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %bar = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %call = call i32 @foo__addToBar(%foo* %0, i16 42) ret void @@ -1215,35 +1215,35 @@ fn fb_local_method_var_shadows_parent_var() { define i32 @foo__addToBar(%foo* %0, i16 %1) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %bar = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %foo.addToBar = alloca i32, align 4 - %in = alloca i16, align 2 - store i16 %1, i16* %in, align 2 - %bar1 = alloca i32, align 4 - store i32 69, i32* %bar1, align 4 - store i32 0, i32* %foo.addToBar, align 4 - %load_in = load i16, i16* %in, align 2 + %foo.addToBar = alloca i32, align [filtered] + %in = alloca i16, align [filtered] + store i16 %1, i16* %in, align [filtered] + %bar1 = alloca i32, align [filtered] + store i32 69, i32* %bar1, align [filtered] + store i32 0, i32* %foo.addToBar, align [filtered] + %load_in = load i16, i16* %in, align [filtered] %2 = sext i16 %load_in to i32 - %load_bar = load i32, i32* %bar1, align 4 + %load_bar = load i32, i32* %bar1, align [filtered] %tmpVar = add i32 %2, %load_bar - store i32 %tmpVar, i32* %bar1, align 4 - %load_bar2 = load i32, i32* %bar1, align 4 - store i32 %load_bar2, i32* %foo.addToBar, align 4 - %foo__addToBar_ret = load i32, i32* %foo.addToBar, align 4 + store i32 %tmpVar, i32* %bar1, align [filtered] + %load_bar2 = load i32, i32* %bar1, align [filtered] + store i32 %load_bar2, i32* %foo.addToBar, align [filtered] + %foo__addToBar_ret = load i32, i32* %foo.addToBar, align [filtered] ret i32 %foo__addToBar_ret } define void @main() { entry: - %fb = alloca %foo, align 8 - %x = alloca i32, align 4 + %fb = alloca %foo, align [filtered] + %x = alloca i32, align [filtered] %0 = bitcast %foo* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) - store i32 0, i32* %x, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + store i32 0, i32* %x, align [filtered] %call = call i32 @foo__addToBar(%foo* %fb, i16 3) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } @@ -1302,27 +1302,27 @@ fn prog_method_called_locally() { define i32 @foo__addToBar(%foo* %0, i16 %1) { entry: %bar = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %foo.addToBar = alloca i32, align 4 - %in = alloca i16, align 2 - store i16 %1, i16* %in, align 2 - store i32 0, i32* %foo.addToBar, align 4 - %load_in = load i16, i16* %in, align 2 + %foo.addToBar = alloca i32, align [filtered] + %in = alloca i16, align [filtered] + store i16 %1, i16* %in, align [filtered] + store i32 0, i32* %foo.addToBar, align [filtered] + %load_in = load i16, i16* %in, align [filtered] %2 = sext i16 %load_in to i32 - %load_bar = load i32, i32* %bar, align 4 + %load_bar = load i32, i32* %bar, align [filtered] %tmpVar = add i32 %2, %load_bar - store i32 %tmpVar, i32* %bar, align 4 - %load_bar1 = load i32, i32* %bar, align 4 - store i32 %load_bar1, i32* %foo.addToBar, align 4 - %foo__addToBar_ret = load i32, i32* %foo.addToBar, align 4 + store i32 %tmpVar, i32* %bar, align [filtered] + %load_bar1 = load i32, i32* %bar, align [filtered] + store i32 %load_bar1, i32* %foo.addToBar, align [filtered] + %foo__addToBar_ret = load i32, i32* %foo.addToBar, align [filtered] ret i32 %foo__addToBar_ret } define void @main() { entry: - %x = alloca i32, align 4 - store i32 0, i32* %x, align 4 + %x = alloca i32, align [filtered] + store i32 0, i32* %x, align [filtered] %call = call i32 @foo__addToBar(%foo* @foo_instance, i16 3) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } "#) @@ -1378,29 +1378,29 @@ fn prog_local_method_var_shadows_parent_var() { define i32 @foo__addToBar(%foo* %0, i16 %1) { entry: %bar = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %foo.addToBar = alloca i32, align 4 - %in = alloca i16, align 2 - store i16 %1, i16* %in, align 2 - %bar1 = alloca i32, align 4 - store i32 69, i32* %bar1, align 4 - store i32 0, i32* %foo.addToBar, align 4 - %load_in = load i16, i16* %in, align 2 + %foo.addToBar = alloca i32, align [filtered] + %in = alloca i16, align [filtered] + store i16 %1, i16* %in, align [filtered] + %bar1 = alloca i32, align [filtered] + store i32 69, i32* %bar1, align [filtered] + store i32 0, i32* %foo.addToBar, align [filtered] + %load_in = load i16, i16* %in, align [filtered] %2 = sext i16 %load_in to i32 - %load_bar = load i32, i32* %bar1, align 4 + %load_bar = load i32, i32* %bar1, align [filtered] %tmpVar = add i32 %2, %load_bar - store i32 %tmpVar, i32* %bar1, align 4 - %load_bar2 = load i32, i32* %bar1, align 4 - store i32 %load_bar2, i32* %foo.addToBar, align 4 - %foo__addToBar_ret = load i32, i32* %foo.addToBar, align 4 + store i32 %tmpVar, i32* %bar1, align [filtered] + %load_bar2 = load i32, i32* %bar1, align [filtered] + store i32 %load_bar2, i32* %foo.addToBar, align [filtered] + %foo__addToBar_ret = load i32, i32* %foo.addToBar, align [filtered] ret i32 %foo__addToBar_ret } define void @main() { entry: - %x = alloca i32, align 4 - store i32 0, i32* %x, align 4 + %x = alloca i32, align [filtered] + store i32 0, i32* %x, align [filtered] %call = call i32 @foo__addToBar(%foo* @foo_instance, i16 3) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } "#) @@ -1629,38 +1629,38 @@ fn for_statement_with_binary_expressions() { %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - %load_y = load i32, i32* %y, align 4 + %load_y = load i32, i32* %y, align [filtered] %tmpVar = add i32 %load_y, 1 - store i32 %tmpVar, i32* %x, align 4 - %load_step = load i32, i32* %step, align 4 + store i32 %tmpVar, i32* %x, align [filtered] + %load_step = load i32, i32* %step, align [filtered] %tmpVar1 = mul i32 %load_step, 3 %is_incrementing = icmp sgt i32 %tmpVar1, 0 br i1 %is_incrementing, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %load_z = load i32, i32* %z, align 4 + %load_z = load i32, i32* %z, align [filtered] %tmpVar2 = sub i32 %load_z, 2 - %1 = load i32, i32* %x, align 4 + %1 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %1, %tmpVar2 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %load_z3 = load i32, i32* %z, align 4 + %load_z3 = load i32, i32* %z, align [filtered] %tmpVar4 = sub i32 %load_z3, 2 - %2 = load i32, i32* %x, align 4 + %2 = load i32, i32* %x, align [filtered] %condition5 = icmp sge i32 %2, %tmpVar4 br i1 %condition5, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] br label %increment increment: ; preds = %loop - %3 = load i32, i32* %x, align 4 - %load_step6 = load i32, i32* %step, align 4 + %3 = load i32, i32* %x, align [filtered] + %load_step6 = load i32, i32* %step, align [filtered] %tmpVar7 = mul i32 %load_step6, 3 %next = add i32 %tmpVar7, %3 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 %is_incrementing, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle @@ -1690,46 +1690,46 @@ fn for_statement_type_casting() { define void @main() { entry: - %a = alloca i8, align 1 - %b = alloca i16, align 2 - store i8 0, i8* %a, align 1 - store i16 1, i16* %b, align 2 - store i8 0, i8* %a, align 1 - %load_b = load i16, i16* %b, align 2 + %a = alloca i8, align [filtered] + %b = alloca i16, align [filtered] + store i8 0, i8* %a, align [filtered] + store i16 1, i16* %b, align [filtered] + store i8 0, i8* %a, align [filtered] + %load_b = load i16, i16* %b, align [filtered] %0 = trunc i16 %load_b to i8 %1 = sext i8 %0 to i32 %is_incrementing = icmp sgt i32 %1, 0 br i1 %is_incrementing, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %2 = load i8, i8* %a, align 1 + %2 = load i8, i8* %a, align [filtered] %3 = zext i8 %2 to i32 %condition = icmp sle i32 %3, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %4 = load i8, i8* %a, align 1 + %4 = load i8, i8* %a, align [filtered] %5 = zext i8 %4 to i32 %condition1 = icmp sge i32 %5, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_b2 = load i16, i16* %b, align 2 + %load_b2 = load i16, i16* %b, align [filtered] %6 = sext i16 %load_b2 to i32 %tmpVar = mul i32 %6, 3 %7 = trunc i32 %tmpVar to i16 - store i16 %7, i16* %b, align 2 + store i16 %7, i16* %b, align [filtered] br label %increment increment: ; preds = %loop - %8 = load i8, i8* %a, align 1 - %load_b3 = load i16, i16* %b, align 2 + %8 = load i8, i8* %a, align [filtered] + %load_b3 = load i16, i16* %b, align [filtered] %9 = trunc i16 %load_b3 to i8 %10 = sext i8 %9 to i32 %11 = zext i8 %8 to i32 %next = add i32 %10, %11 %12 = trunc i32 %next to i8 - store i8 %12, i8* %a, align 1 + store i8 %12, i8* %a, align [filtered] br i1 %is_incrementing, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle @@ -3992,8 +3992,8 @@ fn variables_in_var_external_block_are_not_generated() { define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] ret void } diff --git a/src/codegen/tests/debug_tests.rs b/src/codegen/tests/debug_tests.rs index 0a2d86fd3e..c8784a2c84 100644 --- a/src/codegen/tests/debug_tests.rs +++ b/src/codegen/tests/debug_tests.rs @@ -228,18 +228,18 @@ fn switch_case_debug_info() { define i32 @main() !dbg !4 { entry: - %main = alloca i32, align 4 - %x1 = alloca i16, align 2 - %x2 = alloca i16, align 2 - %x3 = alloca i16, align 2 + %main = alloca i32, align [filtered] + %x1 = alloca i16, align [filtered] + %x2 = alloca i16, align [filtered] + %x3 = alloca i16, align [filtered] call void @llvm.dbg.declare(metadata i16* %x1, metadata !8, metadata !DIExpression()), !dbg !10 - store i16 0, i16* %x1, align 2 + store i16 0, i16* %x1, align [filtered] call void @llvm.dbg.declare(metadata i16* %x2, metadata !11, metadata !DIExpression()), !dbg !12 - store i16 0, i16* %x2, align 2 + store i16 0, i16* %x2, align [filtered] call void @llvm.dbg.declare(metadata i16* %x3, metadata !13, metadata !DIExpression()), !dbg !14 - store i16 0, i16* %x3, align 2 + store i16 0, i16* %x3, align [filtered] call void @llvm.dbg.declare(metadata i32* %main, metadata !15, metadata !DIExpression()), !dbg !17 - store i32 0, i32* %main, align 4 + store i32 0, i32* %main, align [filtered] br label %condition_check, !dbg !18 condition_check: ; preds = %continue2, %entry @@ -249,7 +249,7 @@ fn switch_case_debug_info() { br i1 false, label %condition_body, label %continue1, !dbg !19 continue: ; preds = %condition_body, %condition_check - %main_ret = load i32, i32* %main, align 4, !dbg !20 + %main_ret = load i32, i32* %main, align [filtered], !dbg !20 ret i32 %main_ret, !dbg !20 condition_body: ; preds = %while_body @@ -259,12 +259,12 @@ fn switch_case_debug_info() { br label %continue1, !dbg !21 continue1: ; preds = %buffer_block, %while_body - %load_x1 = load i16, i16* %x1, align 2, !dbg !22 + %load_x1 = load i16, i16* %x1, align [filtered], !dbg !22 %0 = sext i16 %load_x1 to i32, !dbg !22 %tmpVar = add i32 %0, 1, !dbg !22 %1 = trunc i32 %tmpVar to i16, !dbg !22 - store i16 %1, i16* %x1, align 2, !dbg !22 - %load_x13 = load i16, i16* %x1, align 2, !dbg !22 + store i16 %1, i16* %x1, align [filtered], !dbg !22 + %load_x13 = load i16, i16* %x1, align [filtered], !dbg !22 switch i16 %load_x13, label %else [ i16 1, label %case i16 2, label %case4 @@ -272,21 +272,21 @@ fn switch_case_debug_info() { ], !dbg !23 case: ; preds = %continue1 - store i16 1, i16* %x2, align 2, !dbg !24 + store i16 1, i16* %x2, align [filtered], !dbg !24 br label %continue2, !dbg !25 case4: ; preds = %continue1 - store i16 2, i16* %x2, align 2, !dbg !26 + store i16 2, i16* %x2, align [filtered], !dbg !26 br label %continue2, !dbg !25 case5: ; preds = %continue1 - store i16 3, i16* %x2, align 2, !dbg !27 + store i16 3, i16* %x2, align [filtered], !dbg !27 br label %continue2, !dbg !25 else: ; preds = %continue1 - store i16 0, i16* %x1, align 2, !dbg !28 - store i16 1, i16* %x2, align 2, !dbg !29 - store i16 2, i16* %x3, align 2, !dbg !30 + store i16 0, i16* %x1, align [filtered], !dbg !28 + store i16 1, i16* %x2, align [filtered], !dbg !29 + store i16 2, i16* %x3, align [filtered], !dbg !30 br label %continue2, !dbg !25 continue2: ; preds = %else, %case5, %case4, %case @@ -368,8 +368,8 @@ fn dbg_declare_has_valid_metadata_references_for_methods() { define void @fb(%fb* %0) !dbg !14 { entry: call void @llvm.dbg.declare(metadata %fb* %0, metadata !18, metadata !DIExpression()), !dbg !19 - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void, !dbg !19 } @@ -377,8 +377,8 @@ fn dbg_declare_has_valid_metadata_references_for_methods() { define void @fb__foo(%fb* %0) !dbg !20 { entry: call void @llvm.dbg.declare(metadata %fb* %0, metadata !21, metadata !DIExpression()), !dbg !22 - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void, !dbg !22 } @@ -388,38 +388,38 @@ fn dbg_declare_has_valid_metadata_references_for_methods() { define void @__init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 - %deref = load %__vtable_fb*, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] + %deref = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref, i32 0, i32 0 - store void (%fb*)* @fb, void (%fb*)** %__body, align 8 - %deref1 = load %__vtable_fb*, %__vtable_fb** %self, align 8 + store void (%fb*)* @fb, void (%fb*)** %__body, align [filtered] + %deref1 = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %foo = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref1, i32 0, i32 1 - store void (%fb*)* @fb__foo, void (%fb*)** %foo, align 8 + store void (%fb*)* @fb__foo, void (%fb*)** %foo, align [filtered] ret void } define void @__init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 - %deref = load %fb*, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] + %deref = load %fb*, %fb** %self, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] ret void } define void @__user_init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] ret void } @@ -499,34 +499,34 @@ fn action_with_var_temp() { define i32 @main() !dbg !9 { entry: - %main = alloca i32, align 4 + %main = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %main, metadata !12, metadata !DIExpression()), !dbg !14 - store i32 0, i32* %main, align 4 + store i32 0, i32* %main, align [filtered] call void @PLC_PRG(%PLC_PRG* @PLC_PRG_instance), !dbg !15 call void @PLC_PRG__act(%PLC_PRG* @PLC_PRG_instance), !dbg !16 - %main_ret = load i32, i32* %main, align 4, !dbg !17 + %main_ret = load i32, i32* %main, align [filtered], !dbg !17 ret i32 %main_ret, !dbg !17 } define void @PLC_PRG(%PLC_PRG* %0) !dbg !18 { entry: call void @llvm.dbg.declare(metadata %PLC_PRG* %0, metadata !21, metadata !DIExpression()), !dbg !22 - %x = alloca i32, align 4 + %x = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %x, metadata !23, metadata !DIExpression()), !dbg !24 - store i32 0, i32* %x, align 4 - store i32 0, i32* %x, align 4, !dbg !22 + store i32 0, i32* %x, align [filtered] + store i32 0, i32* %x, align [filtered], !dbg !22 ret void, !dbg !25 } define void @PLC_PRG__act(%PLC_PRG* %0) !dbg !26 { entry: call void @llvm.dbg.declare(metadata %PLC_PRG* %0, metadata !27, metadata !DIExpression()), !dbg !28 - %x = alloca i32, align 4 + %x = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %x, metadata !29, metadata !DIExpression()), !dbg !30 - store i32 0, i32* %x, align 4 - %load_x = load i32, i32* %x, align 4, !dbg !28 + store i32 0, i32* %x, align [filtered] + %load_x = load i32, i32* %x, align [filtered], !dbg !28 %tmpVar = add i32 %load_x, 1, !dbg !28 - store i32 %tmpVar, i32* %x, align 4, !dbg !28 + store i32 %tmpVar, i32* %x, align [filtered], !dbg !28 ret void, !dbg !31 } @@ -535,15 +535,15 @@ fn action_with_var_temp() { define void @__init_plc_prg(%PLC_PRG* %0) { entry: - %self = alloca %PLC_PRG*, align 8 - store %PLC_PRG* %0, %PLC_PRG** %self, align 8 + %self = alloca %PLC_PRG*, align [filtered] + store %PLC_PRG* %0, %PLC_PRG** %self, align [filtered] ret void } define void @__user_init_PLC_PRG(%PLC_PRG* %0) { entry: - %self = alloca %PLC_PRG*, align 8 - store %PLC_PRG* %0, %PLC_PRG** %self, align 8 + %self = alloca %PLC_PRG*, align [filtered] + store %PLC_PRG* %0, %PLC_PRG** %self, align [filtered] ret void } @@ -661,78 +661,78 @@ END_FUNCTION define void @main() !dbg !39 { entry: - %st = alloca %struct_, align 8 - %s = alloca [81 x i8], align 1 - %b = alloca i8, align 1 - %arr = alloca [3 x [81 x i8]], align 1 - %i = alloca i16, align 2 + %st = alloca %struct_, align [filtered] + %s = alloca [81 x i8], align [filtered] + %b = alloca i8, align [filtered] + %arr = alloca [3 x [81 x i8]], align [filtered] + %i = alloca i16, align [filtered] call void @llvm.dbg.declare(metadata %struct_* %st, metadata !43, metadata !DIExpression()), !dbg !44 %0 = bitcast %struct_* %st to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%struct_, %struct_* @__struct___init, i32 0, i32 0, i32 0, i32 0), i64 ptrtoint (%struct_* getelementptr (%struct_, %struct_* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%struct_, %struct_* @__struct___init, i32 0, i32 0, i32 0, i32 0), i64 ptrtoint (%struct_* getelementptr (%struct_, %struct_* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata [81 x i8]* %s, metadata !45, metadata !DIExpression()), !dbg !46 %1 = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata i8* %b, metadata !47, metadata !DIExpression()), !dbg !48 - store i8 0, i8* %b, align 1 + store i8 0, i8* %b, align [filtered] call void @llvm.dbg.declare(metadata [3 x [81 x i8]]* %arr, metadata !49, metadata !DIExpression()), !dbg !50 %2 = bitcast [3 x [81 x i8]]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([3 x [81 x i8]]* getelementptr ([3 x [81 x i8]], [3 x [81 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([3 x [81 x i8]]* getelementptr ([3 x [81 x i8]], [3 x [81 x i8]]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata i16* %i, metadata !51, metadata !DIExpression()), !dbg !52 - store i16 0, i16* %i, align 2 + store i16 0, i16* %i, align [filtered] call void @__init_struct_(%struct_* %st), !dbg !53 call void @__user_init_struct_(%struct_* %st), !dbg !53 %s1 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 2, !dbg !54 %3 = bitcast [81 x i8]* %s to i8*, !dbg !54 %4 = bitcast [81 x i8]* %s1 to i8*, !dbg !54 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 80, i1 false), !dbg !54 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 80, i1 false), !dbg !54 %inner = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 0, !dbg !55 %s2 = getelementptr inbounds %inner, %inner* %inner, i32 0, i32 0, !dbg !55 %5 = bitcast [81 x i8]* %s to i8*, !dbg !55 %6 = bitcast [81 x i8]* %s2 to i8*, !dbg !55 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %5, i8* align 1 %6, i32 80, i1 false), !dbg !55 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %5, i8* align [filtered] %6, i32 80, i1 false), !dbg !55 %b3 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 3, !dbg !56 - %load_b = load i8, i8* %b3, align 1, !dbg !56 - store i8 %load_b, i8* %b, align 1, !dbg !56 + %load_b = load i8, i8* %b3, align [filtered], !dbg !56 + store i8 %load_b, i8* %b, align [filtered], !dbg !56 %inner4 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 0, !dbg !57 %b5 = getelementptr inbounds %inner, %inner* %inner4, i32 0, i32 1, !dbg !57 - %load_b6 = load i8, i8* %b5, align 1, !dbg !57 - store i8 %load_b6, i8* %b, align 1, !dbg !57 + %load_b6 = load i8, i8* %b5, align [filtered], !dbg !57 + store i8 %load_b6, i8* %b, align [filtered], !dbg !57 %arr7 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 5, !dbg !58 %7 = bitcast [3 x [81 x i8]]* %arr to i8*, !dbg !58 %8 = bitcast [3 x [81 x i8]]* %arr7 to i8*, !dbg !58 - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %7, i8* align 1 %8, i64 ptrtoint ([3 x [81 x i8]]* getelementptr ([3 x [81 x i8]], [3 x [81 x i8]]* null, i32 1) to i64), i1 false), !dbg !58 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %7, i8* align [filtered] %8, i64 ptrtoint ([3 x [81 x i8]]* getelementptr ([3 x [81 x i8]], [3 x [81 x i8]]* null, i32 1) to i64), i1 false), !dbg !58 %inner8 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 0, !dbg !59 %arr9 = getelementptr inbounds %inner, %inner* %inner8, i32 0, i32 3, !dbg !59 %9 = bitcast [3 x [81 x i8]]* %arr to i8*, !dbg !59 %10 = bitcast [3 x [81 x i8]]* %arr9 to i8*, !dbg !59 - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %9, i8* align 1 %10, i64 ptrtoint ([3 x [81 x i8]]* getelementptr ([3 x [81 x i8]], [3 x [81 x i8]]* null, i32 1) to i64), i1 false), !dbg !59 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %9, i8* align [filtered] %10, i64 ptrtoint ([3 x [81 x i8]]* getelementptr ([3 x [81 x i8]], [3 x [81 x i8]]* null, i32 1) to i64), i1 false), !dbg !59 %i10 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 6, !dbg !60 - %load_i = load i16, i16* %i10, align 2, !dbg !60 - store i16 %load_i, i16* %i, align 2, !dbg !60 + %load_i = load i16, i16* %i10, align [filtered], !dbg !60 + store i16 %load_i, i16* %i, align [filtered], !dbg !60 %inner11 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 0, !dbg !61 %i12 = getelementptr inbounds %inner, %inner* %inner11, i32 0, i32 4, !dbg !61 - %load_i13 = load i16, i16* %i12, align 2, !dbg !61 - store i16 %load_i13, i16* %i, align 2, !dbg !61 + %load_i13 = load i16, i16* %i12, align [filtered], !dbg !61 + store i16 %load_i13, i16* %i, align [filtered], !dbg !61 %tmpVar = getelementptr inbounds [3 x [81 x i8]], [3 x [81 x i8]]* %arr, i32 0, i32 0, !dbg !62 %arr14 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 5, !dbg !62 %tmpVar15 = getelementptr inbounds [3 x [81 x i8]], [3 x [81 x i8]]* %arr14, i32 0, i32 0, !dbg !62 %11 = bitcast [81 x i8]* %tmpVar to i8*, !dbg !62 %12 = bitcast [81 x i8]* %tmpVar15 to i8*, !dbg !62 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %11, i8* align 1 %12, i32 80, i1 false), !dbg !62 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %11, i8* align [filtered] %12, i32 80, i1 false), !dbg !62 %tmpVar16 = getelementptr inbounds [3 x [81 x i8]], [3 x [81 x i8]]* %arr, i32 0, i32 1, !dbg !63 %inner17 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 0, !dbg !63 %arr18 = getelementptr inbounds %inner, %inner* %inner17, i32 0, i32 3, !dbg !63 %tmpVar19 = getelementptr inbounds [3 x [81 x i8]], [3 x [81 x i8]]* %arr18, i32 0, i32 1, !dbg !63 %13 = bitcast [81 x i8]* %tmpVar16 to i8*, !dbg !63 %14 = bitcast [81 x i8]* %tmpVar19 to i8*, !dbg !63 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %13, i8* align 1 %14, i32 80, i1 false), !dbg !63 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %13, i8* align [filtered] %14, i32 80, i1 false), !dbg !63 %tmpVar20 = getelementptr inbounds [3 x [81 x i8]], [3 x [81 x i8]]* %arr, i32 0, i32 2, !dbg !64 %inner21 = getelementptr inbounds %struct_, %struct_* %st, i32 0, i32 0, !dbg !64 %arr22 = getelementptr inbounds %inner, %inner* %inner21, i32 0, i32 3, !dbg !64 %tmpVar23 = getelementptr inbounds [3 x [81 x i8]], [3 x [81 x i8]]* %arr22, i32 0, i32 2, !dbg !64 %15 = bitcast [81 x i8]* %tmpVar20 to i8*, !dbg !64 %16 = bitcast [81 x i8]* %tmpVar23 to i8*, !dbg !64 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %15, i8* align 1 %16, i32 80, i1 false), !dbg !64 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %15, i8* align [filtered] %16, i32 80, i1 false), !dbg !64 ret void, !dbg !65 } @@ -750,59 +750,59 @@ END_FUNCTION define void @__init_struct_(%struct_* %0) { entry: - %self = alloca %struct_*, align 8 - store %struct_* %0, %struct_** %self, align 8 - %deref = load %struct_*, %struct_** %self, align 8 + %self = alloca %struct_*, align [filtered] + store %struct_* %0, %struct_** %self, align [filtered] + %deref = load %struct_*, %struct_** %self, align [filtered] %inner = getelementptr inbounds %struct_, %struct_* %deref, i32 0, i32 0 call void @__init_inner(%inner* %inner) - %deref1 = load %struct_*, %struct_** %self, align 8 + %deref1 = load %struct_*, %struct_** %self, align [filtered] %s = getelementptr inbounds %struct_, %struct_* %deref1, i32 0, i32 2 %1 = bitcast [81 x i8]* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) - %deref2 = load %struct_*, %struct_** %self, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %deref2 = load %struct_*, %struct_** %self, align [filtered] %b = getelementptr inbounds %struct_, %struct_* %deref2, i32 0, i32 3 - store i8 1, i8* %b, align 1 - %deref3 = load %struct_*, %struct_** %self, align 8 + store i8 1, i8* %b, align [filtered] + %deref3 = load %struct_*, %struct_** %self, align [filtered] %r = getelementptr inbounds %struct_, %struct_* %deref3, i32 0, i32 4 - store float 0x400921CAC0000000, float* %r, align 4 - %deref4 = load %struct_*, %struct_** %self, align 8 + store float 0x400921CAC0000000, float* %r, align [filtered] + %deref4 = load %struct_*, %struct_** %self, align [filtered] %i = getelementptr inbounds %struct_, %struct_* %deref4, i32 0, i32 6 - store i16 42, i16* %i, align 2 + store i16 42, i16* %i, align [filtered] ret void } define void @__init_inner(%inner* %0) { entry: - %self = alloca %inner*, align 8 - store %inner* %0, %inner** %self, align 8 - %deref = load %inner*, %inner** %self, align 8 + %self = alloca %inner*, align [filtered] + store %inner* %0, %inner** %self, align [filtered] + %deref = load %inner*, %inner** %self, align [filtered] %s = getelementptr inbounds %inner, %inner* %deref, i32 0, i32 0 %1 = bitcast [81 x i8]* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) - %deref1 = load %inner*, %inner** %self, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %deref1 = load %inner*, %inner** %self, align [filtered] %b = getelementptr inbounds %inner, %inner* %deref1, i32 0, i32 1 - store i8 1, i8* %b, align 1 - %deref2 = load %inner*, %inner** %self, align 8 + store i8 1, i8* %b, align [filtered] + %deref2 = load %inner*, %inner** %self, align [filtered] %r = getelementptr inbounds %inner, %inner* %deref2, i32 0, i32 2 - store float 0x400921CAC0000000, float* %r, align 4 - %deref3 = load %inner*, %inner** %self, align 8 + store float 0x400921CAC0000000, float* %r, align [filtered] + %deref3 = load %inner*, %inner** %self, align [filtered] %i = getelementptr inbounds %inner, %inner* %deref3, i32 0, i32 4 - store i16 42, i16* %i, align 2 + store i16 42, i16* %i, align [filtered] ret void } define void @__user_init_inner(%inner* %0) { entry: - %self = alloca %inner*, align 8 - store %inner* %0, %inner** %self, align 8 + %self = alloca %inner*, align [filtered] + store %inner* %0, %inner** %self, align [filtered] ret void } define void @__user_init_struct_(%struct_* %0) { entry: - %self = alloca %struct_*, align 8 - store %struct_* %0, %struct_** %self, align 8 - %deref = load %struct_*, %struct_** %self, align 8 + %self = alloca %struct_*, align [filtered] + store %struct_* %0, %struct_** %self, align [filtered] + %deref = load %struct_*, %struct_** %self, align [filtered] %inner = getelementptr inbounds %struct_, %struct_* %deref, i32 0, i32 0 call void @__user_init_inner(%inner* %inner) ret void @@ -945,13 +945,13 @@ fn constants_are_tagged_as_such() { define i32 @bar() !dbg !38 { entry: - %bar = alloca i32, align 4 - %d = alloca i32, align 4 + %bar = alloca i32, align [filtered] + %d = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %d, metadata !41, metadata !DIExpression()), !dbg !42 - store i32 42, i32* %d, align 4 + store i32 42, i32* %d, align [filtered] call void @llvm.dbg.declare(metadata i32* %bar, metadata !43, metadata !DIExpression()), !dbg !44 - store i32 0, i32* %bar, align 4 - %bar_ret = load i32, i32* %bar, align 4, !dbg !45 + store i32 0, i32* %bar, align [filtered] + %bar_ret = load i32, i32* %bar, align [filtered], !dbg !45 ret i32 %bar_ret, !dbg !45 } @@ -960,29 +960,29 @@ fn constants_are_tagged_as_such() { define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } @@ -1083,15 +1083,15 @@ fn test_debug_info_regular_pointer_types() { define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } @@ -1197,29 +1197,29 @@ fn test_debug_info_auto_deref_parameters() { define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__init_test_with_ref_params(%test_with_ref_params* %0) { entry: - %self = alloca %test_with_ref_params*, align 8 - store %test_with_ref_params* %0, %test_with_ref_params** %self, align 8 + %self = alloca %test_with_ref_params*, align [filtered] + store %test_with_ref_params* %0, %test_with_ref_params** %self, align [filtered] ret void } define void @__user_init_test_with_ref_params(%test_with_ref_params* %0) { entry: - %self = alloca %test_with_ref_params*, align 8 - store %test_with_ref_params* %0, %test_with_ref_params** %self, align 8 + %self = alloca %test_with_ref_params*, align [filtered] + store %test_with_ref_params* %0, %test_with_ref_params** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } @@ -1320,23 +1320,23 @@ fn test_debug_info_auto_deref_alias_pointers() { define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__init___Test() { entry: call void @__init_mystruct(%myStruct* @global_struct) - store i32* @global_var, i32** @alias_int, align 8 - store %myStruct* @global_struct, %myStruct** @alias_struct, align 8 + store i32* @global_var, i32** @alias_int, align [filtered] + store %myStruct* @global_struct, %myStruct** @alias_struct, align [filtered] call void @__user_init_myStruct(%myStruct* @global_struct) ret void } @@ -1424,22 +1424,22 @@ fn test_debug_info_mixed_pointer_types() { define void @__init_mixed_ptr(%mixed_ptr* %0) { entry: - %self = alloca %mixed_ptr*, align 8 - store %mixed_ptr* %0, %mixed_ptr** %self, align 8 + %self = alloca %mixed_ptr*, align [filtered] + store %mixed_ptr* %0, %mixed_ptr** %self, align [filtered] ret void } define void @__user_init_mixed_ptr(%mixed_ptr* %0) { entry: - %self = alloca %mixed_ptr*, align 8 - store %mixed_ptr* %0, %mixed_ptr** %self, align 8 + %self = alloca %mixed_ptr*, align [filtered] + store %mixed_ptr* %0, %mixed_ptr** %self, align [filtered] ret void } define void @__init___Test() { entry: call void @__init_mixed_ptr(%mixed_ptr* @mixed_ptr_instance) - store i32** @regular_ptr, i32*** @alias_var, align 8 + store i32** @regular_ptr, i32*** @alias_var, align [filtered] call void @__user_init_mixed_ptr(%mixed_ptr* @mixed_ptr_instance) ret void } @@ -1554,29 +1554,29 @@ fn test_debug_info_auto_deref_reference_to_pointers() { define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__init_test_with_reference_params(%test_with_reference_params* %0) { entry: - %self = alloca %test_with_reference_params*, align 8 - store %test_with_reference_params* %0, %test_with_reference_params** %self, align 8 + %self = alloca %test_with_reference_params*, align [filtered] + store %test_with_reference_params* %0, %test_with_reference_params** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_test_with_reference_params(%test_with_reference_params* %0) { entry: - %self = alloca %test_with_reference_params*, align 8 - store %test_with_reference_params* %0, %test_with_reference_params** %self, align 8 + %self = alloca %test_with_reference_params*, align [filtered] + store %test_with_reference_params* %0, %test_with_reference_params** %self, align [filtered] ret void } @@ -1682,16 +1682,16 @@ fn range_datatype_debug() { define i32 @main() !dbg !4 { entry: - %main = alloca i32, align 4 - %r = alloca i32, align 4 + %main = alloca i32, align [filtered] + %r = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %r, metadata !8, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %r, align 4 + store i32 0, i32* %r, align [filtered] call void @llvm.dbg.declare(metadata i32* %main, metadata !12, metadata !DIExpression()), !dbg !13 - store i32 0, i32* %main, align 4 - store i32 50, i32* %r, align 4, !dbg !14 - %load_r = load i32, i32* %r, align 4, !dbg !15 - store i32 %load_r, i32* %main, align 4, !dbg !15 - %main_ret = load i32, i32* %main, align 4, !dbg !16 + store i32 0, i32* %main, align [filtered] + store i32 50, i32* %r, align [filtered], !dbg !14 + %load_r = load i32, i32* %r, align [filtered], !dbg !15 + store i32 %load_r, i32* %main, align [filtered], !dbg !15 + %main_ret = load i32, i32* %main, align [filtered], !dbg !16 ret i32 %main_ret, !dbg !16 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap index 84a4db9076..b3189f0cb4 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap @@ -11,11 +11,11 @@ target triple = "[filtered]" define void @myFunc(i8* %0) !dbg !4 { entry: - %myFunc = alloca i8*, align 8 + %myFunc = alloca i8*, align [filtered] call void @llvm.dbg.declare(metadata i8** %myFunc, metadata !16, metadata !DIExpression()), !dbg !17 - store i8* %0, i8** %myFunc, align 8 - %deref = load i8*, i8** %myFunc, align 8, !dbg !18 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false), !dbg !18 + store i8* %0, i8** %myFunc, align [filtered] + %deref = load i8*, i8** %myFunc, align [filtered], !dbg !18 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false), !dbg !18 ret void, !dbg !19 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap index 6e404bbe9f..bef8e6de22 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i32 @foo() !dbg !4 { entry: - %foo = alloca i32, align 4 - %a = alloca [64 x i32], align 4 + %foo = alloca i32, align [filtered] + %a = alloca [64 x i32], align [filtered] call void @llvm.dbg.declare(metadata [64 x i32]* %a, metadata !9, metadata !DIExpression()), !dbg !14 %0 = bitcast [64 x i32]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([64 x i32]* getelementptr ([64 x i32], [64 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([64 x i32]* getelementptr ([64 x i32], [64 x i32]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata i32* %foo, metadata !15, metadata !DIExpression()), !dbg !16 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4, !dbg !17 + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered], !dbg !17 ret i32 %foo_ret, !dbg !17 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap index a502b7fa10..c4c59c0f78 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,11 +9,11 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 - store i32 3, i32* %myFunc, align 4, !dbg !12 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !13 + store i32 0, i32* %myFunc, align [filtered] + store i32 3, i32* %myFunc, align [filtered], !dbg !12 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !13 ret i32 %myFunc_ret, !dbg !13 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap index 2f49ccc588..8d732d8384 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,30 +9,30 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 - %load_myFunc = load i32, i32* %myFunc, align 4, !dbg !12 + store i32 0, i32* %myFunc, align [filtered] + %load_myFunc = load i32, i32* %myFunc, align [filtered], !dbg !12 switch i32 %load_myFunc, label %else [ i32 1, label %case i32 2, label %case1 ], !dbg !13 case: ; preds = %entry - store i32 1, i32* %myFunc, align 4, !dbg !14 + store i32 1, i32* %myFunc, align [filtered], !dbg !14 br label %continue, !dbg !15 case1: ; preds = %entry - store i32 1, i32* %myFunc, align 4, !dbg !16 + store i32 1, i32* %myFunc, align [filtered], !dbg !16 br label %continue, !dbg !15 else: ; preds = %entry - store i32 1, i32* %myFunc, align 4, !dbg !17 + store i32 1, i32* %myFunc, align [filtered], !dbg !17 br label %continue, !dbg !15 continue: ; preds = %else, %case1, %case - store i32 1, i32* %myFunc, align 4, !dbg !18 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !19 + store i32 1, i32* %myFunc, align [filtered], !dbg !18 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !19 ret i32 %myFunc_ret, !dbg !19 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap index 7264034f19..93251a0a88 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,9 +9,9 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] br label %condition_check, !dbg !12 condition_check: ; preds = %entry, %continue1 @@ -22,8 +21,8 @@ while_body: ; preds = %condition_check br i1 false, label %condition_body, label %continue1, !dbg !13 continue: ; preds = %condition_body, %condition_check - store i32 1, i32* %myFunc, align 4, !dbg !14 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !15 + store i32 1, i32* %myFunc, align [filtered], !dbg !14 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !15 ret i32 %myFunc_ret, !dbg !15 condition_body: ; preds = %while_body diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap index b7700cffec..8d4ac047f2 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,34 +9,34 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 - store i32 1, i32* %myFunc, align 4, !dbg !12 + store i32 0, i32* %myFunc, align [filtered] + store i32 1, i32* %myFunc, align [filtered], !dbg !12 br i1 true, label %predicate_sle, label %predicate_sge, !dbg !12 predicate_sle: ; preds = %increment, %entry - %0 = load i32, i32* %myFunc, align 4, !dbg !12 + %0 = load i32, i32* %myFunc, align [filtered], !dbg !12 %condition = icmp sle i32 %0, 20, !dbg !12 br i1 %condition, label %loop, label %continue, !dbg !12 predicate_sge: ; preds = %increment, %entry - %1 = load i32, i32* %myFunc, align 4, !dbg !12 + %1 = load i32, i32* %myFunc, align [filtered], !dbg !12 %condition1 = icmp sge i32 %1, 20, !dbg !12 br i1 %condition1, label %loop, label %continue, !dbg !12 loop: ; preds = %predicate_sge, %predicate_sle - store i32 1, i32* %myFunc, align 4, !dbg !13 + store i32 1, i32* %myFunc, align [filtered], !dbg !13 br label %increment, !dbg !14 increment: ; preds = %loop - %2 = load i32, i32* %myFunc, align 4, !dbg !14 + %2 = load i32, i32* %myFunc, align [filtered], !dbg !14 %next = add i32 2, %2, !dbg !14 - store i32 %next, i32* %myFunc, align 4, !dbg !14 + store i32 %next, i32* %myFunc, align [filtered], !dbg !14 br i1 true, label %predicate_sle, label %predicate_sge, !dbg !14 continue: ; preds = %predicate_sge, %predicate_sle - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !15 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !15 ret i32 %myFunc_ret, !dbg !15 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap index d2a6bed650..026754e798 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,11 +9,11 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] %call = call i32 @myFunc(), !dbg !12 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !13 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !13 ret i32 %myFunc_ret, !dbg !13 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap index 5d08902817..3e9543028f 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,12 +9,12 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] %call = call i32 @myFunc(), !dbg !12 %tmpVar = add i32 1, %call, !dbg !12 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !13 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !13 ret i32 %myFunc_ret, !dbg !13 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap index 8f82004444..e3221d27ed 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,29 +9,29 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] br i1 true, label %condition_body, label %branch, !dbg !12 condition_body: ; preds = %entry - store i32 1, i32* %myFunc, align 4, !dbg !13 + store i32 1, i32* %myFunc, align [filtered], !dbg !13 br label %continue, !dbg !14 branch: ; preds = %entry br i1 false, label %condition_body1, label %else, !dbg !15 condition_body1: ; preds = %branch - store i32 1, i32* %myFunc, align 4, !dbg !16 + store i32 1, i32* %myFunc, align [filtered], !dbg !16 br label %continue, !dbg !14 else: ; preds = %branch - store i32 1, i32* %myFunc, align 4, !dbg !17 + store i32 1, i32* %myFunc, align [filtered], !dbg !17 br label %continue, !dbg !14 continue: ; preds = %else, %condition_body1, %condition_body - store i32 1, i32* %myFunc, align 4, !dbg !18 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !19 + store i32 1, i32* %myFunc, align [filtered], !dbg !18 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !19 ret i32 %myFunc_ret, !dbg !19 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap index da48c3a0d1..81d26fc5c3 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap @@ -15,10 +15,10 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !14 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !17, metadata !DIExpression()), !dbg !19 - store i32 0, i32* %myFunc, align 4 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !20 + store i32 0, i32* %myFunc, align [filtered] + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !20 ret i32 %myFunc_ret, !dbg !20 } @@ -31,8 +31,8 @@ entry: define void @myFb(%myFb* %0) !dbg !26 { entry: call void @llvm.dbg.declare(metadata %myFb* %0, metadata !29, metadata !DIExpression()), !dbg !30 - %this = alloca %myFb*, align 8 - store %myFb* %0, %myFb** %this, align 8 + %this = alloca %myFb*, align [filtered] + store %myFb* %0, %myFb** %this, align [filtered] ret void, !dbg !30 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap index d9ee6c7b9d..1934fe717a 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,15 +9,15 @@ target triple = "[filtered]" define i32 @myFunc(i32 %0) !dbg !4 { entry: - %myFunc = alloca i32, align 4 - %x = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] + %x = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %x, metadata !10, metadata !DIExpression()), !dbg !11 - store i32 %0, i32* %x, align 4 + store i32 %0, i32* %x, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !12, metadata !DIExpression()), !dbg !13 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] %call = call i32 @myFunc(i32 1), !dbg !14 %call1 = call i32 @myFunc(i32 %call), !dbg !15 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !16 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !16 ret i32 %myFunc_ret, !dbg !16 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap index 842f6b68a2..3612cb725e 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,11 +9,11 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 - %load_myFunc = load i32, i32* %myFunc, align 4, !dbg !12 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !13 + store i32 0, i32* %myFunc, align [filtered] + %load_myFunc = load i32, i32* %myFunc, align [filtered], !dbg !12 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !13 ret i32 %myFunc_ret, !dbg !13 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap index 8fcde6169a..147f6332d6 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap @@ -17,21 +17,21 @@ define void @myProg(%myProg* %0) !dbg !18 { entry: call void @llvm.dbg.declare(metadata %myProg* %0, metadata !22, metadata !DIExpression()), !dbg !23 %x = getelementptr inbounds %myProg, %myProg* %0, i32 0, i32 0 - %load_x = load i32, i32* %x, align 4, !dbg !23 + %load_x = load i32, i32* %x, align [filtered], !dbg !23 %tmpVar = add i32 %load_x, 2, !dbg !23 - store i32 %tmpVar, i32* %x, align 4, !dbg !23 + store i32 %tmpVar, i32* %x, align [filtered], !dbg !23 ret void, !dbg !24 } define void @fb(%fb* %0) !dbg !25 { entry: call void @llvm.dbg.declare(metadata %fb* %0, metadata !28, metadata !DIExpression()), !dbg !29 - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 - %load_x = load i32, i32* %x, align 4, !dbg !29 + %load_x = load i32, i32* %x, align [filtered], !dbg !29 %tmpVar = add i32 %load_x, 2, !dbg !29 - store i32 %tmpVar, i32* %x, align 4, !dbg !29 + store i32 %tmpVar, i32* %x, align [filtered], !dbg !29 ret void, !dbg !30 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap index 6e17e4d99b..ef45cf543a 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,25 +9,25 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] br label %condition_check, !dbg !12 condition_check: ; preds = %entry, %continue1 br i1 true, label %while_body, label %continue, !dbg !13 while_body: ; preds = %condition_check - store i32 1, i32* %myFunc, align 4, !dbg !14 - %load_myFunc = load i32, i32* %myFunc, align 4, !dbg !13 + store i32 1, i32* %myFunc, align [filtered], !dbg !14 + %load_myFunc = load i32, i32* %myFunc, align [filtered], !dbg !13 %tmpVar = icmp sgt i32 %load_myFunc, 10, !dbg !13 %0 = zext i1 %tmpVar to i8, !dbg !13 %1 = icmp ne i8 %0, 0, !dbg !13 br i1 %1, label %condition_body, label %continue1, !dbg !13 continue: ; preds = %condition_body, %condition_check - store i32 1, i32* %myFunc, align 4, !dbg !15 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !16 + store i32 1, i32* %myFunc, align [filtered], !dbg !15 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !16 ret i32 %myFunc_ret, !dbg !16 condition_body: ; preds = %while_body diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap index 4d8bf4fccf..4488067f93 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !12 + store i32 0, i32* %myFunc, align [filtered] + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !12 ret i32 %myFunc_ret, !dbg !12 buffer_block: ; No predecessors! - %myFunc_ret1 = load i32, i32* %myFunc, align 4, !dbg !13 + %myFunc_ret1 = load i32, i32* %myFunc, align [filtered], !dbg !13 ret i32 %myFunc_ret1, !dbg !13 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap index c948ce2acb..6543db20af 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap @@ -15,51 +15,51 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !14 { entry: - %myFunc = alloca i32, align 4 - %a = alloca i32, align 4 - %b = alloca i32, align 4 - %c = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] + %a = alloca i32, align [filtered] + %b = alloca i32, align [filtered] + %c = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %a, metadata !17, metadata !DIExpression()), !dbg !19 - store i32 0, i32* %a, align 4 + store i32 0, i32* %a, align [filtered] call void @llvm.dbg.declare(metadata i32* %b, metadata !20, metadata !DIExpression()), !dbg !21 - store i32 0, i32* %b, align 4 + store i32 0, i32* %b, align [filtered] call void @llvm.dbg.declare(metadata i32* %c, metadata !22, metadata !DIExpression()), !dbg !23 - store i32 0, i32* %c, align 4 + store i32 0, i32* %c, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !24, metadata !DIExpression()), !dbg !25 - store i32 0, i32* %myFunc, align 4 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !26 + store i32 0, i32* %myFunc, align [filtered] + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !26 ret i32 %myFunc_ret, !dbg !26 } define void @myPrg(%myPrg* %0) !dbg !27 { entry: call void @llvm.dbg.declare(metadata %myPrg* %0, metadata !30, metadata !DIExpression()), !dbg !31 - %a = alloca i32, align 4 - %b = alloca i32, align 4 - %c = alloca i32, align 4 + %a = alloca i32, align [filtered] + %b = alloca i32, align [filtered] + %c = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %a, metadata !32, metadata !DIExpression()), !dbg !33 - store i32 0, i32* %a, align 4 + store i32 0, i32* %a, align [filtered] call void @llvm.dbg.declare(metadata i32* %b, metadata !34, metadata !DIExpression()), !dbg !35 - store i32 0, i32* %b, align 4 + store i32 0, i32* %b, align [filtered] call void @llvm.dbg.declare(metadata i32* %c, metadata !36, metadata !DIExpression()), !dbg !37 - store i32 0, i32* %c, align 4 + store i32 0, i32* %c, align [filtered] ret void, !dbg !31 } define void @myFb(%myFb* %0) !dbg !38 { entry: call void @llvm.dbg.declare(metadata %myFb* %0, metadata !41, metadata !DIExpression()), !dbg !42 - %this = alloca %myFb*, align 8 - store %myFb* %0, %myFb** %this, align 8 - %a = alloca i32, align 4 - %b = alloca i32, align 4 - %c = alloca i32, align 4 + %this = alloca %myFb*, align [filtered] + store %myFb* %0, %myFb** %this, align [filtered] + %a = alloca i32, align [filtered] + %b = alloca i32, align [filtered] + %c = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %a, metadata !43, metadata !DIExpression()), !dbg !44 - store i32 0, i32* %a, align 4 + store i32 0, i32* %a, align [filtered] call void @llvm.dbg.declare(metadata i32* %b, metadata !45, metadata !DIExpression()), !dbg !46 - store i32 0, i32* %b, align 4 + store i32 0, i32* %b, align [filtered] call void @llvm.dbg.declare(metadata i32* %c, metadata !47, metadata !DIExpression()), !dbg !48 - store i32 0, i32* %c, align 4 + store i32 0, i32* %c, align [filtered] ret void, !dbg !42 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap index 96c08fc85a..e3fc83ca3d 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap @@ -9,18 +9,18 @@ target triple = "[filtered]" define i32 @myFunc(i16* %0) !dbg !4 { entry: - %myFunc = alloca i32, align 4 - %x = alloca i16*, align 8 + %myFunc = alloca i32, align [filtered] + %x = alloca i16*, align [filtered] call void @llvm.dbg.declare(metadata i16** %x, metadata !12, metadata !DIExpression()), !dbg !13 - store i16* %0, i16** %x, align 8 + store i16* %0, i16** %x, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !14, metadata !DIExpression()), !dbg !16 - store i32 0, i32* %myFunc, align 4 - %deref = load i16*, i16** %x, align 8, !dbg !17 - %load_x = load i16, i16* %deref, align 2, !dbg !17 + store i32 0, i32* %myFunc, align [filtered] + %deref = load i16*, i16** %x, align [filtered], !dbg !17 + %load_x = load i16, i16* %deref, align [filtered], !dbg !17 %1 = sext i16 %load_x to i32, !dbg !17 %tmpVar = add i32 %1, 2, !dbg !17 - store i32 %tmpVar, i32* %myFunc, align 4, !dbg !17 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !18 + store i32 %tmpVar, i32* %myFunc, align [filtered], !dbg !17 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !18 ret i32 %myFunc_ret, !dbg !18 } diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap index 770af9dec1..8a4b81a1a8 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests/expression_debugging.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,16 +9,16 @@ target triple = "[filtered]" define i32 @myFunc() !dbg !4 { entry: - %myFunc = alloca i32, align 4 + %myFunc = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %myFunc, metadata !9, metadata !DIExpression()), !dbg !11 - store i32 0, i32* %myFunc, align 4 + store i32 0, i32* %myFunc, align [filtered] br label %condition_check, !dbg !12 condition_check: ; preds = %entry, %continue1 br i1 true, label %while_body, label %continue, !dbg !13 while_body: ; preds = %condition_check - %load_myFunc = load i32, i32* %myFunc, align 4, !dbg !13 + %load_myFunc = load i32, i32* %myFunc, align [filtered], !dbg !13 %tmpVar = icmp sgt i32 %load_myFunc, 1, !dbg !13 %0 = zext i1 %tmpVar to i8, !dbg !13 %1 = icmp ne i8 %0, 0, !dbg !13 @@ -27,8 +26,8 @@ while_body: ; preds = %condition_check br i1 %tmpVar2, label %condition_body, label %continue1, !dbg !13 continue: ; preds = %condition_body, %condition_check - store i32 1, i32* %myFunc, align 4, !dbg !14 - %myFunc_ret = load i32, i32* %myFunc, align 4, !dbg !15 + store i32 1, i32* %myFunc, align [filtered], !dbg !14 + %myFunc_ret = load i32, i32* %myFunc, align [filtered], !dbg !15 ret i32 %myFunc_ret, !dbg !15 condition_body: ; preds = %while_body @@ -38,7 +37,7 @@ buffer_block: ; No predecessors! br label %continue1, !dbg !16 continue1: ; preds = %buffer_block, %while_body - store i32 1, i32* %myFunc, align 4, !dbg !17 + store i32 1, i32* %myFunc, align [filtered], !dbg !17 br label %condition_check, !dbg !12 } diff --git a/src/codegen/tests/directaccess_test.rs b/src/codegen/tests/directaccess_test.rs index b7d3c99c76..087e88266d 100644 --- a/src/codegen/tests/directaccess_test.rs +++ b/src/codegen/tests/directaccess_test.rs @@ -153,8 +153,8 @@ fn direct_acess_in_output_assignment_implicit_explicit_and_mixed() { define void @FOO(%FOO* %0) { entry: - %this = alloca %FOO*, align 8 - store %FOO* %0, %FOO** %this, align 8 + %this = alloca %FOO*, align [filtered] + store %FOO* %0, %FOO** %this, align [filtered] %X = getelementptr inbounds %FOO, %FOO* %0, i32 0, i32 0 %Y = getelementptr inbounds %FOO, %FOO* %0, i32 0, i32 1 ret void @@ -162,59 +162,59 @@ fn direct_acess_in_output_assignment_implicit_explicit_and_mixed() { define i32 @main() { entry: - %main = alloca i32, align 4 - %error_bits = alloca i8, align 1 - %f = alloca %FOO, align 8 - store i8 0, i8* %error_bits, align 1 + %main = alloca i32, align [filtered] + %error_bits = alloca i8, align [filtered] + %f = alloca %FOO, align [filtered] + store i8 0, i8* %error_bits, align [filtered] %0 = bitcast %FOO* %f to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %1 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 0 - %load_error_bits = load i8, i8* %error_bits, align 1 + %load_error_bits = load i8, i8* %error_bits, align [filtered] %shift = lshr i8 %load_error_bits, 0 %2 = and i8 %shift, 1 - store i8 %2, i8* %1, align 1 + store i8 %2, i8* %1, align [filtered] call void @FOO(%FOO* %f) %3 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 1 - %4 = load i8, i8* %error_bits, align 1 - %5 = load i8, i8* %3, align 1 + %4 = load i8, i8* %error_bits, align [filtered] + %5 = load i8, i8* %3, align [filtered] %erase = and i8 %4, -2 %value = shl i8 %5, 0 %or = or i8 %erase, %value - store i8 %or, i8* %error_bits, align 1 + store i8 %or, i8* %error_bits, align [filtered] %6 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 0 - %load_error_bits1 = load i8, i8* %error_bits, align 1 + %load_error_bits1 = load i8, i8* %error_bits, align [filtered] %shift2 = lshr i8 %load_error_bits1, 0 %7 = and i8 %shift2, 1 - store i8 %7, i8* %6, align 1 + store i8 %7, i8* %6, align [filtered] call void @FOO(%FOO* %f) %8 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 1 - %9 = load i8, i8* %error_bits, align 1 - %10 = load i8, i8* %8, align 1 + %9 = load i8, i8* %error_bits, align [filtered] + %10 = load i8, i8* %8, align [filtered] %erase3 = and i8 %9, -2 %value4 = shl i8 %10, 0 %or5 = or i8 %erase3, %value4 - store i8 %or5, i8* %error_bits, align 1 + store i8 %or5, i8* %error_bits, align [filtered] %11 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 0 - %load_error_bits6 = load i8, i8* %error_bits, align 1 + %load_error_bits6 = load i8, i8* %error_bits, align [filtered] %shift7 = lshr i8 %load_error_bits6, 0 %12 = and i8 %shift7, 1 - store i8 %12, i8* %11, align 1 + store i8 %12, i8* %11, align [filtered] call void @FOO(%FOO* %f) %13 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 1 - %14 = load i8, i8* %error_bits, align 1 - %15 = load i8, i8* %13, align 1 + %14 = load i8, i8* %error_bits, align [filtered] + %15 = load i8, i8* %13, align [filtered] %erase8 = and i8 %14, -2 %value9 = shl i8 %15, 0 %or10 = or i8 %erase8, %value9 - store i8 %or10, i8* %error_bits, align 1 + store i8 %or10, i8* %error_bits, align [filtered] %16 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 0 - %load_error_bits11 = load i8, i8* %error_bits, align 1 + %load_error_bits11 = load i8, i8* %error_bits, align [filtered] %shift12 = lshr i8 %load_error_bits11, 0 %17 = and i8 %shift12, 1 - store i8 %17, i8* %16, align 1 + store i8 %17, i8* %16, align [filtered] call void @FOO(%FOO* %f) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -258,30 +258,30 @@ fn direct_acess_in_output_assignment_with_simple_expression() { define void @FOO(%FOO* %0) { entry: - %this = alloca %FOO*, align 8 - store %FOO* %0, %FOO** %this, align 8 + %this = alloca %FOO*, align [filtered] + store %FOO* %0, %FOO** %this, align [filtered] %Q = getelementptr inbounds %FOO, %FOO* %0, i32 0, i32 0 ret void } define i32 @main() { entry: - %main = alloca i32, align 4 - %error_bits = alloca i8, align 1 - %f = alloca %FOO, align 8 - store i8 -17, i8* %error_bits, align 1 + %main = alloca i32, align [filtered] + %error_bits = alloca i8, align [filtered] + %f = alloca %FOO, align [filtered] + store i8 -17, i8* %error_bits, align [filtered] %0 = bitcast %FOO* %f to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] call void @FOO(%FOO* %f) %1 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 0 - %2 = load i8, i8* %error_bits, align 1 - %3 = load i8, i8* %1, align 1 + %2 = load i8, i8* %error_bits, align [filtered] + %3 = load i8, i8* %1, align [filtered] %erase = and i8 %2, -17 %value = shl i8 %3, 4 %or = or i8 %erase, %value - store i8 %or, i8* %error_bits, align 1 - %main_ret = load i32, i32* %main, align 4 + store i8 %or, i8* %error_bits, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -325,30 +325,30 @@ fn direct_acess_in_output_assignment_with_simple_expression_implicit() { define void @FOO(%FOO* %0) { entry: - %this = alloca %FOO*, align 8 - store %FOO* %0, %FOO** %this, align 8 + %this = alloca %FOO*, align [filtered] + store %FOO* %0, %FOO** %this, align [filtered] %Q = getelementptr inbounds %FOO, %FOO* %0, i32 0, i32 0 ret void } define i32 @main() { entry: - %main = alloca i32, align 4 - %error_bits = alloca i8, align 1 - %f = alloca %FOO, align 8 - store i8 -17, i8* %error_bits, align 1 + %main = alloca i32, align [filtered] + %error_bits = alloca i8, align [filtered] + %f = alloca %FOO, align [filtered] + store i8 -17, i8* %error_bits, align [filtered] %0 = bitcast %FOO* %f to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] call void @FOO(%FOO* %f) %1 = getelementptr inbounds %FOO, %FOO* %f, i32 0, i32 0 - %2 = load i8, i8* %error_bits, align 1 - %3 = load i8, i8* %1, align 1 + %2 = load i8, i8* %error_bits, align [filtered] + %3 = load i8, i8* %1, align [filtered] %erase = and i8 %2, -17 %value = shl i8 %3, 4 %or = or i8 %erase, %value - store i8 %or, i8* %error_bits, align 1 - %main_ret = load i32, i32* %main, align 4 + store i8 %or, i8* %error_bits, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -405,45 +405,45 @@ fn direct_acess_in_output_assignment_with_complexe_expression() { define void @QUUX(%QUUX* %0) { entry: - %this = alloca %QUUX*, align 8 - store %QUUX* %0, %QUUX** %this, align 8 + %this = alloca %QUUX*, align [filtered] + store %QUUX* %0, %QUUX** %this, align [filtered] %Q = getelementptr inbounds %QUUX, %QUUX* %0, i32 0, i32 0 ret void } define i32 @main() { entry: - %main = alloca i32, align 4 - %foo = alloca %foo_struct, align 8 - %f = alloca %QUUX, align 8 + %main = alloca i32, align [filtered] + %foo = alloca %foo_struct, align [filtered] + %f = alloca %QUUX, align [filtered] %0 = bitcast %foo_struct* %foo to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%foo_struct* @__foo_struct__init to i8*), i64 ptrtoint (%foo_struct* getelementptr (%foo_struct, %foo_struct* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%foo_struct* @__foo_struct__init to i8*), i64 ptrtoint (%foo_struct* getelementptr (%foo_struct, %foo_struct* null, i32 1) to i64), i1 false) %1 = bitcast %QUUX* %f to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds (%QUUX, %QUUX* @__QUUX__init, i32 0, i32 0), i64 ptrtoint (%QUUX* getelementptr (%QUUX, %QUUX* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds (%QUUX, %QUUX* @__QUUX__init, i32 0, i32 0), i64 ptrtoint (%QUUX* getelementptr (%QUUX, %QUUX* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] call void @QUUX(%QUUX* %f) %bar = getelementptr inbounds %foo_struct, %foo_struct* %foo, i32 0, i32 0 %baz = getelementptr inbounds %bar_struct, %bar_struct* %bar, i32 0, i32 0 %2 = getelementptr inbounds %QUUX, %QUUX* %f, i32 0, i32 0 - %3 = load i64, i64* %baz, align 8 - %4 = load i8, i8* %2, align 1 + %3 = load i64, i64* %baz, align [filtered] + %4 = load i8, i8* %2, align [filtered] %erase = and i64 %3, -281474976710657 %5 = zext i8 %4 to i64 %value = shl i64 %5, 48 %or = or i64 %erase, %value - store i64 %or, i64* %baz, align 8 + store i64 %or, i64* %baz, align [filtered] call void @QUUX(%QUUX* %f) %bar1 = getelementptr inbounds %foo_struct, %foo_struct* %foo, i32 0, i32 0 %baz2 = getelementptr inbounds %bar_struct, %bar_struct* %bar1, i32 0, i32 0 %6 = getelementptr inbounds %QUUX, %QUUX* %f, i32 0, i32 0 - %7 = load i64, i64* %baz2, align 8 - %8 = load i8, i8* %6, align 1 + %7 = load i64, i64* %baz2, align [filtered] + %8 = load i8, i8* %6, align [filtered] %erase3 = and i64 %7, -1125899906842625 %9 = zext i8 %8 to i64 %value4 = shl i64 %9, 50 %or5 = or i64 %erase3, %value4 - store i64 %or5, i64* %baz2, align 8 - %main_ret = load i32, i32* %main, align 4 + store i64 %or5, i64* %baz2, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/expression_tests.rs b/src/codegen/tests/expression_tests.rs index 44bd315976..5faeb1f97a 100644 --- a/src/codegen/tests/expression_tests.rs +++ b/src/codegen/tests/expression_tests.rs @@ -306,8 +306,8 @@ fn builtin_function_call_adr() { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - store i32* %b, i32** %a, align 8 - store i32* %b, i32** %a, align 8 + store i32* %b, i32** %a, align [filtered] + store i32* %b, i32** %a, align [filtered] ret void } "#); @@ -344,8 +344,8 @@ fn builtin_function_call_ref() { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - store i32* %b, i32** %a, align 8 - store i32* %b, i32** %a, align 8 + store i32* %b, i32** %a, align [filtered] + store i32* %b, i32** %a, align [filtered] ret void } "#); @@ -406,14 +406,14 @@ fn builtin_function_call_sel() { %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %c = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_b = load i32, i32* %b, align 4 - %load_c = load i32, i32* %c, align 4 + %load_b = load i32, i32* %b, align [filtered] + %load_c = load i32, i32* %c, align [filtered] %1 = select i1 true, i32 %load_c, i32 %load_b - store i32 %1, i32* %a, align 4 - %load_b1 = load i32, i32* %b, align 4 - %load_c2 = load i32, i32* %c, align 4 + store i32 %1, i32* %a, align [filtered] + %load_b1 = load i32, i32* %b, align [filtered] + %load_c2 = load i32, i32* %c, align [filtered] %2 = select i1 true, i32 %load_c2, i32 %load_b1 - store i32 %2, i32* %a, align 4 + store i32 %2, i32* %a, align [filtered] ret void } "#); @@ -459,10 +459,10 @@ fn builtin_function_call_move() { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %load_b = load i32, i32* %b, align 4 - store i32 %load_b, i32* %a, align 4 - %load_b1 = load i32, i32* %b, align 4 - store i32 %load_b1, i32* %a, align 4 + %load_b = load i32, i32* %b, align [filtered] + store i32 %load_b, i32* %a, align [filtered] + %load_b1 = load i32, i32* %b, align [filtered] + store i32 %load_b1, i32* %a, align [filtered] ret void } "#); @@ -495,8 +495,8 @@ fn builtin_function_call_sizeof() { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - store i32 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i32), i32* %a, align 4 - store i32 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i32), i32* %a, align 4 + store i32 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i32), i32* %a, align [filtered] + store i32 ptrtoint (i64* getelementptr (i64, i64* null, i32 1) to i32), i32* %a, align [filtered] ret void } "#); @@ -540,38 +540,38 @@ fn builtin_function_call_lower_bound() { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %auto_deref = load [2 x i32], [2 x i32]* %a, align 4 + %auto_deref = load [2 x i32], [2 x i32]* %a, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i32], [2 x i32]* %a, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i32* %outer_arr_gep, i32** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i32* %outer_arr_gep, i32** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i32 @foo(%__foo_vla* %vla_struct_ptr) - store i32 %call, i32* %b, align 4 + store i32 %call, i32* %b, align [filtered] ret void } define i32 @foo(%__foo_vla* %0) { entry: - %foo = alloca i32, align 4 - %vla = alloca %__foo_vla*, align 8 - store %__foo_vla* %0, %__foo_vla** %vla, align 8 - store i32 0, i32* %foo, align 4 - %deref = load %__foo_vla*, %__foo_vla** %vla, align 8 + %foo = alloca i32, align [filtered] + %vla = alloca %__foo_vla*, align [filtered] + store %__foo_vla* %0, %__foo_vla** %vla, align [filtered] + store i32 0, i32* %foo, align [filtered] + %deref = load %__foo_vla*, %__foo_vla** %vla, align [filtered] %dim = getelementptr inbounds %__foo_vla, %__foo_vla* %deref, i32 0, i32 1 %1 = getelementptr inbounds [2 x i32], [2 x i32]* %dim, i32 0, i32 0 - %2 = load i32, i32* %1, align 4 - store i32 %2, i32* %foo, align 4 - %deref1 = load %__foo_vla*, %__foo_vla** %vla, align 8 + %2 = load i32, i32* %1, align [filtered] + store i32 %2, i32* %foo, align [filtered] + %deref1 = load %__foo_vla*, %__foo_vla** %vla, align [filtered] %dim2 = getelementptr inbounds %__foo_vla, %__foo_vla* %deref1, i32 0, i32 1 %3 = getelementptr inbounds [2 x i32], [2 x i32]* %dim2, i32 0, i32 0 - %4 = load i32, i32* %3, align 4 - store i32 %4, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %4 = load i32, i32* %3, align [filtered] + store i32 %4, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#); @@ -615,38 +615,38 @@ fn builtin_function_call_upper_bound() { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %auto_deref = load [2 x i32], [2 x i32]* %a, align 4 + %auto_deref = load [2 x i32], [2 x i32]* %a, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i32], [2 x i32]* %a, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i32* %outer_arr_gep, i32** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i32* %outer_arr_gep, i32** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i32 @foo(%__foo_vla* %vla_struct_ptr) - store i32 %call, i32* %b, align 4 + store i32 %call, i32* %b, align [filtered] ret void } define i32 @foo(%__foo_vla* %0) { entry: - %foo = alloca i32, align 4 - %vla = alloca %__foo_vla*, align 8 - store %__foo_vla* %0, %__foo_vla** %vla, align 8 - store i32 0, i32* %foo, align 4 - %deref = load %__foo_vla*, %__foo_vla** %vla, align 8 + %foo = alloca i32, align [filtered] + %vla = alloca %__foo_vla*, align [filtered] + store %__foo_vla* %0, %__foo_vla** %vla, align [filtered] + store i32 0, i32* %foo, align [filtered] + %deref = load %__foo_vla*, %__foo_vla** %vla, align [filtered] %dim = getelementptr inbounds %__foo_vla, %__foo_vla* %deref, i32 0, i32 1 %1 = getelementptr inbounds [2 x i32], [2 x i32]* %dim, i32 0, i32 1 - %2 = load i32, i32* %1, align 4 - store i32 %2, i32* %foo, align 4 - %deref1 = load %__foo_vla*, %__foo_vla** %vla, align 8 + %2 = load i32, i32* %1, align [filtered] + store i32 %2, i32* %foo, align [filtered] + %deref1 = load %__foo_vla*, %__foo_vla** %vla, align [filtered] %dim2 = getelementptr inbounds %__foo_vla, %__foo_vla* %deref1, i32 0, i32 1 %3 = getelementptr inbounds [2 x i32], [2 x i32]* %dim2, i32 0, i32 1 - %4 = load i32, i32* %3, align 4 - store i32 %4, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %4 = load i32, i32* %3, align [filtered] + store i32 %4, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#); @@ -977,16 +977,16 @@ fn builtin_div_with_named_arguments() { define i32 @main() { entry: - %main = alloca i32, align 4 - %x = alloca i32, align 4 - %y = alloca i32, align 4 - store i32 20, i32* %x, align 4 - store i32 4, i32* %y, align 4 - store i32 0, i32* %main, align 4 - %load_x = load i32, i32* %x, align 4 - %load_y = load i32, i32* %y, align 4 + %main = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + %y = alloca i32, align [filtered] + store i32 20, i32* %x, align [filtered] + store i32 4, i32* %y, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x = load i32, i32* %x, align [filtered] + %load_y = load i32, i32* %y, align [filtered] %tmpVar = sdiv i32 %load_x, %load_y - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } "#); @@ -1014,16 +1014,16 @@ fn builtin_sub_with_named_arguments() { define i32 @main() { entry: - %main = alloca i32, align 4 - %x = alloca i32, align 4 - %y = alloca i32, align 4 - store i32 20, i32* %x, align 4 - store i32 4, i32* %y, align 4 - store i32 0, i32* %main, align 4 - %load_x = load i32, i32* %x, align 4 - %load_y = load i32, i32* %y, align 4 + %main = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + %y = alloca i32, align [filtered] + store i32 20, i32* %x, align [filtered] + store i32 4, i32* %y, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x = load i32, i32* %x, align [filtered] + %load_y = load i32, i32* %y, align [filtered] %tmpVar = sub i32 %load_x, %load_y - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } "#); @@ -1064,20 +1064,20 @@ fn global_namespace_operator() { define void @main(%main* %0) { entry: %foo = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %load_foo = load i32, i32* @foo, align 4 - store i32 %load_foo, i32* %foo, align 4 - %load_foo1 = load i32, i32* @foo, align 4 + %load_foo = load i32, i32* @foo, align [filtered] + store i32 %load_foo, i32* %foo, align [filtered] + %load_foo1 = load i32, i32* @foo, align [filtered] %tmpVar = add i32 %load_foo1, 1 - store i32 %tmpVar, i32* %foo, align 4 - %load_foo2 = load i32, i32* @foo, align 4 - %load_foo3 = load i32, i32* @foo, align 4 + store i32 %tmpVar, i32* %foo, align [filtered] + %load_foo2 = load i32, i32* @foo, align [filtered] + %load_foo3 = load i32, i32* @foo, align [filtered] %tmpVar4 = add i32 %load_foo2, %load_foo3 - store i32 %tmpVar4, i32* %foo, align 4 - %load_foo5 = load i32, i32* %foo, align 4 - store i32 %load_foo5, i32* @foo, align 4 - %load_foo6 = load i32, i32* @foo, align 4 + store i32 %tmpVar4, i32* %foo, align [filtered] + %load_foo5 = load i32, i32* %foo, align [filtered] + store i32 %load_foo5, i32* @foo, align [filtered] + %load_foo6 = load i32, i32* @foo, align [filtered] %tmpVar7 = add i32 %load_foo6, 1 - store i32 %tmpVar7, i32* @foo, align 4 + store i32 %tmpVar7, i32* @foo, align [filtered] ret void } "#); @@ -1120,28 +1120,28 @@ fn unary_plus_expression_test() { define void @exp(%exp* %0) { entry: %x = getelementptr inbounds %exp, %exp* %0, i32 0, i32 0 - %load_x = load i32, i32* %x, align 4 - %load_x1 = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] + %load_x1 = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x1, 4 - store i32 %tmpVar, i32* %x, align 4 - store i32 1, i32* %x, align 4 - %load_x2 = load i32, i32* %x, align 4 + store i32 %tmpVar, i32* %x, align [filtered] + store i32 1, i32* %x, align [filtered] + %load_x2 = load i32, i32* %x, align [filtered] %tmpVar3 = sub i32 0, %load_x2 - %load_x4 = load i32, i32* %x, align 4 + %load_x4 = load i32, i32* %x, align [filtered] %call = call i32 @foo(i32 %load_x4) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } define i32 @foo(i32 %0) { entry: - %foo = alloca i32, align 4 - %x = alloca i32, align 4 - store i32 %0, i32* %x, align 4 - store i32 0, i32* %foo, align 4 - %load_x = load i32, i32* %x, align 4 - store i32 %load_x, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + store i32 %0, i32* %x, align [filtered] + store i32 0, i32* %foo, align [filtered] + %load_x = load i32, i32* %x, align [filtered] + store i32 %load_x, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#) diff --git a/src/codegen/tests/fnptr.rs b/src/codegen/tests/fnptr.rs index fd962c8d07..0dd0c6ddef 100644 --- a/src/codegen/tests/fnptr.rs +++ b/src/codegen/tests/fnptr.rs @@ -33,26 +33,26 @@ fn function_pointer_method_no_parameters() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] ret void } define void @A__foo(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] ret void } define void @main() { entry: - %instanceA = alloca %A, align 8 - %fooPtr = alloca void (%A*)*, align 8 + %instanceA = alloca %A, align [filtered] + %fooPtr = alloca void (%A*)*, align [filtered] %0 = bitcast %A* %instanceA to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) - store void (%A*)* @A__foo, void (%A*)** %fooPtr, align 8 - %1 = load void (%A*)*, void (%A*)** %fooPtr, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) + store void (%A*)* @A__foo, void (%A*)** %fooPtr, align [filtered] + %1 = load void (%A*)*, void (%A*)** %fooPtr, align [filtered] call void %1(%A* %instanceA) ret void } @@ -96,29 +96,29 @@ fn function_pointer_method_with_return_type() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] ret void } define i32 @A__foo(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 - %A.foo = alloca i32, align 4 - store i32 0, i32* %A.foo, align 4 - %A__foo_ret = load i32, i32* %A.foo, align 4 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] + %A.foo = alloca i32, align [filtered] + store i32 0, i32* %A.foo, align [filtered] + %A__foo_ret = load i32, i32* %A.foo, align [filtered] ret i32 %A__foo_ret } define void @main() { entry: - %instanceA = alloca %A, align 8 - %fooPtr = alloca i32 (%A*)*, align 8 + %instanceA = alloca %A, align [filtered] + %fooPtr = alloca i32 (%A*)*, align [filtered] %0 = bitcast %A* %instanceA to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) - store i32 (%A*)* @A__foo, i32 (%A*)** %fooPtr, align 8 - %1 = load i32 (%A*)*, i32 (%A*)** %fooPtr, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) + store i32 (%A*)* @A__foo, i32 (%A*)** %fooPtr, align [filtered] + %1 = load i32 (%A*)*, i32 (%A*)** %fooPtr, align [filtered] %fnptr_call = call i32 %1(%A* %instanceA) ret void } @@ -170,56 +170,56 @@ fn function_pointer_method_with_return_type_aggregate() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] ret void } define void @A__foo(%A* %0, i8* %1) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 - %foo = alloca i8*, align 8 - store i8* %1, i8** %foo, align 8 - %deref = load i8*, i8** %foo, align 8 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] + %foo = alloca i8*, align [filtered] + store i8* %1, i8** %foo, align [filtered] + %deref = load i8*, i8** %foo, align [filtered] + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) ret void } define void @A__bar(%A* %0, i32* %1) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 - %bar = alloca i32*, align 8 - store i32* %1, i32** %bar, align 8 - %deref = load i32*, i32** %bar, align 8 - store [5 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5], i32* %deref, align 4 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] + %bar = alloca i32*, align [filtered] + store i32* %1, i32** %bar, align [filtered] + %deref = load i32*, i32** %bar, align [filtered] + store [5 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5], i32* %deref, align [filtered] ret void } define void @main() { entry: - %instanceA = alloca %A, align 8 - %fooPtr = alloca void (%A*, [81 x i8]*)*, align 8 - %barPtr = alloca void (%A*, [5 x i32]*)*, align 8 + %instanceA = alloca %A, align [filtered] + %fooPtr = alloca void (%A*, [81 x i8]*)*, align [filtered] + %barPtr = alloca void (%A*, [5 x i32]*)*, align [filtered] %0 = bitcast %A* %instanceA to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) - store void (%A*, [81 x i8]*)* bitcast (void (%A*, i8*)* @A__foo to void (%A*, [81 x i8]*)*), void (%A*, [81 x i8]*)** %fooPtr, align 8 - store void (%A*, [5 x i32]*)* bitcast (void (%A*, i32*)* @A__bar to void (%A*, [5 x i32]*)*), void (%A*, [5 x i32]*)** %barPtr, align 8 - %__0 = alloca [81 x i8], align 1 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) + store void (%A*, [81 x i8]*)* bitcast (void (%A*, i8*)* @A__foo to void (%A*, [81 x i8]*)*), void (%A*, [81 x i8]*)** %fooPtr, align [filtered] + store void (%A*, [5 x i32]*)* bitcast (void (%A*, i32*)* @A__bar to void (%A*, [5 x i32]*)*), void (%A*, [5 x i32]*)** %barPtr, align [filtered] + %__0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - %2 = load void (%A*, [81 x i8]*)*, void (%A*, [81 x i8]*)** %fooPtr, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + %2 = load void (%A*, [81 x i8]*)*, void (%A*, [81 x i8]*)** %fooPtr, align [filtered] %3 = bitcast [81 x i8]* %__0 to i8* call void %2(%A* %instanceA, i8* %3) - %load___0 = load [81 x i8], [81 x i8]* %__0, align 1 - %__1 = alloca [5 x i32], align 4 + %load___0 = load [81 x i8], [81 x i8]* %__0, align [filtered] + %__1 = alloca [5 x i32], align [filtered] %4 = bitcast [5 x i32]* %__1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %4, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) - %5 = load void (%A*, [5 x i32]*)*, void (%A*, [5 x i32]*)** %barPtr, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %4, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) + %5 = load void (%A*, [5 x i32]*)*, void (%A*, [5 x i32]*)** %barPtr, align [filtered] %6 = bitcast [5 x i32]* %__1 to i32* call void %5(%A* %instanceA, i32* %6) - %load___1 = load [5 x i32], [5 x i32]* %__1, align 4 + %load___1 = load [5 x i32], [5 x i32]* %__1, align [filtered] ret void } @@ -285,46 +285,46 @@ fn function_pointer_method_with_all_variable_parameter_types() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] ret void } define i32 @A__foo(%A* %0, i32 %1, [81 x i8]* %2, i32* %3) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 - %A.foo = alloca i32, align 4 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - %out = alloca [81 x i8]*, align 8 - store [81 x i8]* %2, [81 x i8]** %out, align 8 - %inout = alloca i32*, align 8 - store i32* %3, i32** %inout, align 8 - store i32 0, i32* %A.foo, align 4 - %A__foo_ret = load i32, i32* %A.foo, align 4 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] + %A.foo = alloca i32, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + %out = alloca [81 x i8]*, align [filtered] + store [81 x i8]* %2, [81 x i8]** %out, align [filtered] + %inout = alloca i32*, align [filtered] + store i32* %3, i32** %inout, align [filtered] + store i32 0, i32* %A.foo, align [filtered] + %A__foo_ret = load i32, i32* %A.foo, align [filtered] ret i32 %A__foo_ret } define void @main() { entry: - %instanceA = alloca %A, align 8 - %fooPtr = alloca i32 (%A*, i32, [81 x i8]*, [5 x i32]*)*, align 8 - %localIn = alloca i32, align 4 - %localOut = alloca [81 x i8], align 1 - %localInOut = alloca [5 x i32], align 4 + %instanceA = alloca %A, align [filtered] + %fooPtr = alloca i32 (%A*, i32, [81 x i8]*, [5 x i32]*)*, align [filtered] + %localIn = alloca i32, align [filtered] + %localOut = alloca [81 x i8], align [filtered] + %localInOut = alloca [5 x i32], align [filtered] %0 = bitcast %A* %instanceA to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) - store i32 (%A*, i32, [81 x i8]*, [5 x i32]*)* bitcast (i32 (%A*, i32, [81 x i8]*, i32*)* @A__foo to i32 (%A*, i32, [81 x i8]*, [5 x i32]*)*), i32 (%A*, i32, [81 x i8]*, [5 x i32]*)** %fooPtr, align 8 - store i32 0, i32* %localIn, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) + store i32 (%A*, i32, [81 x i8]*, [5 x i32]*)* bitcast (i32 (%A*, i32, [81 x i8]*, i32*)* @A__foo to i32 (%A*, i32, [81 x i8]*, [5 x i32]*)*), i32 (%A*, i32, [81 x i8]*, [5 x i32]*)** %fooPtr, align [filtered] + store i32 0, i32* %localIn, align [filtered] %1 = bitcast [81 x i8]* %localOut to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [5 x i32]* %localInOut to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) - %3 = load i32 (%A*, i32, [81 x i8]*, [5 x i32]*)*, i32 (%A*, i32, [81 x i8]*, [5 x i32]*)** %fooPtr, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) + %3 = load i32 (%A*, i32, [81 x i8]*, [5 x i32]*)*, i32 (%A*, i32, [81 x i8]*, [5 x i32]*)** %fooPtr, align [filtered] %4 = bitcast [81 x i8]* %localOut to i8* %5 = bitcast [5 x i32]* %localInOut to i32* - %load_localIn = load i32, i32* %localIn, align 4 + %load_localIn = load i32, i32* %localIn, align [filtered] %fnptr_call = call i32 %3(%A* %instanceA, i32 %load_localIn, i8* %4, i32* %5) ret void } @@ -389,8 +389,8 @@ fn function_block_body() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %local = getelementptr inbounds %A, %A* %0, i32 0, i32 0 %in = getelementptr inbounds %A, %A* %0, i32 0, i32 1 %out = getelementptr inbounds %A, %A* %0, i32 0, i32 2 @@ -400,27 +400,27 @@ fn function_block_body() { define void @main() { entry: - %instanceA = alloca %A, align 8 - %bodyPtr = alloca void (%A*)*, align 8 - %localIn = alloca i16, align 2 - %localOut = alloca i32, align 4 - %localInout = alloca i64, align 8 + %instanceA = alloca %A, align [filtered] + %bodyPtr = alloca void (%A*)*, align [filtered] + %localIn = alloca i16, align [filtered] + %localOut = alloca i32, align [filtered] + %localInout = alloca i64, align [filtered] %0 = bitcast %A* %instanceA to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) - store void (%A*)* @A, void (%A*)** %bodyPtr, align 8 - store i16 0, i16* %localIn, align 2 - store i32 0, i32* %localOut, align 4 - store i64 0, i64* %localInout, align 8 - %1 = load void (%A*)*, void (%A*)** %bodyPtr, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) + store void (%A*)* @A, void (%A*)** %bodyPtr, align [filtered] + store i16 0, i16* %localIn, align [filtered] + store i32 0, i32* %localOut, align [filtered] + store i64 0, i64* %localInout, align [filtered] + %1 = load void (%A*)*, void (%A*)** %bodyPtr, align [filtered] %2 = getelementptr inbounds %A, %A* %instanceA, i32 0, i32 1 - %load_localIn = load i16, i16* %localIn, align 2 - store i16 %load_localIn, i16* %2, align 2 + %load_localIn = load i16, i16* %localIn, align [filtered] + store i16 %load_localIn, i16* %2, align [filtered] %3 = getelementptr inbounds %A, %A* %instanceA, i32 0, i32 3 - store i64* %localInout, i64** %3, align 8 + store i64* %localInout, i64** %3, align [filtered] call void %1(%A* %instanceA) %4 = getelementptr inbounds %A, %A* %instanceA, i32 0, i32 2 - %5 = load i32, i32* %4, align 4 - store i32 %5, i32* %localOut, align 4 + %5 = load i32, i32* %4, align [filtered] + store i32 %5, i32* %localOut, align [filtered] ret void } @@ -460,16 +460,16 @@ fn regular_pointers_to_function_blocks_are_called_directly() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] ret void } define void @main() { entry: - %fooPtr = alloca %A*, align 8 - store %A* null, %A** %fooPtr, align 8 - %deref = load %A*, %A** %fooPtr, align 8 + %fooPtr = alloca %A*, align [filtered] + store %A* null, %A** %fooPtr, align [filtered] + %deref = load %A*, %A** %fooPtr, align [filtered] call void @A(%A* %deref) ret void } diff --git a/src/codegen/tests/initialization_test/complex_initializers.rs b/src/codegen/tests/initialization_test/complex_initializers.rs index 7920f21b06..f127e46ca6 100644 --- a/src/codegen/tests/initialization_test/complex_initializers.rs +++ b/src/codegen/tests/initialization_test/complex_initializers.rs @@ -29,7 +29,7 @@ fn simple_global() { define void @__init___Test() { entry: - store [81 x i8]* @s, [81 x i8]** @ps, align 8 + store [81 x i8]* @s, [81 x i8]** @ps, align [filtered] ret void } "#); @@ -62,7 +62,7 @@ fn global_alias() { define void @__init___Test() { entry: - store [81 x i8]* @s, [81 x i8]** @ps, align 8 + store [81 x i8]* @s, [81 x i8]** @ps, align [filtered] ret void } "#); @@ -95,7 +95,7 @@ fn global_reference_to() { define void @__init___Test() { entry: - store [81 x i8]* @s, [81 x i8]** @ps, align 8 + store [81 x i8]* @s, [81 x i8]** @ps, align [filtered] ret void } "#); @@ -141,18 +141,18 @@ fn init_functions_generated_for_programs() { define void @__init_plc_prg(%PLC_PRG* %0) { entry: - %self = alloca %PLC_PRG*, align 8 - store %PLC_PRG* %0, %PLC_PRG** %self, align 8 - %deref = load %PLC_PRG*, %PLC_PRG** %self, align 8 + %self = alloca %PLC_PRG*, align [filtered] + store %PLC_PRG* %0, %PLC_PRG** %self, align [filtered] + %deref = load %PLC_PRG*, %PLC_PRG** %self, align [filtered] %to_init = getelementptr inbounds %PLC_PRG, %PLC_PRG* %deref, i32 0, i32 0 - store [81 x i8]* @s, [81 x i8]** %to_init, align 8 + store [81 x i8]* @s, [81 x i8]** %to_init, align [filtered] ret void } define void @__user_init_PLC_PRG(%PLC_PRG* %0) { entry: - %self = alloca %PLC_PRG*, align 8 - store %PLC_PRG* %0, %PLC_PRG** %self, align 8 + %self = alloca %PLC_PRG*, align [filtered] + store %PLC_PRG* %0, %PLC_PRG** %self, align [filtered] ret void } @@ -286,8 +286,8 @@ fn init_functions_generated_for_function_blocks() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %to_init = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -295,38 +295,38 @@ fn init_functions_generated_for_function_blocks() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %to_init = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 1 - store [81 x i8]* @s, [81 x i8]** %to_init, align 8 + store [81 x i8]* @s, [81 x i8]** %to_init, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -435,8 +435,8 @@ fn nested_initializer_pous() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %str_ref = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %b = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -447,8 +447,8 @@ fn nested_initializer_pous() { define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 %b = getelementptr inbounds %bar, %bar* %0, i32 0, i32 1 call void @baz__print(%baz* %b) @@ -457,8 +457,8 @@ fn nested_initializer_pous() { define void @baz(%baz* %0) { entry: - %this = alloca %baz*, align 8 - store %baz* %0, %baz** %this, align 8 + %this = alloca %baz*, align [filtered] + store %baz* %0, %baz** %this, align [filtered] %__vtable = getelementptr inbounds %baz, %baz* %0, i32 0, i32 0 %str_ref = getelementptr inbounds %baz, %baz* %0, i32 0, i32 1 ret void @@ -482,8 +482,8 @@ fn nested_initializer_pous() { define void @bar__print(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 %b = getelementptr inbounds %bar, %bar* %0, i32 0, i32 1 ret void @@ -491,8 +491,8 @@ fn nested_initializer_pous() { define void @foo__print(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %str_ref = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %b = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -501,8 +501,8 @@ fn nested_initializer_pous() { define void @baz__print(%baz* %0) { entry: - %this = alloca %baz*, align 8 - store %baz* %0, %baz** %this, align 8 + %this = alloca %baz*, align [filtered] + store %baz* %0, %baz** %this, align [filtered] %__vtable = getelementptr inbounds %baz, %baz* %0, i32 0, i32 0 %str_ref = getelementptr inbounds %baz, %baz* %0, i32 0, i32 1 ret void @@ -510,114 +510,114 @@ fn nested_initializer_pous() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] ret void } define void @__init___vtable_baz(%__vtable_baz* %0) { entry: - %self = alloca %__vtable_baz*, align 8 - store %__vtable_baz* %0, %__vtable_baz** %self, align 8 - %deref = load %__vtable_baz*, %__vtable_baz** %self, align 8 + %self = alloca %__vtable_baz*, align [filtered] + store %__vtable_baz* %0, %__vtable_baz** %self, align [filtered] + %deref = load %__vtable_baz*, %__vtable_baz** %self, align [filtered] %__body = getelementptr inbounds %__vtable_baz, %__vtable_baz* %deref, i32 0, i32 0 - store void (%baz*)* @baz, void (%baz*)** %__body, align 8 + store void (%baz*)* @baz, void (%baz*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %b = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 2 call void @__init_bar(%bar* %b) - %deref1 = load %foo*, %foo** %self, align 8 + %deref1 = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref2 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref2 = load %foo*, %foo** %self, align [filtered] %str_ref = getelementptr inbounds %foo, %foo* %deref2, i32 0, i32 1 - store [81 x i8]* @str, [81 x i8]** %str_ref, align 8 + store [81 x i8]* @str, [81 x i8]** %str_ref, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %b = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 1 call void @__init_baz(%baz* %b) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_baz(%baz* %0) { entry: - %self = alloca %baz*, align 8 - store %baz* %0, %baz** %self, align 8 - %deref = load %baz*, %baz** %self, align 8 + %self = alloca %baz*, align [filtered] + store %baz* %0, %baz** %self, align [filtered] + %deref = load %baz*, %baz** %self, align [filtered] %__vtable = getelementptr inbounds %baz, %baz* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_baz* @__vtable_baz_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %baz*, %baz** %self, align 8 + store i32* bitcast (%__vtable_baz* @__vtable_baz_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %baz*, %baz** %self, align [filtered] %str_ref = getelementptr inbounds %baz, %baz* %deref1, i32 0, i32 1 - store [81 x i8]* @str, [81 x i8]** %str_ref, align 8 + store [81 x i8]* @str, [81 x i8]** %str_ref, align [filtered] ret void } define void @__init_mainprog(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 - %deref = load %mainProg*, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] + %deref = load %mainProg*, %mainProg** %self, align [filtered] %f = getelementptr inbounds %mainProg, %mainProg* %deref, i32 0, i32 1 call void @__init_foo(%foo* %f) - %deref1 = load %mainProg*, %mainProg** %self, align 8 + %deref1 = load %mainProg*, %mainProg** %self, align [filtered] %other_ref_to_global = getelementptr inbounds %mainProg, %mainProg* %deref1, i32 0, i32 0 - store [81 x i8]* @str, [81 x i8]** %other_ref_to_global, align 8 + store [81 x i8]* @str, [81 x i8]** %other_ref_to_global, align [filtered] ret void } define void @__init_sideprog(%sideProg* %0) { entry: - %self = alloca %sideProg*, align 8 - store %sideProg* %0, %sideProg** %self, align 8 - %deref = load %sideProg*, %sideProg** %self, align 8 + %self = alloca %sideProg*, align [filtered] + store %sideProg* %0, %sideProg** %self, align [filtered] + %deref = load %sideProg*, %sideProg** %self, align [filtered] %f = getelementptr inbounds %sideProg, %sideProg* %deref, i32 0, i32 1 call void @__init_foo(%foo* %f) - %deref1 = load %sideProg*, %sideProg** %self, align 8 + %deref1 = load %sideProg*, %sideProg** %self, align [filtered] %other_ref_to_global = getelementptr inbounds %sideProg, %sideProg* %deref1, i32 0, i32 0 - store [81 x i8]* @str, [81 x i8]** %other_ref_to_global, align 8 + store [81 x i8]* @str, [81 x i8]** %other_ref_to_global, align [filtered] ret void } define void @__user_init___vtable_baz(%__vtable_baz* %0) { entry: - %self = alloca %__vtable_baz*, align 8 - store %__vtable_baz* %0, %__vtable_baz** %self, align 8 + %self = alloca %__vtable_baz*, align [filtered] + store %__vtable_baz* %0, %__vtable_baz** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %b = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 1 call void @__user_init_baz(%baz* %b) ret void @@ -625,23 +625,23 @@ fn nested_initializer_pous() { define void @__user_init_baz(%baz* %0) { entry: - %self = alloca %baz*, align 8 - store %baz* %0, %baz** %self, align 8 + %self = alloca %baz*, align [filtered] + store %baz* %0, %baz** %self, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_sideProg(%sideProg* %0) { entry: - %self = alloca %sideProg*, align 8 - store %sideProg* %0, %sideProg** %self, align 8 - %deref = load %sideProg*, %sideProg** %self, align 8 + %self = alloca %sideProg*, align [filtered] + store %sideProg* %0, %sideProg** %self, align [filtered] + %deref = load %sideProg*, %sideProg** %self, align [filtered] %f = getelementptr inbounds %sideProg, %sideProg* %deref, i32 0, i32 1 call void @__user_init_foo(%foo* %f) ret void @@ -649,9 +649,9 @@ fn nested_initializer_pous() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %b = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 2 call void @__user_init_bar(%bar* %b) ret void @@ -659,9 +659,9 @@ fn nested_initializer_pous() { define void @__user_init_mainProg(%mainProg* %0) { entry: - %self = alloca %mainProg*, align 8 - store %mainProg* %0, %mainProg** %self, align 8 - %deref = load %mainProg*, %mainProg** %self, align 8 + %self = alloca %mainProg*, align [filtered] + store %mainProg* %0, %mainProg** %self, align [filtered] + %deref = load %mainProg*, %mainProg** %self, align [filtered] %f = getelementptr inbounds %mainProg, %mainProg* %deref, i32 0, i32 1 call void @__user_init_foo(%foo* %f) ret void @@ -669,8 +669,8 @@ fn nested_initializer_pous() { define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -724,8 +724,8 @@ fn local_address() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %i = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %pi = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -734,40 +734,40 @@ fn local_address() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %pi = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 2 - %deref2 = load %foo*, %foo** %self, align 8 + %deref2 = load %foo*, %foo** %self, align [filtered] %i = getelementptr inbounds %foo, %foo* %deref2, i32 0, i32 1 - store i16* %i, i16** %pi, align 8 + store i16* %i, i16** %pi, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -823,8 +823,8 @@ fn user_init_called_for_variables_on_stack() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %i = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %pi = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -833,20 +833,20 @@ fn user_init_called_for_variables_on_stack() { define void @foo__FB_INIT(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %i = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %pi = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 - store i16* %i, i16** %pi, align 8 + store i16* %i, i16** %pi, align [filtered] ret void } define void @main() { entry: - %fb = alloca %foo, align 8 + %fb = alloca %foo, align [filtered] %0 = bitcast %foo* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) call void @__init_foo(%foo* %fb) call void @__user_init_foo(%foo* %fb) call void @foo(%foo* %fb) @@ -858,39 +858,39 @@ fn user_init_called_for_variables_on_stack() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %FB_INIT = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align 8 + store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] call void @foo__FB_INIT(%foo* %deref) ret void } @@ -1032,22 +1032,22 @@ fn struct_types() { define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 - %deref = load %myStruct*, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] + %deref = load %myStruct*, %myStruct** %self, align [filtered] %member = getelementptr inbounds %myStruct, %myStruct* %deref, i32 0, i32 0 - store [81 x i8]* @s, [81 x i8]** %member, align 8 - %deref1 = load %myStruct*, %myStruct** %self, align 8 + store [81 x i8]* @s, [81 x i8]** %member, align [filtered] + %deref1 = load %myStruct*, %myStruct** %self, align [filtered] %member2 = getelementptr inbounds %myStruct, %myStruct* %deref1, i32 0, i32 1 - store [2 x [81 x i8]]* @s2, [2 x [81 x i8]]** %member2, align 8 + store [2 x [81 x i8]]* @s2, [2 x [81 x i8]]** %member2, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %str = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__init_mystruct(%myStruct* %str) ret void @@ -1055,16 +1055,16 @@ fn struct_types() { define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %str = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__user_init_myStruct(%myStruct* %str) ret void @@ -1138,16 +1138,16 @@ fn stateful_pous_methods_and_structs_get_init_functions() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__m(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } @@ -1171,101 +1171,101 @@ fn stateful_pous_methods_and_structs_get_init_functions() { define void @foo__act(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %m = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__m, void (%foo*)** %m, align 8 + store void (%foo*)* @foo__m, void (%foo*)** %m, align [filtered] ret void } define void @__init___vtable_cl(%__vtable_cl* %0) { entry: - %self = alloca %__vtable_cl*, align 8 - store %__vtable_cl* %0, %__vtable_cl** %self, align 8 - %deref = load %__vtable_cl*, %__vtable_cl** %self, align 8 + %self = alloca %__vtable_cl*, align [filtered] + store %__vtable_cl* %0, %__vtable_cl** %self, align [filtered] + %deref = load %__vtable_cl*, %__vtable_cl** %self, align [filtered] %m = getelementptr inbounds %__vtable_cl, %__vtable_cl* %deref, i32 0, i32 0 - store void (%cl*)* @cl__m, void (%cl*)** %m, align 8 + store void (%cl*)* @cl__m, void (%cl*)** %m, align [filtered] ret void } define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } define void @__init_cl(%cl* %0) { entry: - %self = alloca %cl*, align 8 - store %cl* %0, %cl** %self, align 8 - %deref = load %cl*, %cl** %self, align 8 + %self = alloca %cl*, align [filtered] + store %cl* %0, %cl** %self, align [filtered] + %deref = load %cl*, %cl** %self, align [filtered] %__vtable = getelementptr inbounds %cl, %cl* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_cl* @__vtable_cl_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_cl* @__vtable_cl_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } define void @__user_init___vtable_cl(%__vtable_cl* %0) { entry: - %self = alloca %__vtable_cl*, align 8 - store %__vtable_cl* %0, %__vtable_cl** %self, align 8 + %self = alloca %__vtable_cl*, align [filtered] + store %__vtable_cl* %0, %__vtable_cl** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -1327,8 +1327,8 @@ fn global_instance() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -1342,52 +1342,52 @@ fn global_instance() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %s = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 1 - store [81 x i8]* @ps, [81 x i8]** %s, align 8 + store [81 x i8]* @ps, [81 x i8]** %s, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -1454,8 +1454,8 @@ fn aliased_types() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -1470,32 +1470,32 @@ fn aliased_types() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %s = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 1 - store [81 x i8]* @ps, [81 x i8]** %s, align 8 + store [81 x i8]* @ps, [81 x i8]** %s, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %fb = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__init_foo(%foo* %fb) ret void @@ -1503,9 +1503,9 @@ fn aliased_types() { define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %fb = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %fb) ret void @@ -1513,15 +1513,15 @@ fn aliased_types() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -1653,8 +1653,8 @@ fn var_config_aliased_variables_initialized() { define void @FB(%FB* %0) { entry: - %this = alloca %FB*, align 8 - store %FB* %0, %FB** %this, align 8 + %this = alloca %FB*, align [filtered] + store %FB* %0, %FB** %this, align [filtered] %__vtable = getelementptr inbounds %FB, %FB* %0, i32 0, i32 0 %foo = getelementptr inbounds %FB, %FB* %0, i32 0, i32 1 ret void @@ -1669,32 +1669,32 @@ fn var_config_aliased_variables_initialized() { define void @__init___vtable_fb(%__vtable_FB* %0) { entry: - %self = alloca %__vtable_FB*, align 8 - store %__vtable_FB* %0, %__vtable_FB** %self, align 8 - %deref = load %__vtable_FB*, %__vtable_FB** %self, align 8 + %self = alloca %__vtable_FB*, align [filtered] + store %__vtable_FB* %0, %__vtable_FB** %self, align [filtered] + %deref = load %__vtable_FB*, %__vtable_FB** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB, %__vtable_FB* %deref, i32 0, i32 0 - store void (%FB*)* @FB, void (%FB*)** %__body, align 8 + store void (%FB*)* @FB, void (%FB*)** %__body, align [filtered] ret void } define void @__init_fb(%FB* %0) { entry: - %self = alloca %FB*, align 8 - store %FB* %0, %FB** %self, align 8 - %deref = load %FB*, %FB** %self, align 8 + %self = alloca %FB*, align [filtered] + store %FB* %0, %FB** %self, align [filtered] + %deref = load %FB*, %FB** %self, align [filtered] %__vtable = getelementptr inbounds %FB, %FB* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB* @__vtable_FB_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB* @__vtable_FB_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %instance1 = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__init_fb(%FB* %instance1) - %deref1 = load %prog*, %prog** %self, align 8 + %deref1 = load %prog*, %prog** %self, align [filtered] %instance2 = getelementptr inbounds %prog, %prog* %deref1, i32 0, i32 1 call void @__init_fb(%FB* %instance2) ret void @@ -1702,26 +1702,26 @@ fn var_config_aliased_variables_initialized() { define void @__user_init_FB(%FB* %0) { entry: - %self = alloca %FB*, align 8 - store %FB* %0, %FB** %self, align 8 + %self = alloca %FB*, align [filtered] + store %FB* %0, %FB** %self, align [filtered] ret void } define void @__user_init___vtable_FB(%__vtable_FB* %0) { entry: - %self = alloca %__vtable_FB*, align 8 - store %__vtable_FB* %0, %__vtable_FB** %self, align 8 + %self = alloca %__vtable_FB*, align [filtered] + store %__vtable_FB* %0, %__vtable_FB** %self, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %instance1 = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__user_init_FB(%FB* %instance1) - %deref1 = load %prog*, %prog** %self, align 8 + %deref1 = load %prog*, %prog** %self, align [filtered] %instance2 = getelementptr inbounds %prog, %prog* %deref1, i32 0, i32 1 call void @__user_init_FB(%FB* %instance2) ret void @@ -1739,8 +1739,8 @@ fn var_config_aliased_variables_initialized() { define void @__init___var_config() { entry: - store i32* @__PI_1_2_1, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0, i32 1), align 8 - store i32* @__PI_1_2_2, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1, i32 1), align 8 + store i32* @__PI_1_2_1, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0, i32 1), align [filtered] + store i32* @__PI_1_2_2, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1, i32 1), align [filtered] ret void } "#); @@ -1790,8 +1790,8 @@ fn var_external_blocks_are_ignored_in_init_functions() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } @@ -1803,42 +1803,42 @@ fn var_external_blocks_are_ignored_in_init_functions() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__init___Test() { entry: call void @__init___vtable_foo(%__vtable_foo* @__vtable_foo_instance) - store [81 x i8]* @s, [81 x i8]** @refString, align 8 + store [81 x i8]* @s, [81 x i8]** @refString, align [filtered] call void @__user_init___vtable_foo(%__vtable_foo* @__vtable_foo_instance) ret void } @@ -1879,8 +1879,8 @@ fn ref_to_local_member() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %ptr = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -1891,50 +1891,50 @@ fn ref_to_local_member() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %ptr = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 2 - %deref2 = load %foo*, %foo** %self, align 8 + %deref2 = load %foo*, %foo** %self, align [filtered] %s = getelementptr inbounds %foo, %foo* %deref2, i32 0, i32 1 - store [81 x i8]* %s, [81 x i8]** %ptr, align 8 - %deref3 = load %foo*, %foo** %self, align 8 + store [81 x i8]* %s, [81 x i8]** %ptr, align [filtered] + %deref3 = load %foo*, %foo** %self, align [filtered] %alias = getelementptr inbounds %foo, %foo* %deref3, i32 0, i32 3 - %deref4 = load %foo*, %foo** %self, align 8 + %deref4 = load %foo*, %foo** %self, align [filtered] %s5 = getelementptr inbounds %foo, %foo* %deref4, i32 0, i32 1 - store [81 x i8]* %s5, [81 x i8]** %alias, align 8 - %deref6 = load %foo*, %foo** %self, align 8 + store [81 x i8]* %s5, [81 x i8]** %alias, align [filtered] + %deref6 = load %foo*, %foo** %self, align [filtered] %reference_to = getelementptr inbounds %foo, %foo* %deref6, i32 0, i32 4 - %deref7 = load %foo*, %foo** %self, align 8 + %deref7 = load %foo*, %foo** %self, align [filtered] %s8 = getelementptr inbounds %foo, %foo* %deref7, i32 0, i32 1 - store [81 x i8]* %s8, [81 x i8]** %reference_to, align 8 + store [81 x i8]* %s8, [81 x i8]** %reference_to, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -1986,8 +1986,8 @@ fn ref_to_local_member_shadows_global() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %ptr = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -1998,50 +1998,50 @@ fn ref_to_local_member_shadows_global() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %ptr = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 2 - %deref2 = load %foo*, %foo** %self, align 8 + %deref2 = load %foo*, %foo** %self, align [filtered] %s = getelementptr inbounds %foo, %foo* %deref2, i32 0, i32 1 - store [81 x i8]* %s, [81 x i8]** %ptr, align 8 - %deref3 = load %foo*, %foo** %self, align 8 + store [81 x i8]* %s, [81 x i8]** %ptr, align [filtered] + %deref3 = load %foo*, %foo** %self, align [filtered] %alias = getelementptr inbounds %foo, %foo* %deref3, i32 0, i32 3 - %deref4 = load %foo*, %foo** %self, align 8 + %deref4 = load %foo*, %foo** %self, align [filtered] %s5 = getelementptr inbounds %foo, %foo* %deref4, i32 0, i32 1 - store [81 x i8]* %s5, [81 x i8]** %alias, align 8 - %deref6 = load %foo*, %foo** %self, align 8 + store [81 x i8]* %s5, [81 x i8]** %alias, align [filtered] + %deref6 = load %foo*, %foo** %self, align [filtered] %reference_to = getelementptr inbounds %foo, %foo* %deref6, i32 0, i32 4 - %deref7 = load %foo*, %foo** %self, align 8 + %deref7 = load %foo*, %foo** %self, align [filtered] %s8 = getelementptr inbounds %foo, %foo* %deref7, i32 0, i32 1 - store [81 x i8]* %s8, [81 x i8]** %reference_to, align 8 + store [81 x i8]* %s8, [81 x i8]** %reference_to, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2090,53 +2090,53 @@ fn temporary_variable_ref_to_local_member() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 - %ptr = alloca [81 x i8]*, align 8 - %alias = alloca [81 x i8]*, align 8 - %reference_to = alloca [81 x i8]*, align 8 - store [81 x i8]* %s, [81 x i8]** %ptr, align 8 - store [81 x i8]* null, [81 x i8]** %alias, align 8 - store [81 x i8]* null, [81 x i8]** %reference_to, align 8 - store [81 x i8]* %s, [81 x i8]** %ptr, align 8 - store [81 x i8]* %s, [81 x i8]** %alias, align 8 - store [81 x i8]* %s, [81 x i8]** %reference_to, align 8 + %ptr = alloca [81 x i8]*, align [filtered] + %alias = alloca [81 x i8]*, align [filtered] + %reference_to = alloca [81 x i8]*, align [filtered] + store [81 x i8]* %s, [81 x i8]** %ptr, align [filtered] + store [81 x i8]* null, [81 x i8]** %alias, align [filtered] + store [81 x i8]* null, [81 x i8]** %reference_to, align [filtered] + store [81 x i8]* %s, [81 x i8]** %ptr, align [filtered] + store [81 x i8]* %s, [81 x i8]** %alias, align [filtered] + store [81 x i8]* %s, [81 x i8]** %reference_to, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2179,19 +2179,19 @@ fn temporary_variable_ref_to_temporary_variable() { define void @foo() { entry: - %ptr = alloca [81 x i8]*, align 8 - %alias = alloca [81 x i8]*, align 8 - %s = alloca [81 x i8], align 1 - %reference_to = alloca [81 x i8]*, align 8 - store [81 x i8]* %s, [81 x i8]** %ptr, align 8 - store [81 x i8]* null, [81 x i8]** %alias, align 8 + %ptr = alloca [81 x i8]*, align [filtered] + %alias = alloca [81 x i8]*, align [filtered] + %s = alloca [81 x i8], align [filtered] + %reference_to = alloca [81 x i8]*, align [filtered] + store [81 x i8]* %s, [81 x i8]** %ptr, align [filtered] + store [81 x i8]* null, [81 x i8]** %alias, align [filtered] %0 = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store [81 x i8]* null, [81 x i8]** %reference_to, align 8 - store [81 x i8]* %s, [81 x i8]** %ptr, align 8 - store [81 x i8]* %s, [81 x i8]** %alias, align 8 - %deref = load [81 x i8]*, [81 x i8]** %alias, align 8 - store [81 x i8]* %deref, [81 x i8]** %reference_to, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store [81 x i8]* null, [81 x i8]** %reference_to, align [filtered] + store [81 x i8]* %s, [81 x i8]** %ptr, align [filtered] + store [81 x i8]* %s, [81 x i8]** %alias, align [filtered] + %deref = load [81 x i8]*, [81 x i8]** %alias, align [filtered] + store [81 x i8]* %deref, [81 x i8]** %reference_to, align [filtered] ret void } @@ -2241,59 +2241,59 @@ fn initializing_method_variables_with_refs() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %x = alloca i32, align 4 - %px = alloca i32*, align 8 - store i32 10, i32* %x, align 4 - store i32* %x, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %x = alloca i32, align [filtered] + %px = alloca i32*, align [filtered] + store i32 10, i32* %x, align [filtered] + store i32* %x, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2343,8 +2343,8 @@ fn initializing_method_variables_with_refs_referencing_parent_pou_variable() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -2352,50 +2352,50 @@ fn initializing_method_variables_with_refs_referencing_parent_pou_variable() { define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 - %px = alloca i32*, align 8 - store i32* %x, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %px = alloca i32*, align [filtered] + store i32* %x, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2446,57 +2446,57 @@ fn initializing_method_variables_with_refs_referencing_global_variable() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %px = alloca i32*, align 8 - store i32* @x, i32** %px, align 8 - store i32* @x, i32** %px, align 8 + %px = alloca i32*, align [filtered] + store i32* @x, i32** %px, align [filtered] + store i32* @x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2548,59 +2548,59 @@ fn initializing_method_variables_with_refs_shadowing() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %x = alloca i32, align 4 - %px = alloca i32*, align 8 - store i32 0, i32* %x, align 4 - store i32* %x, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %x = alloca i32, align [filtered] + %px = alloca i32*, align [filtered] + store i32 0, i32* %x, align [filtered] + store i32* %x, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2647,59 +2647,59 @@ fn initializing_method_variables_with_alias() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %x = alloca i32, align 4 - %px = alloca i32*, align 8 - store i32 0, i32* %x, align 4 - store i32* null, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %x = alloca i32, align [filtered] + %px = alloca i32*, align [filtered] + store i32 0, i32* %x, align [filtered] + store i32* null, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2746,59 +2746,59 @@ fn initializing_method_variables_with_reference_to() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %x = alloca i32, align 4 - %px = alloca i32*, align 8 - store i32 0, i32* %x, align 4 - store i32* null, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %x = alloca i32, align [filtered] + %px = alloca i32*, align [filtered] + store i32 0, i32* %x, align [filtered] + store i32* null, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -2857,8 +2857,8 @@ fn methods_call_init_functions_for_their_members() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -2867,20 +2867,20 @@ fn methods_call_init_functions_for_their_members() { define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 ret void } define void @bar__baz(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 - %fb = alloca %foo, align 8 + %fb = alloca %foo, align [filtered] %1 = bitcast %foo* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) call void @__init_foo(%foo* %fb) call void @__user_init_foo(%foo* %fb) ret void @@ -2891,77 +2891,77 @@ fn methods_call_init_functions_for_their_members() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 - %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] + %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %baz = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref1, i32 0, i32 1 - store void (%bar*)* @bar__baz, void (%bar*)** %baz, align 8 + store void (%bar*)* @bar__baz, void (%bar*)** %baz, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %y = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 2 - %deref2 = load %foo*, %foo** %self, align 8 + %deref2 = load %foo*, %foo** %self, align [filtered] %x = getelementptr inbounds %foo, %foo* %deref2, i32 0, i32 1 - store i32* %x, i32** %y, align 8 + store i32* %x, i32** %y, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -3024,8 +3024,8 @@ fn user_fb_init_is_added_and_called_if_it_exists() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -3034,13 +3034,13 @@ fn user_fb_init_is_added_and_called_if_it_exists() { define void @foo__FB_INIT(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 - store i16 1, i16* %x, align 2 - store i16 2, i16* %y, align 2 + store i16 1, i16* %x, align [filtered] + store i16 2, i16* %y, align [filtered] ret void } @@ -3053,32 +3053,32 @@ fn user_fb_init_is_added_and_called_if_it_exists() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %FB_INIT = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align 8 + store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %f = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__init_foo(%foo* %f) ret void @@ -3086,9 +3086,9 @@ fn user_fb_init_is_added_and_called_if_it_exists() { define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %f = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %f) ret void @@ -3096,17 +3096,17 @@ fn user_fb_init_is_added_and_called_if_it_exists() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] call void @foo__FB_INIT(%foo* %deref) ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -3180,8 +3180,8 @@ fn user_fb_init_in_global_struct() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -3190,13 +3190,13 @@ fn user_fb_init_in_global_struct() { define void @foo__FB_INIT(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 - store i16 1, i16* %x, align 2 - store i16 2, i16* %y, align 2 + store i16 1, i16* %x, align [filtered] + store i16 2, i16* %y, align [filtered] ret void } @@ -3210,22 +3210,22 @@ fn user_fb_init_in_global_struct() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %FB_INIT = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align 8 + store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %f = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__init_foo(%foo* %f) ret void @@ -3233,19 +3233,19 @@ fn user_fb_init_in_global_struct() { define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %str = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__init_bar(%bar* %str) ret void @@ -3253,18 +3253,18 @@ fn user_fb_init_in_global_struct() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] call void @foo__FB_INIT(%foo* %deref) ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %f = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %f) ret void @@ -3272,16 +3272,16 @@ fn user_fb_init_in_global_struct() { define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %str = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__user_init_bar(%bar* %str) ret void @@ -3356,29 +3356,29 @@ fn user_init_called_when_declared_as_external() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %FB_INIT = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align 8 + store void (%foo*)* @foo__FB_INIT, void (%foo*)** %FB_INIT, align [filtered] ret void } define void @__init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] ret void } define void @__user_init_prog(%prog* %0) { entry: - %self = alloca %prog*, align 8 - store %prog* %0, %prog** %self, align 8 - %deref = load %prog*, %prog** %self, align 8 + %self = alloca %prog*, align [filtered] + store %prog* %0, %prog** %self, align [filtered] + %deref = load %prog*, %prog** %self, align [filtered] %f = getelementptr inbounds %prog, %prog* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %f) ret void @@ -3386,17 +3386,17 @@ fn user_init_called_when_declared_as_external() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] call void @foo__FB_INIT(%foo* %deref) ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_declared_initializer.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_declared_initializer.snap index c04e311a11..d22f28e639 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_declared_initializer.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_declared_initializer.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/global_initializers.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,19 +13,19 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %cmd1 = alloca %commands, align 8 - %var1 = alloca i16, align 2 - %cmd2 = alloca %commands, align 8 - %var2 = alloca i16, align 2 + %main = alloca i32, align [filtered] + %cmd1 = alloca %commands, align [filtered] + %var1 = alloca i16, align [filtered] + %cmd2 = alloca %commands, align [filtered] + %var2 = alloca i16, align [filtered] %0 = bitcast %commands* %cmd1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) - store i16 0, i16* %var1, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) + store i16 0, i16* %var1, align [filtered] %1 = bitcast %commands* %cmd2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) - store i16 0, i16* %var2, align 2 - store i32 0, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) + store i16 0, i16* %var2, align [filtered] + store i32 0, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_default_initializer.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_default_initializer.snap index ce8d92f5d2..2283e309ec 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_default_initializer.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__global_constant_without_initializer_gets_default_initializer.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/global_initializers.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,24 +14,24 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %cmd1 = alloca %commands, align 8 - %myStr1 = alloca [81 x i8], align 1 - %myArr1 = alloca [4 x i16], align 2 - %cmd2 = alloca %commands, align 8 - %myArr2 = alloca [4 x i16], align 2 + %main = alloca i32, align [filtered] + %cmd1 = alloca %commands, align [filtered] + %myStr1 = alloca [81 x i8], align [filtered] + %myArr1 = alloca [4 x i16], align [filtered] + %cmd2 = alloca %commands, align [filtered] + %myArr2 = alloca [4 x i16], align [filtered] %0 = bitcast %commands* %cmd1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) %1 = bitcast [81 x i8]* %myStr1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds ([81 x i8], [81 x i8]* @__main.myStr1__init, i32 0, i32 0), i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([81 x i8], [81 x i8]* @__main.myStr1__init, i32 0, i32 0), i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [4 x i16]* %myArr1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([4 x i16]* getelementptr ([4 x i16], [4 x i16]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([4 x i16]* getelementptr ([4 x i16], [4 x i16]* null, i32 1) to i64), i1 false) %3 = bitcast %commands* %cmd2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %3, i8* align 1 getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %3, i8* align [filtered] getelementptr inbounds (%commands, %commands* @__commands__init, i32 0, i32 0), i64 ptrtoint (%commands* getelementptr (%commands, %commands* null, i32 1) to i64), i1 false) %4 = bitcast [4 x i16]* %myArr2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %4, i8 0, i64 ptrtoint ([4 x i16]* getelementptr ([4 x i16], [4 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %4, i8 0, i64 ptrtoint ([4 x i16]* getelementptr ([4 x i16], [4 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__initial_values_in_global_variables_out_of_order.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__initial_values_in_global_variables_out_of_order.snap index 1acd99e16c..a832978c6e 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__initial_values_in_global_variables_out_of_order.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__global_initializers__initial_values_in_global_variables_out_of_order.snap @@ -16,8 +16,8 @@ target triple = "[filtered]" define void @MyFB(%MyFB* %0) { entry: - %this = alloca %MyFB*, align 8 - store %MyFB* %0, %MyFB** %this, align 8 + %this = alloca %MyFB*, align [filtered] + store %MyFB* %0, %MyFB** %this, align [filtered] %x = getelementptr inbounds %MyFB, %MyFB* %0, i32 0, i32 0 ret void } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__class_struct_initialized_in_function.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__class_struct_initialized_in_function.snap index d26abd951e..bd05e9dfcd 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__class_struct_initialized_in_function.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__class_struct_initialized_in_function.snap @@ -21,16 +21,16 @@ entry: define i32 @func(%fb* %0) { entry: - %func = alloca i32, align 4 - %in = alloca %fb, align 8 + %func = alloca i32, align [filtered] + %in = alloca %fb, align [filtered] %1 = bitcast %fb* %in to i8* %2 = bitcast %fb* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) - %x = alloca %fb, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) + %x = alloca %fb, align [filtered] %3 = bitcast %fb* %x to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %3, i8* align 1 bitcast (%fb* @__fb__init to i8*), i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) - store i32 0, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %3, i8* align [filtered] bitcast (%fb* @__fb__init to i8*), i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) + store i32 0, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__default_values_for_not_initialized_function_vars.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__default_values_for_not_initialized_function_vars.snap index 82110984c8..e75618c79f 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__default_values_for_not_initialized_function_vars.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__default_values_for_not_initialized_function_vars.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,18 +9,18 @@ target triple = "[filtered]" define i16 @func() { entry: - %func = alloca i16, align 2 - %int_var = alloca i16, align 2 - %arr_var = alloca [4 x i32], align 4 - %ptr_var = alloca i32*, align 8 - %float_var = alloca float, align 4 - store i16 0, i16* %int_var, align 2 + %func = alloca i16, align [filtered] + %int_var = alloca i16, align [filtered] + %arr_var = alloca [4 x i32], align [filtered] + %ptr_var = alloca i32*, align [filtered] + %float_var = alloca float, align [filtered] + store i16 0, i16* %int_var, align [filtered] %0 = bitcast [4 x i32]* %arr_var to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) - store i32* null, i32** %ptr_var, align 8 - store float 0.000000e+00, float* %float_var, align 4 - store i16 0, i16* %func, align 2 - %func_ret = load i16, i16* %func, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) + store i32* null, i32** %ptr_var, align [filtered] + store float 0.000000e+00, float* %float_var, align [filtered] + store i16 0, i16* %func, align [filtered] + %func_ret = load i16, i16* %func, align [filtered] ret i16 %func_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__enum_variants_have_precedence_over_global_variables_in_inline_assignment.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__enum_variants_have_precedence_over_global_variables_in_inline_assignment.snap index 3295e13053..4678279a0b 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__enum_variants_have_precedence_over_global_variables_in_inline_assignment.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__enum_variants_have_precedence_over_global_variables_in_inline_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,20 +15,20 @@ target triple = "[filtered]" define i32 @foo() { entry: - %foo = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 1, i32* %position, align 4 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 1, i32* %position, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } define i32 @bar() { entry: - %bar = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 3, i32* %position, align 4 - store i32 0, i32* %bar, align 4 - %bar_ret = load i32, i32* %bar, align 4 + %bar = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 3, i32* %position, align [filtered] + store i32 0, i32* %bar, align [filtered] + %bar_ret = load i32, i32* %bar, align [filtered] ret i32 %bar_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_block_struct_initialized_in_function.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_block_struct_initialized_in_function.snap index 800ab0b599..219647efb4 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_block_struct_initialized_in_function.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_block_struct_initialized_in_function.snap @@ -15,23 +15,23 @@ target triple = "[filtered]" define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] ret void } define i32 @func(%fb* %0) { entry: - %func = alloca i32, align 4 - %in = alloca %fb, align 8 + %func = alloca i32, align [filtered] + %in = alloca %fb, align [filtered] %1 = bitcast %fb* %in to i8* %2 = bitcast %fb* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) - %x = alloca %fb, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) + %x = alloca %fb, align [filtered] %3 = bitcast %fb* %x to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %3, i8* align 1 bitcast (%fb* @__fb__init to i8*), i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) - store i32 0, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %3, i8* align [filtered] bitcast (%fb* @__fb__init to i8*), i64 ptrtoint (%fb* getelementptr (%fb, %fb* null, i32 1) to i64), i1 false) + store i32 0, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized.snap index 8c76c81577..e8302e8690 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,29 +13,29 @@ target triple = "[filtered]" define i16 @foo_int() { entry: - %foo_int = alloca i16, align 2 - store i16 0, i16* %foo_int, align 2 - %foo_int_ret = load i16, i16* %foo_int, align 2 + %foo_int = alloca i16, align [filtered] + store i16 0, i16* %foo_int, align [filtered] + %foo_int_ret = load i16, i16* %foo_int, align [filtered] ret i16 %foo_int_ret } define void @foo_str(i8* %0) { entry: - %foo_str = alloca i8*, align 8 - store i8* %0, i8** %foo_str, align 8 + %foo_str = alloca i8*, align [filtered] + store i8* %0, i8** %foo_str, align [filtered] ret void } define void @foo_arr(float* %0) { entry: - %foo_arr = alloca float*, align 8 - store float* %0, float** %foo_arr, align 8 + %foo_arr = alloca float*, align [filtered] + store float* %0, float** %foo_arr, align [filtered] ret void } define void @foo_struct(%MyStruct* %0) { entry: - %foo_struct = alloca %MyStruct*, align 8 - store %MyStruct* %0, %MyStruct** %foo_struct, align 8 + %foo_struct = alloca %MyStruct*, align [filtered] + store %MyStruct* %0, %MyStruct** %foo_struct, align [filtered] ret void } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized_with_type_initializer.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized_with_type_initializer.snap index 5db2a0fb45..4587da9951 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized_with_type_initializer.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_is_initialized_with_type_initializer.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,11 +14,11 @@ target triple = "[filtered]" define void @target(i32* %0) { entry: - %target = alloca i32*, align 8 - store i32* %0, i32** %target, align 8 - %deref = load i32*, i32** %target, align 8 + %target = alloca i32*, align [filtered] + store i32* %0, i32** %target, align [filtered] + %deref = load i32*, i32** %target, align [filtered] %tmpVar = getelementptr inbounds i32, i32* %deref, i32 2 - store i32 7, i32* %tmpVar, align 4 + store i32 7, i32* %tmpVar, align [filtered] ret void } @@ -27,17 +26,17 @@ define void @main(%main* %0) { entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %y = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %__target0 = alloca [4 x i32], align 4 + %__target0 = alloca [4 x i32], align [filtered] %1 = bitcast [4 x i32]* %__target0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast ([4 x i32]* @__myArray__init to i8*), i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast ([4 x i32]* @__myArray__init to i8*), i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) %2 = bitcast [4 x i32]* %__target0 to i32* call void @target(i32* %2) %3 = bitcast [4 x i32]* %x to i8* %4 = bitcast [4 x i32]* %__target0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %3, i8* align 1 %4, i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %3, i8* align [filtered] %4, i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) %5 = bitcast [4 x i32]* %y to i8* %6 = bitcast [4 x i32]* %x to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %5, i8* align 1 %6, i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %5, i8* align [filtered] %6, i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) ret void } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_with_initializers_is_initialized.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_with_initializers_is_initialized.snap index 20e141eb87..7efc004da6 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_with_initializers_is_initialized.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_with_initializers_is_initialized.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,29 +15,29 @@ target triple = "[filtered]" define i16 @foo_int() { entry: - %foo_int = alloca i16, align 2 - store i16 7, i16* %foo_int, align 2 - %foo_int_ret = load i16, i16* %foo_int, align 2 + %foo_int = alloca i16, align [filtered] + store i16 7, i16* %foo_int, align [filtered] + %foo_int_ret = load i16, i16* %foo_int, align [filtered] ret i16 %foo_int_ret } define void @foo_str(i8* %0) { entry: - %foo_str = alloca i8*, align 8 - store i8* %0, i8** %foo_str, align 8 + %foo_str = alloca i8*, align [filtered] + store i8* %0, i8** %foo_str, align [filtered] ret void } define void @foo_arr(float* %0) { entry: - %foo_arr = alloca float*, align 8 - store float* %0, float** %foo_arr, align 8 + %foo_arr = alloca float*, align [filtered] + store float* %0, float** %foo_arr, align [filtered] ret void } define void @foo_strct(%MyStrct* %0) { entry: - %foo_strct = alloca %MyStrct*, align 8 - store %MyStrct* %0, %MyStrct** %foo_strct, align 8 + %foo_strct = alloca %MyStrct*, align [filtered] + store %MyStrct* %0, %MyStrct** %foo_strct, align [filtered] ret void } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_without_initializers_is_initialized.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_without_initializers_is_initialized.snap index 40e78b4b55..4244d13dfd 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_without_initializers_is_initialized.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__function_return_value_without_initializers_is_initialized.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,29 +13,29 @@ target triple = "[filtered]" define i16 @foo_int() { entry: - %foo_int = alloca i16, align 2 - store i16 0, i16* %foo_int, align 2 - %foo_int_ret = load i16, i16* %foo_int, align 2 + %foo_int = alloca i16, align [filtered] + store i16 0, i16* %foo_int, align [filtered] + %foo_int_ret = load i16, i16* %foo_int, align [filtered] ret i16 %foo_int_ret } define void @foo_str(i8* %0) { entry: - %foo_str = alloca i8*, align 8 - store i8* %0, i8** %foo_str, align 8 + %foo_str = alloca i8*, align [filtered] + store i8* %0, i8** %foo_str, align [filtered] ret void } define void @foo_arr(float* %0) { entry: - %foo_arr = alloca float*, align 8 - store float* %0, float** %foo_arr, align 8 + %foo_arr = alloca float*, align [filtered] + store float* %0, float** %foo_arr, align [filtered] ret void } define void @foo_strct(%MyStrct* %0) { entry: - %foo_strct = alloca %MyStrct*, align 8 - store %MyStrct* %0, %MyStrct** %foo_strct, align 8 + %foo_strct = alloca %MyStrct*, align [filtered] + store %MyStrct* %0, %MyStrct** %foo_strct, align [filtered] ret void } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initial_values_in_function_block_pou.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initial_values_in_function_block_pou.snap index c78e541fae..4dd8eb428a 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initial_values_in_function_block_pou.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initial_values_in_function_block_pou.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @FB(%FB* %0) { entry: - %this = alloca %FB*, align 8 - store %FB* %0, %FB** %this, align 8 + %this = alloca %FB*, align [filtered] + store %FB* %0, %FB** %this, align [filtered] %x = getelementptr inbounds %FB, %FB* %0, i32 0, i32 0 %xx = getelementptr inbounds %FB, %FB* %0, i32 0, i32 1 %y = getelementptr inbounds %FB, %FB* %0, i32 0, i32 2 diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_in_function.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_in_function.snap index 594fa0ff46..d1f46f65b6 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_in_function.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_in_function.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,12 +11,12 @@ target triple = "[filtered]" define i16 @func() { entry: - %func = alloca i16, align 2 - %arr_var = alloca [4 x i32], align 4 + %func = alloca i16, align [filtered] + %arr_var = alloca [4 x i32], align [filtered] %0 = bitcast [4 x i32]* %arr_var to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast ([4 x i32]* @__func.arr_var__init to i8*), i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) - store i16 0, i16* %func, align 2 - %func_ret = load i16, i16* %func, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast ([4 x i32]* @__func.arr_var__init to i8*), i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) + store i16 0, i16* %func, align [filtered] + %func_ret = load i16, i16* %func, align [filtered] ret i16 %func_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_type_in_function.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_type_in_function.snap index 306a8877ca..ed609baa06 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_type_in_function.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__initialized_array_type_in_function.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,12 +11,12 @@ target triple = "[filtered]" define i16 @func() { entry: - %func = alloca i16, align 2 - %arr_var = alloca [4 x i32], align 4 + %func = alloca i16, align [filtered] + %arr_var = alloca [4 x i32], align [filtered] %0 = bitcast [4 x i32]* %arr_var to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast ([4 x i32]* @__arr__init to i8*), i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) - store i16 0, i16* %func, align 2 - %func_ret = load i16, i16* %func, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast ([4 x i32]* @__arr__init to i8*), i64 ptrtoint ([4 x i32]* getelementptr ([4 x i32], [4 x i32]* null, i32 1) to i64), i1 false) + store i16 0, i16* %func, align [filtered] + %func_ret = load i16, i16* %func, align [filtered] ret i16 %func_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__memcpy_for_struct_initialization_in_function.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__memcpy_for_struct_initialization_in_function.snap index 9c578cb06d..d64cbad28f 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__memcpy_for_struct_initialization_in_function.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__memcpy_for_struct_initialization_in_function.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,12 +13,12 @@ target triple = "[filtered]" define i16 @func() { entry: - %func = alloca i16, align 2 - %a = alloca %__func_a, align 8 + %func = alloca i16, align [filtered] + %a = alloca %__func_a, align [filtered] %0 = bitcast %__func_a* %a to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%__func_a* @____func_a__init to i8*), i64 ptrtoint (%__func_a* getelementptr (%__func_a, %__func_a* null, i32 1) to i64), i1 false) - store i16 0, i16* %func, align 2 - %func_ret = load i16, i16* %func, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%__func_a* @____func_a__init to i8*), i64 ptrtoint (%__func_a* getelementptr (%__func_a, %__func_a* null, i32 1) to i64), i1 false) + store i16 0, i16* %func, align [filtered] + %func_ret = load i16, i16* %func, align [filtered] ret i16 %func_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_are_referenced_correctly.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_are_referenced_correctly.snap index 9fc1942d95..483bd48eb1 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_are_referenced_correctly.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_are_referenced_correctly.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,20 +14,20 @@ target triple = "[filtered]" define i32 @foo() { entry: - %foo = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 1, i32* %position, align 4 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 1, i32* %position, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } define i32 @bar() { entry: - %bar = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 3, i32* %position, align 4 - store i32 0, i32* %bar, align 4 - %bar_ret = load i32, i32* %bar, align 4 + %bar = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 3, i32* %position, align [filtered] + store i32 0, i32* %bar, align [filtered] + %bar_ret = load i32, i32* %bar, align [filtered] ret i32 %bar_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_with_similar_names_are_referenced_correctly.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_with_similar_names_are_referenced_correctly.snap index 2f41a64a13..d3b99a8d12 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_with_similar_names_are_referenced_correctly.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__pou_initializers__two_identical_enums_in_different_functions_with_similar_names_are_referenced_correctly.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/pou_initializers.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,40 +18,40 @@ target triple = "[filtered]" define i32 @a() { entry: - %a = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 1, i32* %position, align 4 - store i32 0, i32* %a, align 4 - %a_ret = load i32, i32* %a, align 4 + %a = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 1, i32* %position, align [filtered] + store i32 0, i32* %a, align [filtered] + %a_ret = load i32, i32* %a, align [filtered] ret i32 %a_ret } define i32 @aa() { entry: - %aa = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 2, i32* %position, align 4 - store i32 0, i32* %aa, align 4 - %aa_ret = load i32, i32* %aa, align 4 + %aa = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 2, i32* %position, align [filtered] + store i32 0, i32* %aa, align [filtered] + %aa_ret = load i32, i32* %aa, align [filtered] ret i32 %aa_ret } define i32 @bb() { entry: - %bb = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 3, i32* %position, align 4 - store i32 0, i32* %bb, align 4 - %bb_ret = load i32, i32* %bb, align 4 + %bb = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 3, i32* %position, align [filtered] + store i32 0, i32* %bb, align [filtered] + %bb_ret = load i32, i32* %bb, align [filtered] ret i32 %bb_ret } define i32 @b() { entry: - %b = alloca i32, align 4 - %position = alloca i32, align 4 - store i32 4, i32* %position, align 4 - store i32 0, i32* %b, align 4 - %b_ret = load i32, i32* %b, align 4 + %b = alloca i32, align [filtered] + %position = alloca i32, align [filtered] + store i32 4, i32* %position, align [filtered] + store i32 0, i32* %b, align [filtered] + %b_ret = load i32, i32* %b, align [filtered] ret i32 %b_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__enums_with_inline_initializer_are_initialized.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__enums_with_inline_initializer_are_initialized.snap index dc3bc47dfd..06e52b3584 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__enums_with_inline_initializer_are_initialized.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__enums_with_inline_initializer_are_initialized.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/initialization_test/type_initializers.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -26,16 +25,16 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %y = alloca i32, align 4 - %var1 = alloca i32, align 4 - %var2 = alloca i32, align 4 - %var3 = alloca i32, align 4 - store i32 2, i32* %y, align 4 - store i32 1, i32* %var1, align 4 - store i32 2, i32* %var2, align 4 - store i32 1, i32* %var3, align 4 - store i32 0, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + %main = alloca i32, align [filtered] + %y = alloca i32, align [filtered] + %var1 = alloca i32, align [filtered] + %var2 = alloca i32, align [filtered] + %var3 = alloca i32, align [filtered] + store i32 2, i32* %y, align [filtered] + store i32 1, i32* %var1, align [filtered] + store i32 2, i32* %var2, align [filtered] + store i32 1, i32* %var3, align [filtered] + store i32 0, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__initial_values_in_fb_variable.snap b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__initial_values_in_fb_variable.snap index c809b92bf7..0b8a9464ce 100644 --- a/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__initial_values_in_fb_variable.snap +++ b/src/codegen/tests/initialization_test/snapshots/rusty__codegen__tests__initialization_test__type_initializers__initial_values_in_fb_variable.snap @@ -17,8 +17,8 @@ target triple = "[filtered]" define void @TON(%TON* %0) { entry: - %this = alloca %TON*, align 8 - store %TON* %0, %TON** %this, align 8 + %this = alloca %TON*, align [filtered] + store %TON* %0, %TON** %this, align [filtered] %a = getelementptr inbounds %TON, %TON* %0, i32 0, i32 0 %b = getelementptr inbounds %TON, %TON* %0, i32 0, i32 1 ret void diff --git a/src/codegen/tests/online_change_tests.rs b/src/codegen/tests/online_change_tests.rs index 9c2ee6064c..a807c8ccdb 100644 --- a/src/codegen/tests/online_change_tests.rs +++ b/src/codegen/tests/online_change_tests.rs @@ -24,11 +24,11 @@ fn generate_function_with_online_change() { define i32 @foo() section "$RUSTY$fn-foo:i32[]" { entry: - %foo = alloca i32, align 4 - %x = alloca i32, align 4 - store i32 0, i32* %x, align 4 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + store i32 0, i32* %x, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#) @@ -96,9 +96,9 @@ fn generate_program_and_var_with_online_change() { define void @prg(%prg* %0) section "$RUSTY$fn-prg:v[]" { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %1 = load i32*, i32** getelementptr inbounds (i32*, i32** inttoptr (i64 -2401053092612145152 to i32**), i32 1), align 8 - %load_x = load i32, i32* %x, align 4 - store i32 %load_x, i32* %1, align 4 + %1 = load i32*, i32** getelementptr inbounds (i32*, i32** inttoptr (i64 -2401053092612145152 to i32**), i32 1), align [filtered] + %load_x = load i32, i32* %x, align [filtered] + store i32 %load_x, i32* %1, align [filtered] ret void } "#) @@ -131,14 +131,14 @@ fn generate_function_and_var_with_online_change() { define i32 @foo() section "$RUSTY$fn-foo:i32[]" { entry: - %foo = alloca i32, align 4 - %x = alloca i32, align 4 - store i32 0, i32* %x, align 4 - store i32 0, i32* %foo, align 4 - %0 = load i32*, i32** getelementptr inbounds (i32*, i32** inttoptr (i64 -2401053092612145152 to i32**), i32 1), align 8 - %load_x = load i32, i32* %x, align 4 - store i32 %load_x, i32* %0, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + store i32 0, i32* %x, align [filtered] + store i32 0, i32* %foo, align [filtered] + %0 = load i32*, i32** getelementptr inbounds (i32*, i32** inttoptr (i64 -2401053092612145152 to i32**), i32 1), align [filtered] + %load_x = load i32, i32* %x, align [filtered] + store i32 %load_x, i32* %0, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#) diff --git a/src/codegen/tests/oop_tests.rs b/src/codegen/tests/oop_tests.rs index 832abfa1ae..bae0d3fc93 100644 --- a/src/codegen/tests/oop_tests.rs +++ b/src/codegen/tests/oop_tests.rs @@ -40,8 +40,8 @@ fn members_from_base_class_are_available_in_subclasses() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %a = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %b = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -51,68 +51,68 @@ fn members_from_base_class_are_available_in_subclasses() { define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__foo2 = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -120,15 +120,15 @@ fn members_from_base_class_are_available_in_subclasses() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -192,8 +192,8 @@ fn write_to_parent_variable_qualified_access() { define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 1 %y = getelementptr inbounds %fb, %fb* %0, i32 0, i32 2 @@ -202,103 +202,103 @@ fn write_to_parent_variable_qualified_access() { define void @fb2(%fb2* %0) { entry: - %this = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %this, align 8 + %this = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %this, align [filtered] %__fb = getelementptr inbounds %fb2, %fb2* %0, i32 0, i32 0 ret void } define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %myFb = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %__fb = getelementptr inbounds %fb2, %fb2* %myFb, i32 0, i32 0 %x = getelementptr inbounds %fb, %fb* %__fb, i32 0, i32 1 - store i16 1, i16* %x, align 2 + store i16 1, i16* %x, align [filtered] ret void } define void @__init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 - %deref = load %__vtable_fb*, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] + %deref = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref, i32 0, i32 0 - store void (%fb*)* @fb, void (%fb*)** %__body, align 8 + store void (%fb*)* @fb, void (%fb*)** %__body, align [filtered] ret void } define void @__init___vtable_fb2(%__vtable_fb2* %0) { entry: - %self = alloca %__vtable_fb2*, align 8 - store %__vtable_fb2* %0, %__vtable_fb2** %self, align 8 - %deref = load %__vtable_fb2*, %__vtable_fb2** %self, align 8 + %self = alloca %__vtable_fb2*, align [filtered] + store %__vtable_fb2* %0, %__vtable_fb2** %self, align [filtered] + %deref = load %__vtable_fb2*, %__vtable_fb2** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb2, %__vtable_fb2* %deref, i32 0, i32 0 - store void (%fb2*)* @fb2, void (%fb2*)** %__body, align 8 + store void (%fb2*)* @fb2, void (%fb2*)** %__body, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_fb2(%fb2* %0) { entry: - %self = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %self, align 8 - %deref = load %fb2*, %fb2** %self, align 8 + %self = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %self, align [filtered] + %deref = load %fb2*, %fb2** %self, align [filtered] %__fb = getelementptr inbounds %fb2, %fb2* %deref, i32 0, i32 0 call void @__init_fb(%fb* %__fb) - %deref1 = load %fb2*, %fb2** %self, align 8 + %deref1 = load %fb2*, %fb2** %self, align [filtered] %__fb2 = getelementptr inbounds %fb2, %fb2* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %fb, %fb* %__fb2, i32 0, i32 0 - store i32* bitcast (%__vtable_fb2* @__vtable_fb2_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb2* @__vtable_fb2_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 - %deref = load %fb*, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] + %deref = load %fb*, %fb** %self, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %myFb = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 1 call void @__init_fb2(%fb2* %myFb) - %deref1 = load %foo*, %foo** %self, align 8 + %deref1 = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] ret void } define void @__user_init_fb2(%fb2* %0) { entry: - %self = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %self, align 8 - %deref = load %fb2*, %fb2** %self, align 8 + %self = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %self, align [filtered] + %deref = load %fb2*, %fb2** %self, align [filtered] %__fb = getelementptr inbounds %fb2, %fb2* %deref, i32 0, i32 0 call void @__user_init_fb(%fb* %__fb) ret void @@ -306,30 +306,30 @@ fn write_to_parent_variable_qualified_access() { define void @__user_init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] ret void } define void @__user_init___vtable_fb2(%__vtable_fb2* %0) { entry: - %self = alloca %__vtable_fb2*, align 8 - store %__vtable_fb2* %0, %__vtable_fb2** %self, align 8 + %self = alloca %__vtable_fb2*, align [filtered] + store %__vtable_fb2* %0, %__vtable_fb2** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %myFb = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 1 call void @__user_init_fb2(%fb2* %myFb) ret void @@ -398,8 +398,8 @@ fn write_to_parent_variable_in_instance() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -407,34 +407,34 @@ fn write_to_parent_variable_in_instance() { define void @foo__baz(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) ret void } define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %__foo, i32 0, i32 1 %1 = bitcast [81 x i8]* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) ret void } define void @main() { entry: - %s = alloca [81 x i8], align 1 - %fb = alloca %bar, align 8 + %s = alloca [81 x i8], align [filtered] + %fb = alloca %bar, align [filtered] %0 = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast %bar* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%bar* @__bar__init to i8*), i64 ptrtoint (%bar* getelementptr (%bar, %bar* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%bar* @__bar__init to i8*), i64 ptrtoint (%bar* getelementptr (%bar, %bar* null, i32 1) to i64), i1 false) call void @__init_bar(%bar* %fb) call void @__user_init_bar(%bar* %fb) %__foo = getelementptr inbounds %bar, %bar* %fb, i32 0, i32 0 @@ -454,66 +454,66 @@ fn write_to_parent_variable_in_instance() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %baz = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 - %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] + %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %baz = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__foo2 = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -521,15 +521,15 @@ fn write_to_parent_variable_in_instance() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -609,8 +609,8 @@ fn array_in_parent_generated() { define void @grandparent(%grandparent* %0) { entry: - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 %y = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 1 %a = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 2 @@ -619,8 +619,8 @@ fn array_in_parent_generated() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -629,8 +629,8 @@ fn array_in_parent_generated() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %z = getelementptr inbounds %child, %child* %0, i32 0, i32 1 ret void @@ -638,33 +638,33 @@ fn array_in_parent_generated() { define void @main() { entry: - %arr = alloca [11 x %child], align 8 + %arr = alloca [11 x %child], align [filtered] %0 = bitcast [11 x %child]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([11 x %child]* getelementptr ([11 x %child], [11 x %child]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([11 x %child]* getelementptr ([11 x %child], [11 x %child]* null, i32 1) to i64), i1 false) %tmpVar = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 0 %__parent = getelementptr inbounds %child, %child* %tmpVar, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0 %a = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 2 - store i16 10, i16* %a, align 2 + store i16 10, i16* %a, align [filtered] %tmpVar1 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 0 %__parent2 = getelementptr inbounds %child, %child* %tmpVar1, i32 0, i32 0 %__grandparent3 = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %y = getelementptr inbounds %grandparent, %grandparent* %__grandparent3, i32 0, i32 1 %tmpVar4 = getelementptr inbounds [6 x i16], [6 x i16]* %y, i32 0, i32 0 - store i16 20, i16* %tmpVar4, align 2 + store i16 20, i16* %tmpVar4, align [filtered] %tmpVar5 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 1 %__parent6 = getelementptr inbounds %child, %child* %tmpVar5, i32 0, i32 0 %b = getelementptr inbounds %parent, %parent* %__parent6, i32 0, i32 2 - store i16 30, i16* %b, align 2 + store i16 30, i16* %b, align [filtered] %tmpVar7 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 1 %__parent8 = getelementptr inbounds %child, %child* %tmpVar7, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %__parent8, i32 0, i32 1 %tmpVar9 = getelementptr inbounds [11 x i16], [11 x i16]* %x, i32 0, i32 1 - store i16 40, i16* %tmpVar9, align 2 + store i16 40, i16* %tmpVar9, align [filtered] %tmpVar10 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 2 %z = getelementptr inbounds %child, %child* %tmpVar10, i32 0, i32 1 %tmpVar11 = getelementptr inbounds [11 x i16], [11 x i16]* %z, i32 0, i32 2 - store i16 50, i16* %tmpVar11, align 2 + store i16 50, i16* %tmpVar11, align [filtered] ret void } @@ -673,106 +673,106 @@ fn array_in_parent_generated() { define void @__init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 - %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] + %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref, i32 0, i32 0 - store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align 8 + store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__init_grandparent(%grandparent* %__grandparent) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__grandparent2 = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent2, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 - %deref = load %grandparent*, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] + %deref = load %grandparent*, %grandparent** %self, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -780,9 +780,9 @@ fn array_in_parent_generated() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__user_init_grandparent(%grandparent* %__grandparent) ret void @@ -856,8 +856,8 @@ fn complex_array_access_generated() { define void @grandparent(%grandparent* %0) { entry: - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 %y = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 1 %a = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 2 @@ -866,8 +866,8 @@ fn complex_array_access_generated() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -876,139 +876,139 @@ fn complex_array_access_generated() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %z = getelementptr inbounds %child, %child* %0, i32 0, i32 1 %__grandparent = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0 %y = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_b = load i16, i16* %b, align 2 + %load_b = load i16, i16* %b, align [filtered] %1 = sext i16 %load_b to i32 %b1 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_b2 = load i16, i16* %b1, align 2 + %load_b2 = load i16, i16* %b1, align [filtered] %2 = sext i16 %load_b2 to i32 %tmpVar = mul i32 %2, 2 %tmpVar3 = mul i32 1, %tmpVar %tmpVar4 = add i32 %tmpVar3, 0 %tmpVar5 = getelementptr inbounds [11 x i16], [11 x i16]* %z, i32 0, i32 %tmpVar4 - %load_tmpVar = load i16, i16* %tmpVar5, align 2 + %load_tmpVar = load i16, i16* %tmpVar5, align [filtered] %3 = sext i16 %load_tmpVar to i32 %tmpVar6 = add i32 %1, %3 %__grandparent7 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0 %a = getelementptr inbounds %grandparent, %grandparent* %__grandparent7, i32 0, i32 2 - %load_a = load i16, i16* %a, align 2 + %load_a = load i16, i16* %a, align [filtered] %4 = sext i16 %load_a to i32 %tmpVar8 = sub i32 %tmpVar6, %4 %tmpVar9 = mul i32 1, %tmpVar8 %tmpVar10 = add i32 %tmpVar9, 0 %tmpVar11 = getelementptr inbounds [6 x i16], [6 x i16]* %y, i32 0, i32 %tmpVar10 - store i16 20, i16* %tmpVar11, align 2 + store i16 20, i16* %tmpVar11, align [filtered] ret void } define void @__init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 - %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] + %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref, i32 0, i32 0 - store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align 8 + store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__init_grandparent(%grandparent* %__grandparent) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__grandparent2 = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent2, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 - %deref = load %grandparent*, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] + %deref = load %grandparent*, %grandparent** %self, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1016,9 +1016,9 @@ fn complex_array_access_generated() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__user_init_grandparent(%grandparent* %__grandparent) ret void @@ -1118,67 +1118,67 @@ fn this_in_method_call_chain() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 ret void } define void @FB_Test__Step(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] call void @FB_Test__Increment(%FB_Test* %deref) ret void } define void @FB_Test__Increment(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 ret void } define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %Step = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref1, i32 0, i32 1 - store void (%FB_Test*)* @FB_Test__Step, void (%FB_Test*)** %Step, align 8 - %deref2 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test__Step, void (%FB_Test*)** %Step, align [filtered] + %deref2 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %Increment = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref2, i32 0, i32 2 - store void (%FB_Test*)* @FB_Test__Increment, void (%FB_Test*)** %Increment, align 8 + store void (%FB_Test*)* @FB_Test__Increment, void (%FB_Test*)** %Increment, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1224,71 +1224,71 @@ fn this_in_method_and_body_in_function_block() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %val = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] %val1 = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_val = load i16, i16* %val1, align 2 - store i16 %load_val, i16* %val, align 2 - %deref2 = load %FB_Test*, %FB_Test** %this, align 8 + %load_val = load i16, i16* %val1, align [filtered] + store i16 %load_val, i16* %val, align [filtered] + %deref2 = load %FB_Test*, %FB_Test** %this, align [filtered] %val3 = getelementptr inbounds %FB_Test, %FB_Test* %deref2, i32 0, i32 1 - %load_val4 = load i16, i16* %val, align 2 - store i16 %load_val4, i16* %val3, align 2 + %load_val4 = load i16, i16* %val, align [filtered] + store i16 %load_val4, i16* %val3, align [filtered] ret void } define i16 @FB_Test__GetVal(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %val = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %FB_Test.GetVal = alloca i16, align 2 - store i16 0, i16* %FB_Test.GetVal, align 2 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %FB_Test.GetVal = alloca i16, align [filtered] + store i16 0, i16* %FB_Test.GetVal, align [filtered] + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] %val1 = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_val = load i16, i16* %val1, align 2 - store i16 %load_val, i16* %FB_Test.GetVal, align 2 - %FB_Test__GetVal_ret = load i16, i16* %FB_Test.GetVal, align 2 + %load_val = load i16, i16* %val1, align [filtered] + store i16 %load_val, i16* %FB_Test.GetVal, align [filtered] + %FB_Test__GetVal_ret = load i16, i16* %FB_Test.GetVal, align [filtered] ret i16 %FB_Test__GetVal_ret } define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %GetVal = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref1, i32 0, i32 1 - store i16 (%FB_Test*)* @FB_Test__GetVal, i16 (%FB_Test*)** %GetVal, align 8 + store i16 (%FB_Test*)* @FB_Test__GetVal, i16 (%FB_Test*)** %GetVal, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1350,8 +1350,8 @@ fn pass_this_to_method() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 ret void @@ -1359,44 +1359,44 @@ fn pass_this_to_method() { define void @FB_Test__foo(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %test = alloca %FB_Test2, align 8 - %x1 = alloca i16, align 2 + %test = alloca %FB_Test2, align [filtered] + %x1 = alloca i16, align [filtered] %1 = bitcast %FB_Test2* %test to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%FB_Test2* @__FB_Test2__init to i8*), i64 ptrtoint (%FB_Test2* getelementptr (%FB_Test2, %FB_Test2* null, i32 1) to i64), i1 false) - store i16 0, i16* %x1, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%FB_Test2* @__FB_Test2__init to i8*), i64 ptrtoint (%FB_Test2* getelementptr (%FB_Test2, %FB_Test2* null, i32 1) to i64), i1 false) + store i16 0, i16* %x1, align [filtered] call void @__init_fb_test2(%FB_Test2* %test) call void @__user_init_FB_Test2(%FB_Test2* %test) - %2 = load %FB_Test*, %FB_Test** %this, align 8 + %2 = load %FB_Test*, %FB_Test** %this, align [filtered] %call = call i16 @FB_Test2__bar(%FB_Test2* %test, %FB_Test* %2) ret void } define void @FB_Test2(%FB_Test2* %0) { entry: - %this = alloca %FB_Test2*, align 8 - store %FB_Test2* %0, %FB_Test2** %this, align 8 + %this = alloca %FB_Test2*, align [filtered] + store %FB_Test2* %0, %FB_Test2** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test2, %FB_Test2* %0, i32 0, i32 0 ret void } define i16 @FB_Test2__bar(%FB_Test2* %0, %FB_Test* %1) { entry: - %this = alloca %FB_Test2*, align 8 - store %FB_Test2* %0, %FB_Test2** %this, align 8 + %this = alloca %FB_Test2*, align [filtered] + store %FB_Test2* %0, %FB_Test2** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test2, %FB_Test2* %0, i32 0, i32 0 - %FB_Test2.bar = alloca i16, align 2 - %test = alloca %FB_Test*, align 8 - store %FB_Test* %1, %FB_Test** %test, align 8 - store i16 0, i16* %FB_Test2.bar, align 2 - %deref = load %FB_Test*, %FB_Test** %test, align 8 + %FB_Test2.bar = alloca i16, align [filtered] + %test = alloca %FB_Test*, align [filtered] + store %FB_Test* %1, %FB_Test** %test, align [filtered] + store i16 0, i16* %FB_Test2.bar, align [filtered] + %deref = load %FB_Test*, %FB_Test** %test, align [filtered] %x = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 - store i16 %load_x, i16* %FB_Test2.bar, align 2 - %FB_Test2__bar_ret = load i16, i16* %FB_Test2.bar, align 2 + %load_x = load i16, i16* %x, align [filtered] + store i16 %load_x, i16* %FB_Test2.bar, align [filtered] + %FB_Test2__bar_ret = load i16, i16* %FB_Test2.bar, align [filtered] ret i16 %FB_Test2__bar_ret } @@ -1405,75 +1405,75 @@ fn pass_this_to_method() { define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %foo = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref1, i32 0, i32 1 - store void (%FB_Test*)* @FB_Test__foo, void (%FB_Test*)** %foo, align 8 + store void (%FB_Test*)* @FB_Test__foo, void (%FB_Test*)** %foo, align [filtered] ret void } define void @__init___vtable_fb_test2(%__vtable_FB_Test2* %0) { entry: - %self = alloca %__vtable_FB_Test2*, align 8 - store %__vtable_FB_Test2* %0, %__vtable_FB_Test2** %self, align 8 - %deref = load %__vtable_FB_Test2*, %__vtable_FB_Test2** %self, align 8 + %self = alloca %__vtable_FB_Test2*, align [filtered] + store %__vtable_FB_Test2* %0, %__vtable_FB_Test2** %self, align [filtered] + %deref = load %__vtable_FB_Test2*, %__vtable_FB_Test2** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test2, %__vtable_FB_Test2* %deref, i32 0, i32 0 - store void (%FB_Test2*)* @FB_Test2, void (%FB_Test2*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test2*, %__vtable_FB_Test2** %self, align 8 + store void (%FB_Test2*)* @FB_Test2, void (%FB_Test2*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test2*, %__vtable_FB_Test2** %self, align [filtered] %bar = getelementptr inbounds %__vtable_FB_Test2, %__vtable_FB_Test2* %deref1, i32 0, i32 1 - store i16 (%FB_Test2*, %FB_Test*)* @FB_Test2__bar, i16 (%FB_Test2*, %FB_Test*)** %bar, align 8 + store i16 (%FB_Test2*, %FB_Test*)* @FB_Test2__bar, i16 (%FB_Test2*, %FB_Test*)** %bar, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_fb_test2(%FB_Test2* %0) { entry: - %self = alloca %FB_Test2*, align 8 - store %FB_Test2* %0, %FB_Test2** %self, align 8 - %deref = load %FB_Test2*, %FB_Test2** %self, align 8 + %self = alloca %FB_Test2*, align [filtered] + store %FB_Test2* %0, %FB_Test2** %self, align [filtered] + %deref = load %FB_Test2*, %FB_Test2** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test2, %FB_Test2* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test2* @__vtable_FB_Test2_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test2* @__vtable_FB_Test2_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_FB_Test2(%__vtable_FB_Test2* %0) { entry: - %self = alloca %__vtable_FB_Test2*, align 8 - store %__vtable_FB_Test2* %0, %__vtable_FB_Test2** %self, align 8 + %self = alloca %__vtable_FB_Test2*, align [filtered] + store %__vtable_FB_Test2* %0, %__vtable_FB_Test2** %self, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init_FB_Test2(%FB_Test2* %0) { entry: - %self = alloca %FB_Test2*, align 8 - store %FB_Test2* %0, %FB_Test2** %self, align 8 + %self = alloca %FB_Test2*, align [filtered] + store %FB_Test2* %0, %FB_Test2** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1526,8 +1526,8 @@ fn this_with_shadowed_variable() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %val = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 ret void @@ -1535,59 +1535,59 @@ fn this_with_shadowed_variable() { define void @FB_Test__shadow_val(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %val = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %val1 = alloca i16, align 2 - %local_val = alloca i16, align 2 - %shadow_val = alloca i16, align 2 - store i16 10, i16* %val1, align 2 - store i16 0, i16* %local_val, align 2 - store i16 0, i16* %shadow_val, align 2 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %val1 = alloca i16, align [filtered] + %local_val = alloca i16, align [filtered] + %shadow_val = alloca i16, align [filtered] + store i16 10, i16* %val1, align [filtered] + store i16 0, i16* %local_val, align [filtered] + store i16 0, i16* %shadow_val, align [filtered] + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] %val2 = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_val = load i16, i16* %val2, align 2 - store i16 %load_val, i16* %local_val, align 2 - %load_val3 = load i16, i16* %val1, align 2 - store i16 %load_val3, i16* %shadow_val, align 2 + %load_val = load i16, i16* %val2, align [filtered] + store i16 %load_val, i16* %local_val, align [filtered] + %load_val3 = load i16, i16* %val1, align [filtered] + store i16 %load_val3, i16* %shadow_val, align [filtered] ret void } define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %shadow_val = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref1, i32 0, i32 1 - store void (%FB_Test*)* @FB_Test__shadow_val, void (%FB_Test*)** %shadow_val, align 8 + store void (%FB_Test*)* @FB_Test__shadow_val, void (%FB_Test*)** %shadow_val, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1634,60 +1634,60 @@ fn this_calling_function_and_passing_this() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %1 = load %FB_Test*, %FB_Test** %this, align 8 + %1 = load %FB_Test*, %FB_Test** %this, align [filtered] %call = call i16 @foo(%FB_Test* %1) ret void } define i16 @foo(%FB_Test* %0) { entry: - %foo = alloca i16, align 2 - %pfb = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %pfb, align 8 - store i16 0, i16* %foo, align 2 - %deref = load %FB_Test*, %FB_Test** %pfb, align 8 + %foo = alloca i16, align [filtered] + %pfb = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %pfb, align [filtered] + store i16 0, i16* %foo, align [filtered] + %deref = load %FB_Test*, %FB_Test** %pfb, align [filtered] %x = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 - store i16 %load_x, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %load_x = load i16, i16* %x, align [filtered] + store i16 %load_x, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1740,8 +1740,8 @@ fn this_in_property_and_calling_method() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 ret void @@ -1749,97 +1749,97 @@ fn this_in_property_and_calling_method() { define i16 @FB_Test__DoubleX(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %FB_Test.DoubleX = alloca i16, align 2 - store i16 0, i16* %FB_Test.DoubleX, align 2 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %FB_Test.DoubleX = alloca i16, align [filtered] + store i16 0, i16* %FB_Test.DoubleX, align [filtered] + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] %x1 = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_x = load i16, i16* %x1, align 2 + %load_x = load i16, i16* %x1, align [filtered] %1 = sext i16 %load_x to i32 %tmpVar = mul i32 2, %1 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %FB_Test.DoubleX, align 2 - %FB_Test__DoubleX_ret = load i16, i16* %FB_Test.DoubleX, align 2 + store i16 %2, i16* %FB_Test.DoubleX, align [filtered] + %FB_Test__DoubleX_ret = load i16, i16* %FB_Test.DoubleX, align [filtered] ret i16 %FB_Test__DoubleX_ret } define i16 @FB_Test____get_Value(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %FB_Test.__get_Value = alloca i16, align 2 - %Value = alloca i16, align 2 - store i16 0, i16* %Value, align 2 - store i16 0, i16* %FB_Test.__get_Value, align 2 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %FB_Test.__get_Value = alloca i16, align [filtered] + %Value = alloca i16, align [filtered] + store i16 0, i16* %Value, align [filtered] + store i16 0, i16* %FB_Test.__get_Value, align [filtered] + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] %call = call i16 @FB_Test__DoubleX(%FB_Test* %deref) - store i16 %call, i16* %Value, align 2 - %load_Value = load i16, i16* %Value, align 2 - store i16 %load_Value, i16* %FB_Test.__get_Value, align 2 - %FB_Test____get_Value_ret = load i16, i16* %FB_Test.__get_Value, align 2 + store i16 %call, i16* %Value, align [filtered] + %load_Value = load i16, i16* %Value, align [filtered] + store i16 %load_Value, i16* %FB_Test.__get_Value, align [filtered] + %FB_Test____get_Value_ret = load i16, i16* %FB_Test.__get_Value, align [filtered] ret i16 %FB_Test____get_Value_ret } define void @FB_Test____set_Value(%FB_Test* %0, i16 %1) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %x = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %Value = alloca i16, align 2 - store i16 %1, i16* %Value, align 2 - %deref = load %FB_Test*, %FB_Test** %this, align 8 + %Value = alloca i16, align [filtered] + store i16 %1, i16* %Value, align [filtered] + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] %x1 = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 1 - %load_Value = load i16, i16* %Value, align 2 - store i16 %load_Value, i16* %x1, align 2 + %load_Value = load i16, i16* %Value, align [filtered] + store i16 %load_Value, i16* %x1, align [filtered] ret void } define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %DoubleX = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref1, i32 0, i32 1 - store i16 (%FB_Test*)* @FB_Test__DoubleX, i16 (%FB_Test*)** %DoubleX, align 8 - %deref2 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store i16 (%FB_Test*)* @FB_Test__DoubleX, i16 (%FB_Test*)** %DoubleX, align [filtered] + %deref2 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__get_Value = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref2, i32 0, i32 2 - store i16 (%FB_Test*)* @FB_Test____get_Value, i16 (%FB_Test*)** %__get_Value, align 8 - %deref3 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store i16 (%FB_Test*)* @FB_Test____get_Value, i16 (%FB_Test*)** %__get_Value, align [filtered] + %deref3 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__set_Value = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref3, i32 0, i32 3 - store void (%FB_Test*, i16)* @FB_Test____set_Value, void (%FB_Test*, i16)** %__set_Value, align 8 + store void (%FB_Test*, i16)* @FB_Test____set_Value, void (%FB_Test*, i16)** %__set_Value, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1885,8 +1885,8 @@ fn this_with_self_pointer() { define void @FB_Test(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %refToSelf = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 ret void @@ -1894,53 +1894,53 @@ fn this_with_self_pointer() { define void @FB_Test__InitRef(%FB_Test* %0) { entry: - %this = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %this, align 8 + %this = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %this, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 0 %refToSelf = getelementptr inbounds %FB_Test, %FB_Test* %0, i32 0, i32 1 - %deref = load %FB_Test*, %FB_Test** %this, align 8 - store %FB_Test* %deref, %FB_Test** %refToSelf, align 8 - %deref1 = load %FB_Test*, %FB_Test** %this, align 8 - store %FB_Test* %deref1, %FB_Test** %refToSelf, align 8 - %1 = load %FB_Test*, %FB_Test** %this, align 8 - store %FB_Test* %1, %FB_Test** %refToSelf, align 8 + %deref = load %FB_Test*, %FB_Test** %this, align [filtered] + store %FB_Test* %deref, %FB_Test** %refToSelf, align [filtered] + %deref1 = load %FB_Test*, %FB_Test** %this, align [filtered] + store %FB_Test* %deref1, %FB_Test** %refToSelf, align [filtered] + %1 = load %FB_Test*, %FB_Test** %this, align [filtered] + store %FB_Test* %1, %FB_Test** %refToSelf, align [filtered] ret void } define void @__init___vtable_fb_test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 - %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] + %deref = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref, i32 0, i32 0 - store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align 8 - %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align 8 + store void (%FB_Test*)* @FB_Test, void (%FB_Test*)** %__body, align [filtered] + %deref1 = load %__vtable_FB_Test*, %__vtable_FB_Test** %self, align [filtered] %InitRef = getelementptr inbounds %__vtable_FB_Test, %__vtable_FB_Test* %deref1, i32 0, i32 1 - store void (%FB_Test*)* @FB_Test__InitRef, void (%FB_Test*)** %InitRef, align 8 + store void (%FB_Test*)* @FB_Test__InitRef, void (%FB_Test*)** %InitRef, align [filtered] ret void } define void @__init_fb_test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 - %deref = load %FB_Test*, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] + %deref = load %FB_Test*, %FB_Test** %self, align [filtered] %__vtable = getelementptr inbounds %FB_Test, %FB_Test* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB_Test* @__vtable_FB_Test_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB_Test(%FB_Test* %0) { entry: - %self = alloca %FB_Test*, align 8 - store %FB_Test* %0, %FB_Test** %self, align 8 + %self = alloca %FB_Test*, align [filtered] + store %FB_Test* %0, %FB_Test** %self, align [filtered] ret void } define void @__user_init___vtable_FB_Test(%__vtable_FB_Test* %0) { entry: - %self = alloca %__vtable_FB_Test*, align 8 - store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align 8 + %self = alloca %__vtable_FB_Test*, align [filtered] + store %__vtable_FB_Test* %0, %__vtable_FB_Test** %self, align [filtered] ret void } @@ -1984,8 +1984,8 @@ fn this_in_variable_initialization() { define void @FB(%FB* %0) { entry: - %this = alloca %FB*, align 8 - store %FB* %0, %FB** %this, align 8 + %this = alloca %FB*, align [filtered] + store %FB* %0, %FB** %this, align [filtered] %__vtable = getelementptr inbounds %FB, %FB* %0, i32 0, i32 0 %x = getelementptr inbounds %FB, %FB* %0, i32 0, i32 1 %self = getelementptr inbounds %FB, %FB* %0, i32 0, i32 2 @@ -1995,35 +1995,35 @@ fn this_in_variable_initialization() { define void @__init___vtable_fb(%__vtable_FB* %0) { entry: - %self = alloca %__vtable_FB*, align 8 - store %__vtable_FB* %0, %__vtable_FB** %self, align 8 - %deref = load %__vtable_FB*, %__vtable_FB** %self, align 8 + %self = alloca %__vtable_FB*, align [filtered] + store %__vtable_FB* %0, %__vtable_FB** %self, align [filtered] + %deref = load %__vtable_FB*, %__vtable_FB** %self, align [filtered] %__body = getelementptr inbounds %__vtable_FB, %__vtable_FB* %deref, i32 0, i32 0 - store void (%FB*)* @FB, void (%FB*)** %__body, align 8 + store void (%FB*)* @FB, void (%FB*)** %__body, align [filtered] ret void } define void @__init_fb(%FB* %0) { entry: - %self = alloca %FB*, align 8 - store %FB* %0, %FB** %self, align 8 - %deref = load %FB*, %FB** %self, align 8 + %self = alloca %FB*, align [filtered] + store %FB* %0, %FB** %self, align [filtered] + %deref = load %FB*, %FB** %self, align [filtered] %__vtable = getelementptr inbounds %FB, %FB* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_FB* @__vtable_FB_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_FB* @__vtable_FB_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_FB(%FB* %0) { entry: - %self = alloca %FB*, align 8 - store %FB* %0, %FB** %self, align 8 + %self = alloca %FB*, align [filtered] + store %FB* %0, %FB** %self, align [filtered] ret void } define void @__user_init___vtable_FB(%__vtable_FB* %0) { entry: - %self = alloca %__vtable_FB*, align 8 - store %__vtable_FB* %0, %__vtable_FB** %self, align 8 + %self = alloca %__vtable_FB*, align [filtered] + store %__vtable_FB* %0, %__vtable_FB** %self, align [filtered] ret void } @@ -2064,53 +2064,53 @@ fn this_in_action_in_functionblock() { define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void } define void @fb__foo(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 - %deref = load %fb*, %fb** %this, align 8 + %deref = load %fb*, %fb** %this, align [filtered] call void @fb(%fb* %deref) ret void } define void @__init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 - %deref = load %__vtable_fb*, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] + %deref = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref, i32 0, i32 0 - store void (%fb*)* @fb, void (%fb*)** %__body, align 8 + store void (%fb*)* @fb, void (%fb*)** %__body, align [filtered] ret void } define void @__init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 - %deref = load %fb*, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] + %deref = load %fb*, %fb** %self, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] ret void } define void @__user_init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] ret void } @@ -2150,59 +2150,59 @@ fn this_calling_functionblock_body_from_method() { define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void } define i16 @fb__foo(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 - %fb.foo = alloca i16, align 2 - store i16 0, i16* %fb.foo, align 2 - %deref = load %fb*, %fb** %this, align 8 + %fb.foo = alloca i16, align [filtered] + store i16 0, i16* %fb.foo, align [filtered] + %deref = load %fb*, %fb** %this, align [filtered] call void @fb(%fb* %deref) - %fb__foo_ret = load i16, i16* %fb.foo, align 2 + %fb__foo_ret = load i16, i16* %fb.foo, align [filtered] ret i16 %fb__foo_ret } define void @__init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 - %deref = load %__vtable_fb*, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] + %deref = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref, i32 0, i32 0 - store void (%fb*)* @fb, void (%fb*)** %__body, align 8 - %deref1 = load %__vtable_fb*, %__vtable_fb** %self, align 8 + store void (%fb*)* @fb, void (%fb*)** %__body, align [filtered] + %deref1 = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %foo = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref1, i32 0, i32 1 - store i16 (%fb*)* @fb__foo, i16 (%fb*)** %foo, align 8 + store i16 (%fb*)* @fb__foo, i16 (%fb*)** %foo, align [filtered] ret void } define void @__init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 - %deref = load %fb*, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] + %deref = load %fb*, %fb** %self, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] ret void } define void @__user_init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] ret void } @@ -2259,103 +2259,103 @@ fn fb_extension_with_output() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define i16 @foo__met1(%foo* %0, i16 %1, i16 %2, i16* %3) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %foo.met1 = alloca i16, align 2 - %mandatoryInput = alloca i16, align 2 - store i16 %1, i16* %mandatoryInput, align 2 - %optionalInput = alloca i16, align 2 - store i16 %2, i16* %optionalInput, align 2 - %outputValue = alloca i16*, align 8 - store i16* %3, i16** %outputValue, align 8 - store i16 0, i16* %foo.met1, align 2 - %foo__met1_ret = load i16, i16* %foo.met1, align 2 + %foo.met1 = alloca i16, align [filtered] + %mandatoryInput = alloca i16, align [filtered] + store i16 %1, i16* %mandatoryInput, align [filtered] + %optionalInput = alloca i16, align [filtered] + store i16 %2, i16* %optionalInput, align [filtered] + %outputValue = alloca i16*, align [filtered] + store i16* %3, i16** %outputValue, align [filtered] + store i16 0, i16* %foo.met1, align [filtered] + %foo__met1_ret = load i16, i16* %foo.met1, align [filtered] ret i16 %foo__met1_ret } define void @foo2(%foo2* %0) { entry: - %this = alloca %foo2*, align 8 - store %foo2* %0, %foo2** %this, align 8 + %this = alloca %foo2*, align [filtered] + store %foo2* %0, %foo2** %this, align [filtered] %__foo = getelementptr inbounds %foo2, %foo2* %0, i32 0, i32 0 - %deref = load %foo2*, %foo2** %this, align 8 + %deref = load %foo2*, %foo2** %this, align [filtered] %__foo1 = getelementptr inbounds %foo2, %foo2* %deref, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo1, i32 0, i32 0 - %deref2 = load i32*, i32** %__vtable, align 8 + %deref2 = load i32*, i32** %__vtable, align [filtered] %cast = bitcast i32* %deref2 to %__vtable_foo2* %met1 = getelementptr inbounds %__vtable_foo2, %__vtable_foo2* %cast, i32 0, i32 1 - %1 = load i16 (%foo*, i16, i16, i16*)*, i16 (%foo*, i16, i16, i16*)** %met1, align 8 - %deref3 = load %foo2*, %foo2** %this, align 8 + %1 = load i16 (%foo*, i16, i16, i16*)*, i16 (%foo*, i16, i16, i16*)** %met1, align [filtered] + %deref3 = load %foo2*, %foo2** %this, align [filtered] %cast4 = bitcast %foo2* %deref3 to %foo* - %2 = alloca i16, align 2 + %2 = alloca i16, align [filtered] %fnptr_call = call i16 %1(%foo* %cast4, i16 0, i16 0, i16* %2) ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %met1 = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align 8 + store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align [filtered] ret void } define void @__init___vtable_foo2(%__vtable_foo2* %0) { entry: - %self = alloca %__vtable_foo2*, align 8 - store %__vtable_foo2* %0, %__vtable_foo2** %self, align 8 - %deref = load %__vtable_foo2*, %__vtable_foo2** %self, align 8 + %self = alloca %__vtable_foo2*, align [filtered] + store %__vtable_foo2* %0, %__vtable_foo2** %self, align [filtered] + %deref = load %__vtable_foo2*, %__vtable_foo2** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo2, %__vtable_foo2* %deref, i32 0, i32 0 - store void (%foo2*)* @foo2, void (%foo2*)** %__body, align 8 - %deref1 = load %__vtable_foo2*, %__vtable_foo2** %self, align 8 + store void (%foo2*)* @foo2, void (%foo2*)** %__body, align [filtered] + %deref1 = load %__vtable_foo2*, %__vtable_foo2** %self, align [filtered] %met1 = getelementptr inbounds %__vtable_foo2, %__vtable_foo2* %deref1, i32 0, i32 1 - store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align 8 + store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo2(%foo2* %0) { entry: - %self = alloca %foo2*, align 8 - store %foo2* %0, %foo2** %self, align 8 - %deref = load %foo2*, %foo2** %self, align 8 + %self = alloca %foo2*, align [filtered] + store %foo2* %0, %foo2** %self, align [filtered] + %deref = load %foo2*, %foo2** %self, align [filtered] %__foo = getelementptr inbounds %foo2, %foo2* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %foo2*, %foo2** %self, align 8 + %deref1 = load %foo2*, %foo2** %self, align [filtered] %__foo2 = getelementptr inbounds %foo2, %foo2* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_foo2* @__vtable_foo2_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo2* @__vtable_foo2_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_foo2(%foo2* %0) { entry: - %self = alloca %foo2*, align 8 - store %foo2* %0, %foo2** %self, align 8 - %deref = load %foo2*, %foo2** %self, align 8 + %self = alloca %foo2*, align [filtered] + store %foo2* %0, %foo2** %self, align [filtered] + %deref = load %foo2*, %foo2** %self, align [filtered] %__foo = getelementptr inbounds %foo2, %foo2* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -2363,22 +2363,22 @@ fn fb_extension_with_output() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo2(%__vtable_foo2* %0) { entry: - %self = alloca %__vtable_foo2*, align 8 - store %__vtable_foo2* %0, %__vtable_foo2** %self, align 8 + %self = alloca %__vtable_foo2*, align [filtered] + store %__vtable_foo2* %0, %__vtable_foo2** %self, align [filtered] ret void } @@ -2450,41 +2450,41 @@ fn function_with_output_used_in_main_by_extension() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define i16 @foo__met1(%foo* %0, i16 %1, i16 %2, i16* %3) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %foo.met1 = alloca i16, align 2 - %mandatoryInput = alloca i16, align 2 - store i16 %1, i16* %mandatoryInput, align 2 - %optionalInput = alloca i16, align 2 - store i16 %2, i16* %optionalInput, align 2 - %outputValue = alloca i16*, align 8 - store i16* %3, i16** %outputValue, align 8 - store i16 0, i16* %foo.met1, align 2 - %deref = load i16*, i16** %outputValue, align 8 - %load_mandatoryInput = load i16, i16* %mandatoryInput, align 2 + %foo.met1 = alloca i16, align [filtered] + %mandatoryInput = alloca i16, align [filtered] + store i16 %1, i16* %mandatoryInput, align [filtered] + %optionalInput = alloca i16, align [filtered] + store i16 %2, i16* %optionalInput, align [filtered] + %outputValue = alloca i16*, align [filtered] + store i16* %3, i16** %outputValue, align [filtered] + store i16 0, i16* %foo.met1, align [filtered] + %deref = load i16*, i16** %outputValue, align [filtered] + %load_mandatoryInput = load i16, i16* %mandatoryInput, align [filtered] %4 = sext i16 %load_mandatoryInput to i32 - %load_optionalInput = load i16, i16* %optionalInput, align 2 + %load_optionalInput = load i16, i16* %optionalInput, align [filtered] %5 = sext i16 %load_optionalInput to i32 %tmpVar = add i32 %4, %5 %6 = trunc i32 %tmpVar to i16 - store i16 %6, i16* %deref, align 2 - %foo__met1_ret = load i16, i16* %foo.met1, align 2 + store i16 %6, i16* %deref, align [filtered] + %foo__met1_ret = load i16, i16* %foo.met1, align [filtered] ret i16 %foo__met1_ret } define void @foo2(%foo2* %0) { entry: - %this = alloca %foo2*, align 8 - store %foo2* %0, %foo2** %this, align 8 + %this = alloca %foo2*, align [filtered] + store %foo2* %0, %foo2** %this, align [filtered] %__foo = getelementptr inbounds %foo2, %foo2* %0, i32 0, i32 0 %x = getelementptr inbounds %foo2, %foo2* %0, i32 0, i32 1 ret void @@ -2492,16 +2492,16 @@ fn function_with_output_used_in_main_by_extension() { define i32 @main() { entry: - %main = alloca i32, align 4 - %foo_inst = alloca %foo, align 8 - %foo2_inst = alloca %foo2, align 8 - %out = alloca i16, align 2 + %main = alloca i32, align [filtered] + %foo_inst = alloca %foo, align [filtered] + %foo2_inst = alloca %foo2, align [filtered] + %out = alloca i16, align [filtered] %0 = bitcast %foo* %foo_inst to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) %1 = bitcast %foo2* %foo2_inst to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%foo2* @__foo2__init to i8*), i64 ptrtoint (%foo2* getelementptr (%foo2, %foo2* null, i32 1) to i64), i1 false) - store i16 0, i16* %out, align 2 - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%foo2* @__foo2__init to i8*), i64 ptrtoint (%foo2* getelementptr (%foo2, %foo2* null, i32 1) to i64), i1 false) + store i16 0, i16* %out, align [filtered] + store i32 0, i32* %main, align [filtered] call void @__init_foo(%foo* %foo_inst) call void @__init_foo2(%foo2* %foo2_inst) call void @__user_init_foo(%foo* %foo_inst) @@ -2509,7 +2509,7 @@ fn function_with_output_used_in_main_by_extension() { %call = call i16 @foo__met1(%foo* %foo_inst, i16 1, i16 5, i16* %out) %__foo = getelementptr inbounds %foo2, %foo2* %foo2_inst, i32 0, i32 0 %call1 = call i16 @foo__met1(%foo* %__foo, i16 2, i16 5, i16* %out) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -2518,59 +2518,59 @@ fn function_with_output_used_in_main_by_extension() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %met1 = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align 8 + store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align [filtered] ret void } define void @__init___vtable_foo2(%__vtable_foo2* %0) { entry: - %self = alloca %__vtable_foo2*, align 8 - store %__vtable_foo2* %0, %__vtable_foo2** %self, align 8 - %deref = load %__vtable_foo2*, %__vtable_foo2** %self, align 8 + %self = alloca %__vtable_foo2*, align [filtered] + store %__vtable_foo2* %0, %__vtable_foo2** %self, align [filtered] + %deref = load %__vtable_foo2*, %__vtable_foo2** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo2, %__vtable_foo2* %deref, i32 0, i32 0 - store void (%foo2*)* @foo2, void (%foo2*)** %__body, align 8 - %deref1 = load %__vtable_foo2*, %__vtable_foo2** %self, align 8 + store void (%foo2*)* @foo2, void (%foo2*)** %__body, align [filtered] + %deref1 = load %__vtable_foo2*, %__vtable_foo2** %self, align [filtered] %met1 = getelementptr inbounds %__vtable_foo2, %__vtable_foo2* %deref1, i32 0, i32 1 - store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align 8 + store i16 (%foo*, i16, i16, i16*)* @foo__met1, i16 (%foo*, i16, i16, i16*)** %met1, align [filtered] ret void } define void @__init_foo2(%foo2* %0) { entry: - %self = alloca %foo2*, align 8 - store %foo2* %0, %foo2** %self, align 8 - %deref = load %foo2*, %foo2** %self, align 8 + %self = alloca %foo2*, align [filtered] + store %foo2* %0, %foo2** %self, align [filtered] + %deref = load %foo2*, %foo2** %self, align [filtered] %__foo = getelementptr inbounds %foo2, %foo2* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %foo2*, %foo2** %self, align 8 + %deref1 = load %foo2*, %foo2** %self, align [filtered] %__foo2 = getelementptr inbounds %foo2, %foo2* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_foo2* @__vtable_foo2_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo2* @__vtable_foo2_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_foo2(%foo2* %0) { entry: - %self = alloca %foo2*, align 8 - store %foo2* %0, %foo2** %self, align 8 - %deref = load %foo2*, %foo2** %self, align 8 + %self = alloca %foo2*, align [filtered] + store %foo2* %0, %foo2** %self, align [filtered] + %deref = load %foo2*, %foo2** %self, align [filtered] %__foo = getelementptr inbounds %foo2, %foo2* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -2578,22 +2578,22 @@ fn function_with_output_used_in_main_by_extension() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo2(%__vtable_foo2* %0) { entry: - %self = alloca %__vtable_foo2*, align 8 - store %__vtable_foo2* %0, %__vtable_foo2** %self, align 8 + %self = alloca %__vtable_foo2*, align [filtered] + store %__vtable_foo2* %0, %__vtable_foo2** %self, align [filtered] ret void } diff --git a/src/codegen/tests/oop_tests/debug_tests.rs b/src/codegen/tests/oop_tests/debug_tests.rs index bdada292c1..4009595cbb 100644 --- a/src/codegen/tests/oop_tests/debug_tests.rs +++ b/src/codegen/tests/oop_tests/debug_tests.rs @@ -39,8 +39,8 @@ fn members_from_base_class_are_available_in_subclasses() { define void @foo(%foo* %0) !dbg !32 { entry: call void @llvm.dbg.declare(metadata %foo* %0, metadata !36, metadata !DIExpression()), !dbg !37 - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %a = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %b = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 @@ -51,8 +51,8 @@ fn members_from_base_class_are_available_in_subclasses() { define void @bar(%bar* %0) !dbg !38 { entry: call void @llvm.dbg.declare(metadata %bar* %0, metadata !41, metadata !DIExpression()), !dbg !42 - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 ret void, !dbg !42 } @@ -62,60 +62,60 @@ fn members_from_base_class_are_available_in_subclasses() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__foo2 = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -123,15 +123,15 @@ fn members_from_base_class_are_available_in_subclasses() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -245,8 +245,8 @@ fn write_to_parent_variable_qualified_access() { define void @fb(%fb* %0) !dbg !32 { entry: call void @llvm.dbg.declare(metadata %fb* %0, metadata !36, metadata !DIExpression()), !dbg !37 - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 1 %y = getelementptr inbounds %fb, %fb* %0, i32 0, i32 2 @@ -256,8 +256,8 @@ fn write_to_parent_variable_qualified_access() { define void @fb2(%fb2* %0) !dbg !38 { entry: call void @llvm.dbg.declare(metadata %fb2* %0, metadata !41, metadata !DIExpression()), !dbg !42 - %this = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %this, align 8 + %this = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %this, align [filtered] %__fb = getelementptr inbounds %fb2, %fb2* %0, i32 0, i32 0 ret void, !dbg !42 } @@ -265,13 +265,13 @@ fn write_to_parent_variable_qualified_access() { define void @foo(%foo* %0) !dbg !43 { entry: call void @llvm.dbg.declare(metadata %foo* %0, metadata !46, metadata !DIExpression()), !dbg !47 - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %myFb = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %__fb = getelementptr inbounds %fb2, %fb2* %myFb, i32 0, i32 0, !dbg !47 %x = getelementptr inbounds %fb, %fb* %__fb, i32 0, i32 1, !dbg !47 - store i16 1, i16* %x, align 2, !dbg !47 + store i16 1, i16* %x, align [filtered], !dbg !47 ret void, !dbg !48 } @@ -280,83 +280,83 @@ fn write_to_parent_variable_qualified_access() { define void @__init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 - %deref = load %__vtable_fb*, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] + %deref = load %__vtable_fb*, %__vtable_fb** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb, %__vtable_fb* %deref, i32 0, i32 0 - store void (%fb*)* @fb, void (%fb*)** %__body, align 8 + store void (%fb*)* @fb, void (%fb*)** %__body, align [filtered] ret void } define void @__init___vtable_fb2(%__vtable_fb2* %0) { entry: - %self = alloca %__vtable_fb2*, align 8 - store %__vtable_fb2* %0, %__vtable_fb2** %self, align 8 - %deref = load %__vtable_fb2*, %__vtable_fb2** %self, align 8 + %self = alloca %__vtable_fb2*, align [filtered] + store %__vtable_fb2* %0, %__vtable_fb2** %self, align [filtered] + %deref = load %__vtable_fb2*, %__vtable_fb2** %self, align [filtered] %__body = getelementptr inbounds %__vtable_fb2, %__vtable_fb2* %deref, i32 0, i32 0 - store void (%fb2*)* @fb2, void (%fb2*)** %__body, align 8 + store void (%fb2*)* @fb2, void (%fb2*)** %__body, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_fb2(%fb2* %0) { entry: - %self = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %self, align 8 - %deref = load %fb2*, %fb2** %self, align 8 + %self = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %self, align [filtered] + %deref = load %fb2*, %fb2** %self, align [filtered] %__fb = getelementptr inbounds %fb2, %fb2* %deref, i32 0, i32 0 call void @__init_fb(%fb* %__fb) - %deref1 = load %fb2*, %fb2** %self, align 8 + %deref1 = load %fb2*, %fb2** %self, align [filtered] %__fb2 = getelementptr inbounds %fb2, %fb2* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %fb, %fb* %__fb2, i32 0, i32 0 - store i32* bitcast (%__vtable_fb2* @__vtable_fb2_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb2* @__vtable_fb2_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 - %deref = load %fb*, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] + %deref = load %fb*, %fb** %self, align [filtered] %__vtable = getelementptr inbounds %fb, %fb* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_fb* @__vtable_fb_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %myFb = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 1 call void @__init_fb2(%fb2* %myFb) - %deref1 = load %foo*, %foo** %self, align 8 + %deref1 = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_fb(%fb* %0) { entry: - %self = alloca %fb*, align 8 - store %fb* %0, %fb** %self, align 8 + %self = alloca %fb*, align [filtered] + store %fb* %0, %fb** %self, align [filtered] ret void } define void @__user_init_fb2(%fb2* %0) { entry: - %self = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %self, align 8 - %deref = load %fb2*, %fb2** %self, align 8 + %self = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %self, align [filtered] + %deref = load %fb2*, %fb2** %self, align [filtered] %__fb = getelementptr inbounds %fb2, %fb2* %deref, i32 0, i32 0 call void @__user_init_fb(%fb* %__fb) ret void @@ -364,30 +364,30 @@ fn write_to_parent_variable_qualified_access() { define void @__user_init___vtable_fb(%__vtable_fb* %0) { entry: - %self = alloca %__vtable_fb*, align 8 - store %__vtable_fb* %0, %__vtable_fb** %self, align 8 + %self = alloca %__vtable_fb*, align [filtered] + store %__vtable_fb* %0, %__vtable_fb** %self, align [filtered] ret void } define void @__user_init___vtable_fb2(%__vtable_fb2* %0) { entry: - %self = alloca %__vtable_fb2*, align 8 - store %__vtable_fb2* %0, %__vtable_fb2** %self, align 8 + %self = alloca %__vtable_fb2*, align [filtered] + store %__vtable_fb2* %0, %__vtable_fb2** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %myFb = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 1 call void @__user_init_fb2(%fb2* %myFb) ret void @@ -512,8 +512,8 @@ fn write_to_parent_variable_in_instance() { define void @foo(%foo* %0) !dbg !26 { entry: call void @llvm.dbg.declare(metadata %foo* %0, metadata !30, metadata !DIExpression()), !dbg !31 - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void, !dbg !31 @@ -522,37 +522,37 @@ fn write_to_parent_variable_in_instance() { define void @foo__baz(%foo* %0) !dbg !32 { entry: call void @llvm.dbg.declare(metadata %foo* %0, metadata !33, metadata !DIExpression()), !dbg !34 - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %s to i8*, !dbg !34 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false), !dbg !34 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false), !dbg !34 ret void, !dbg !35 } define void @bar(%bar* %0) !dbg !36 { entry: call void @llvm.dbg.declare(metadata %bar* %0, metadata !39, metadata !DIExpression()), !dbg !40 - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %__foo, i32 0, i32 1, !dbg !40 %1 = bitcast [81 x i8]* %s to i8*, !dbg !40 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false), !dbg !40 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false), !dbg !40 ret void, !dbg !41 } define void @main() !dbg !42 { entry: - %s = alloca [81 x i8], align 1 - %fb = alloca %bar, align 8 + %s = alloca [81 x i8], align [filtered] + %fb = alloca %bar, align [filtered] call void @llvm.dbg.declare(metadata [81 x i8]* %s, metadata !45, metadata !DIExpression()), !dbg !46 %0 = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata %bar* %fb, metadata !47, metadata !DIExpression()), !dbg !48 %1 = bitcast %bar* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%bar* @__bar__init to i8*), i64 ptrtoint (%bar* getelementptr (%bar, %bar* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%bar* @__bar__init to i8*), i64 ptrtoint (%bar* getelementptr (%bar, %bar* null, i32 1) to i64), i1 false) call void @__init_bar(%bar* %fb), !dbg !49 call void @__user_init_bar(%bar* %fb), !dbg !49 %__foo = getelementptr inbounds %bar, %bar* %fb, i32 0, i32 0, !dbg !49 @@ -575,66 +575,66 @@ fn write_to_parent_variable_in_instance() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %baz = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 - %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] + %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %baz = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__foo2 = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -642,15 +642,15 @@ fn write_to_parent_variable_in_instance() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -789,8 +789,8 @@ fn array_in_parent_generated() { define void @grandparent(%grandparent* %0) !dbg !38 { entry: call void @llvm.dbg.declare(metadata %grandparent* %0, metadata !42, metadata !DIExpression()), !dbg !43 - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 %y = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 1 %a = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 2 @@ -800,8 +800,8 @@ fn array_in_parent_generated() { define void @parent(%parent* %0) !dbg !44 { entry: call void @llvm.dbg.declare(metadata %parent* %0, metadata !47, metadata !DIExpression()), !dbg !48 - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -811,8 +811,8 @@ fn array_in_parent_generated() { define void @child(%child* %0) !dbg !49 { entry: call void @llvm.dbg.declare(metadata %child* %0, metadata !52, metadata !DIExpression()), !dbg !53 - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %z = getelementptr inbounds %child, %child* %0, i32 0, i32 1 ret void, !dbg !53 @@ -820,34 +820,34 @@ fn array_in_parent_generated() { define void @main() !dbg !54 { entry: - %arr = alloca [11 x %child], align 8 + %arr = alloca [11 x %child], align [filtered] call void @llvm.dbg.declare(metadata [11 x %child]* %arr, metadata !57, metadata !DIExpression()), !dbg !59 %0 = bitcast [11 x %child]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([11 x %child]* getelementptr ([11 x %child], [11 x %child]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([11 x %child]* getelementptr ([11 x %child], [11 x %child]* null, i32 1) to i64), i1 false) %tmpVar = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 0, !dbg !60 %__parent = getelementptr inbounds %child, %child* %tmpVar, i32 0, i32 0, !dbg !60 %__grandparent = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0, !dbg !60 %a = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 2, !dbg !60 - store i16 10, i16* %a, align 2, !dbg !60 + store i16 10, i16* %a, align [filtered], !dbg !60 %tmpVar1 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 0, !dbg !61 %__parent2 = getelementptr inbounds %child, %child* %tmpVar1, i32 0, i32 0, !dbg !61 %__grandparent3 = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0, !dbg !61 %y = getelementptr inbounds %grandparent, %grandparent* %__grandparent3, i32 0, i32 1, !dbg !61 %tmpVar4 = getelementptr inbounds [6 x i16], [6 x i16]* %y, i32 0, i32 0, !dbg !61 - store i16 20, i16* %tmpVar4, align 2, !dbg !61 + store i16 20, i16* %tmpVar4, align [filtered], !dbg !61 %tmpVar5 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 1, !dbg !62 %__parent6 = getelementptr inbounds %child, %child* %tmpVar5, i32 0, i32 0, !dbg !62 %b = getelementptr inbounds %parent, %parent* %__parent6, i32 0, i32 2, !dbg !62 - store i16 30, i16* %b, align 2, !dbg !62 + store i16 30, i16* %b, align [filtered], !dbg !62 %tmpVar7 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 1, !dbg !63 %__parent8 = getelementptr inbounds %child, %child* %tmpVar7, i32 0, i32 0, !dbg !63 %x = getelementptr inbounds %parent, %parent* %__parent8, i32 0, i32 1, !dbg !63 %tmpVar9 = getelementptr inbounds [11 x i16], [11 x i16]* %x, i32 0, i32 1, !dbg !63 - store i16 40, i16* %tmpVar9, align 2, !dbg !63 + store i16 40, i16* %tmpVar9, align [filtered], !dbg !63 %tmpVar10 = getelementptr inbounds [11 x %child], [11 x %child]* %arr, i32 0, i32 2, !dbg !64 %z = getelementptr inbounds %child, %child* %tmpVar10, i32 0, i32 1, !dbg !64 %tmpVar11 = getelementptr inbounds [11 x i16], [11 x i16]* %z, i32 0, i32 2, !dbg !64 - store i16 50, i16* %tmpVar11, align 2, !dbg !64 + store i16 50, i16* %tmpVar11, align [filtered], !dbg !64 ret void, !dbg !65 } @@ -859,106 +859,106 @@ fn array_in_parent_generated() { define void @__init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 - %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] + %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref, i32 0, i32 0 - store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align 8 + store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__init_grandparent(%grandparent* %__grandparent) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__grandparent2 = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent2, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 - %deref = load %grandparent*, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] + %deref = load %grandparent*, %grandparent** %self, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -966,9 +966,9 @@ fn array_in_parent_generated() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__user_init_grandparent(%grandparent* %__grandparent) ret void @@ -1114,8 +1114,8 @@ fn complex_array_access_generated() { define void @grandparent(%grandparent* %0) !dbg !38 { entry: call void @llvm.dbg.declare(metadata %grandparent* %0, metadata !42, metadata !DIExpression()), !dbg !43 - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 %y = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 1 %a = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 2 @@ -1125,8 +1125,8 @@ fn complex_array_access_generated() { define void @parent(%parent* %0) !dbg !44 { entry: call void @llvm.dbg.declare(metadata %parent* %0, metadata !47, metadata !DIExpression()), !dbg !48 - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -1136,34 +1136,34 @@ fn complex_array_access_generated() { define void @child(%child* %0) !dbg !49 { entry: call void @llvm.dbg.declare(metadata %child* %0, metadata !52, metadata !DIExpression()), !dbg !53 - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %z = getelementptr inbounds %child, %child* %0, i32 0, i32 1 %__grandparent = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0, !dbg !53 %y = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 1, !dbg !53 %b = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2, !dbg !53 - %load_b = load i16, i16* %b, align 2, !dbg !53 + %load_b = load i16, i16* %b, align [filtered], !dbg !53 %1 = sext i16 %load_b to i32, !dbg !53 %b1 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2, !dbg !53 - %load_b2 = load i16, i16* %b1, align 2, !dbg !53 + %load_b2 = load i16, i16* %b1, align [filtered], !dbg !53 %2 = sext i16 %load_b2 to i32, !dbg !53 %tmpVar = mul i32 %2, 2, !dbg !53 %tmpVar3 = mul i32 1, %tmpVar, !dbg !53 %tmpVar4 = add i32 %tmpVar3, 0, !dbg !53 %tmpVar5 = getelementptr inbounds [11 x i16], [11 x i16]* %z, i32 0, i32 %tmpVar4, !dbg !53 - %load_tmpVar = load i16, i16* %tmpVar5, align 2, !dbg !53 + %load_tmpVar = load i16, i16* %tmpVar5, align [filtered], !dbg !53 %3 = sext i16 %load_tmpVar to i32, !dbg !53 %tmpVar6 = add i32 %1, %3, !dbg !53 %__grandparent7 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0, !dbg !53 %a = getelementptr inbounds %grandparent, %grandparent* %__grandparent7, i32 0, i32 2, !dbg !53 - %load_a = load i16, i16* %a, align 2, !dbg !53 + %load_a = load i16, i16* %a, align [filtered], !dbg !53 %4 = sext i16 %load_a to i32, !dbg !53 %tmpVar8 = sub i32 %tmpVar6, %4, !dbg !53 %tmpVar9 = mul i32 1, %tmpVar8, !dbg !53 %tmpVar10 = add i32 %tmpVar9, 0, !dbg !53 %tmpVar11 = getelementptr inbounds [6 x i16], [6 x i16]* %y, i32 0, i32 %tmpVar10, !dbg !53 - store i16 20, i16* %tmpVar11, align 2, !dbg !53 + store i16 20, i16* %tmpVar11, align [filtered], !dbg !53 ret void, !dbg !54 } @@ -1172,106 +1172,106 @@ fn complex_array_access_generated() { define void @__init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 - %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] + %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref, i32 0, i32 0 - store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align 8 + store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__init_grandparent(%grandparent* %__grandparent) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__grandparent2 = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent2, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 - %deref = load %grandparent*, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] + %deref = load %grandparent*, %grandparent** %self, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1279,9 +1279,9 @@ fn complex_array_access_generated() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__user_init_grandparent(%grandparent* %__grandparent) ret void @@ -1396,8 +1396,8 @@ fn function_block_method_debug_info() { define void @foo(%foo* %0) !dbg !20 { entry: call void @llvm.dbg.declare(metadata %foo* %0, metadata !24, metadata !DIExpression()), !dbg !25 - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void, !dbg !25 } @@ -1405,8 +1405,8 @@ fn function_block_method_debug_info() { define void @foo__baz(%foo* %0) !dbg !26 { entry: call void @llvm.dbg.declare(metadata %foo* %0, metadata !27, metadata !DIExpression()), !dbg !28 - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void, !dbg !28 } @@ -1414,8 +1414,8 @@ fn function_block_method_debug_info() { define void @bar(%bar* %0) !dbg !29 { entry: call void @llvm.dbg.declare(metadata %bar* %0, metadata !32, metadata !DIExpression()), !dbg !33 - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 ret void, !dbg !33 } @@ -1425,66 +1425,66 @@ fn function_block_method_debug_info() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %baz = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 - %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] + %deref1 = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %baz = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__init_foo(%foo* %__foo) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__foo2 = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %foo, %foo* %__foo2, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %__foo = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 0 call void @__user_init_foo(%foo* %__foo) ret void @@ -1492,15 +1492,15 @@ fn function_block_method_debug_info() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } @@ -1644,8 +1644,8 @@ END_FUNCTION define void @parent(%parent* %0) !dbg !30 { entry: call void @llvm.dbg.declare(metadata %parent* %0, metadata !34, metadata !DIExpression()), !dbg !35 - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %a = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void, !dbg !35 @@ -1654,8 +1654,8 @@ END_FUNCTION define void @child(%child* %0) !dbg !36 { entry: call void @llvm.dbg.declare(metadata %child* %0, metadata !39, metadata !DIExpression()), !dbg !40 - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %b = getelementptr inbounds %child, %child* %0, i32 0, i32 1 ret void, !dbg !40 @@ -1664,8 +1664,8 @@ END_FUNCTION define void @grandchild(%grandchild* %0) !dbg !41 { entry: call void @llvm.dbg.declare(metadata %grandchild* %0, metadata !44, metadata !DIExpression()), !dbg !45 - %this = alloca %grandchild*, align 8 - store %grandchild* %0, %grandchild** %this, align 8 + %this = alloca %grandchild*, align [filtered] + store %grandchild* %0, %grandchild** %this, align [filtered] %__child = getelementptr inbounds %grandchild, %grandchild* %0, i32 0, i32 0 %c = getelementptr inbounds %grandchild, %grandchild* %0, i32 0, i32 1 ret void, !dbg !45 @@ -1673,33 +1673,33 @@ END_FUNCTION define i32 @main() !dbg !46 { entry: - %main = alloca i32, align 4 - %array_of_parent = alloca [3 x %parent], align 8 - %array_of_child = alloca [3 x %child], align 8 - %array_of_grandchild = alloca [3 x %grandchild], align 8 - %parent1 = alloca %parent, align 8 - %child1 = alloca %child, align 8 - %grandchild1 = alloca %grandchild, align 8 + %main = alloca i32, align [filtered] + %array_of_parent = alloca [3 x %parent], align [filtered] + %array_of_child = alloca [3 x %child], align [filtered] + %array_of_grandchild = alloca [3 x %grandchild], align [filtered] + %parent1 = alloca %parent, align [filtered] + %child1 = alloca %child, align [filtered] + %grandchild1 = alloca %grandchild, align [filtered] call void @llvm.dbg.declare(metadata [3 x %parent]* %array_of_parent, metadata !49, metadata !DIExpression()), !dbg !53 %0 = bitcast [3 x %parent]* %array_of_parent to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([3 x %parent]* getelementptr ([3 x %parent], [3 x %parent]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([3 x %parent]* getelementptr ([3 x %parent], [3 x %parent]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata [3 x %child]* %array_of_child, metadata !54, metadata !DIExpression()), !dbg !56 %1 = bitcast [3 x %child]* %array_of_child to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([3 x %child]* getelementptr ([3 x %child], [3 x %child]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([3 x %child]* getelementptr ([3 x %child], [3 x %child]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata [3 x %grandchild]* %array_of_grandchild, metadata !57, metadata !DIExpression()), !dbg !59 %2 = bitcast [3 x %grandchild]* %array_of_grandchild to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([3 x %grandchild]* getelementptr ([3 x %grandchild], [3 x %grandchild]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([3 x %grandchild]* getelementptr ([3 x %grandchild], [3 x %grandchild]* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata %parent* %parent1, metadata !60, metadata !DIExpression()), !dbg !61 %3 = bitcast %parent* %parent1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %3, i8* align 1 bitcast (%parent* @__parent__init to i8*), i64 ptrtoint (%parent* getelementptr (%parent, %parent* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %3, i8* align [filtered] bitcast (%parent* @__parent__init to i8*), i64 ptrtoint (%parent* getelementptr (%parent, %parent* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata %child* %child1, metadata !62, metadata !DIExpression()), !dbg !63 %4 = bitcast %child* %child1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %4, i8* align 1 bitcast (%child* @__child__init to i8*), i64 ptrtoint (%child* getelementptr (%child, %child* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %4, i8* align [filtered] bitcast (%child* @__child__init to i8*), i64 ptrtoint (%child* getelementptr (%child, %child* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata %grandchild* %grandchild1, metadata !64, metadata !DIExpression()), !dbg !65 %5 = bitcast %grandchild* %grandchild1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %5, i8* align 1 bitcast (%grandchild* @__grandchild__init to i8*), i64 ptrtoint (%grandchild* getelementptr (%grandchild, %grandchild* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %5, i8* align [filtered] bitcast (%grandchild* @__grandchild__init to i8*), i64 ptrtoint (%grandchild* getelementptr (%grandchild, %grandchild* null, i32 1) to i64), i1 false) call void @llvm.dbg.declare(metadata i32* %main, metadata !66, metadata !DIExpression()), !dbg !67 - store i32 0, i32* %main, align 4 + store i32 0, i32* %main, align [filtered] call void @__init_parent(%parent* %parent1), !dbg !68 call void @__init_child(%child* %child1), !dbg !68 call void @__init_grandchild(%grandchild* %grandchild1), !dbg !68 @@ -1707,88 +1707,88 @@ END_FUNCTION call void @__user_init_child(%child* %child1), !dbg !68 call void @__user_init_grandchild(%grandchild* %grandchild1), !dbg !68 %a = getelementptr inbounds %parent, %parent* %parent1, i32 0, i32 1, !dbg !69 - store i32 1, i32* %a, align 4, !dbg !69 + store i32 1, i32* %a, align [filtered], !dbg !69 %__parent = getelementptr inbounds %child, %child* %child1, i32 0, i32 0, !dbg !70 %a1 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1, !dbg !70 - store i32 2, i32* %a1, align 4, !dbg !70 + store i32 2, i32* %a1, align [filtered], !dbg !70 %b = getelementptr inbounds %child, %child* %child1, i32 0, i32 1, !dbg !71 - store i32 3, i32* %b, align 4, !dbg !71 + store i32 3, i32* %b, align [filtered], !dbg !71 %__child = getelementptr inbounds %grandchild, %grandchild* %grandchild1, i32 0, i32 0, !dbg !72 %__parent2 = getelementptr inbounds %child, %child* %__child, i32 0, i32 0, !dbg !72 %a3 = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 1, !dbg !72 - store i32 4, i32* %a3, align 4, !dbg !72 + store i32 4, i32* %a3, align [filtered], !dbg !72 %__child4 = getelementptr inbounds %grandchild, %grandchild* %grandchild1, i32 0, i32 0, !dbg !73 %b5 = getelementptr inbounds %child, %child* %__child4, i32 0, i32 1, !dbg !73 - store i32 5, i32* %b5, align 4, !dbg !73 + store i32 5, i32* %b5, align [filtered], !dbg !73 %c = getelementptr inbounds %grandchild, %grandchild* %grandchild1, i32 0, i32 1, !dbg !74 - store i32 6, i32* %c, align 4, !dbg !74 + store i32 6, i32* %c, align [filtered], !dbg !74 %tmpVar = getelementptr inbounds [3 x %parent], [3 x %parent]* %array_of_parent, i32 0, i32 0, !dbg !75 %a6 = getelementptr inbounds %parent, %parent* %tmpVar, i32 0, i32 1, !dbg !75 - store i32 7, i32* %a6, align 4, !dbg !75 + store i32 7, i32* %a6, align [filtered], !dbg !75 %tmpVar7 = getelementptr inbounds [3 x %child], [3 x %child]* %array_of_child, i32 0, i32 0, !dbg !76 %__parent8 = getelementptr inbounds %child, %child* %tmpVar7, i32 0, i32 0, !dbg !76 %a9 = getelementptr inbounds %parent, %parent* %__parent8, i32 0, i32 1, !dbg !76 - store i32 8, i32* %a9, align 4, !dbg !76 + store i32 8, i32* %a9, align [filtered], !dbg !76 %tmpVar10 = getelementptr inbounds [3 x %child], [3 x %child]* %array_of_child, i32 0, i32 0, !dbg !77 %b11 = getelementptr inbounds %child, %child* %tmpVar10, i32 0, i32 1, !dbg !77 - store i32 9, i32* %b11, align 4, !dbg !77 + store i32 9, i32* %b11, align [filtered], !dbg !77 %tmpVar12 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 0, !dbg !78 %__child13 = getelementptr inbounds %grandchild, %grandchild* %tmpVar12, i32 0, i32 0, !dbg !78 %__parent14 = getelementptr inbounds %child, %child* %__child13, i32 0, i32 0, !dbg !78 %a15 = getelementptr inbounds %parent, %parent* %__parent14, i32 0, i32 1, !dbg !78 - store i32 10, i32* %a15, align 4, !dbg !78 + store i32 10, i32* %a15, align [filtered], !dbg !78 %tmpVar16 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 0, !dbg !79 %__child17 = getelementptr inbounds %grandchild, %grandchild* %tmpVar16, i32 0, i32 0, !dbg !79 %b18 = getelementptr inbounds %child, %child* %__child17, i32 0, i32 1, !dbg !79 - store i32 11, i32* %b18, align 4, !dbg !79 + store i32 11, i32* %b18, align [filtered], !dbg !79 %tmpVar19 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 0, !dbg !80 %c20 = getelementptr inbounds %grandchild, %grandchild* %tmpVar19, i32 0, i32 1, !dbg !80 - store i32 12, i32* %c20, align 4, !dbg !80 + store i32 12, i32* %c20, align [filtered], !dbg !80 %tmpVar21 = getelementptr inbounds [3 x %parent], [3 x %parent]* %array_of_parent, i32 0, i32 1, !dbg !81 %a22 = getelementptr inbounds %parent, %parent* %tmpVar21, i32 0, i32 1, !dbg !81 - store i32 13, i32* %a22, align 4, !dbg !81 + store i32 13, i32* %a22, align [filtered], !dbg !81 %tmpVar23 = getelementptr inbounds [3 x %child], [3 x %child]* %array_of_child, i32 0, i32 1, !dbg !82 %__parent24 = getelementptr inbounds %child, %child* %tmpVar23, i32 0, i32 0, !dbg !82 %a25 = getelementptr inbounds %parent, %parent* %__parent24, i32 0, i32 1, !dbg !82 - store i32 14, i32* %a25, align 4, !dbg !82 + store i32 14, i32* %a25, align [filtered], !dbg !82 %tmpVar26 = getelementptr inbounds [3 x %child], [3 x %child]* %array_of_child, i32 0, i32 1, !dbg !83 %b27 = getelementptr inbounds %child, %child* %tmpVar26, i32 0, i32 1, !dbg !83 - store i32 15, i32* %b27, align 4, !dbg !83 + store i32 15, i32* %b27, align [filtered], !dbg !83 %tmpVar28 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 1, !dbg !84 %__child29 = getelementptr inbounds %grandchild, %grandchild* %tmpVar28, i32 0, i32 0, !dbg !84 %__parent30 = getelementptr inbounds %child, %child* %__child29, i32 0, i32 0, !dbg !84 %a31 = getelementptr inbounds %parent, %parent* %__parent30, i32 0, i32 1, !dbg !84 - store i32 16, i32* %a31, align 4, !dbg !84 + store i32 16, i32* %a31, align [filtered], !dbg !84 %tmpVar32 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 1, !dbg !85 %__child33 = getelementptr inbounds %grandchild, %grandchild* %tmpVar32, i32 0, i32 0, !dbg !85 %b34 = getelementptr inbounds %child, %child* %__child33, i32 0, i32 1, !dbg !85 - store i32 17, i32* %b34, align 4, !dbg !85 + store i32 17, i32* %b34, align [filtered], !dbg !85 %tmpVar35 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 1, !dbg !86 %c36 = getelementptr inbounds %grandchild, %grandchild* %tmpVar35, i32 0, i32 1, !dbg !86 - store i32 18, i32* %c36, align 4, !dbg !86 + store i32 18, i32* %c36, align [filtered], !dbg !86 %tmpVar37 = getelementptr inbounds [3 x %parent], [3 x %parent]* %array_of_parent, i32 0, i32 2, !dbg !87 %a38 = getelementptr inbounds %parent, %parent* %tmpVar37, i32 0, i32 1, !dbg !87 - store i32 19, i32* %a38, align 4, !dbg !87 + store i32 19, i32* %a38, align [filtered], !dbg !87 %tmpVar39 = getelementptr inbounds [3 x %child], [3 x %child]* %array_of_child, i32 0, i32 2, !dbg !88 %__parent40 = getelementptr inbounds %child, %child* %tmpVar39, i32 0, i32 0, !dbg !88 %a41 = getelementptr inbounds %parent, %parent* %__parent40, i32 0, i32 1, !dbg !88 - store i32 20, i32* %a41, align 4, !dbg !88 + store i32 20, i32* %a41, align [filtered], !dbg !88 %tmpVar42 = getelementptr inbounds [3 x %child], [3 x %child]* %array_of_child, i32 0, i32 2, !dbg !89 %b43 = getelementptr inbounds %child, %child* %tmpVar42, i32 0, i32 1, !dbg !89 - store i32 21, i32* %b43, align 4, !dbg !89 + store i32 21, i32* %b43, align [filtered], !dbg !89 %tmpVar44 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 2, !dbg !90 %__child45 = getelementptr inbounds %grandchild, %grandchild* %tmpVar44, i32 0, i32 0, !dbg !90 %__parent46 = getelementptr inbounds %child, %child* %__child45, i32 0, i32 0, !dbg !90 %a47 = getelementptr inbounds %parent, %parent* %__parent46, i32 0, i32 1, !dbg !90 - store i32 22, i32* %a47, align 4, !dbg !90 + store i32 22, i32* %a47, align [filtered], !dbg !90 %tmpVar48 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 2, !dbg !91 %__child49 = getelementptr inbounds %grandchild, %grandchild* %tmpVar48, i32 0, i32 0, !dbg !91 %b50 = getelementptr inbounds %child, %child* %__child49, i32 0, i32 1, !dbg !91 - store i32 23, i32* %b50, align 4, !dbg !91 + store i32 23, i32* %b50, align [filtered], !dbg !91 %tmpVar51 = getelementptr inbounds [3 x %grandchild], [3 x %grandchild]* %array_of_grandchild, i32 0, i32 2, !dbg !92 %c52 = getelementptr inbounds %grandchild, %grandchild* %tmpVar51, i32 0, i32 1, !dbg !92 - store i32 24, i32* %c52, align 4, !dbg !92 - %main_ret = load i32, i32* %main, align 4, !dbg !93 + store i32 24, i32* %c52, align [filtered], !dbg !92 + %main_ret = load i32, i32* %main, align [filtered], !dbg !93 ret i32 %main_ret, !dbg !93 } @@ -1803,106 +1803,106 @@ END_FUNCTION define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init___vtable_grandchild(%__vtable_grandchild* %0) { entry: - %self = alloca %__vtable_grandchild*, align 8 - store %__vtable_grandchild* %0, %__vtable_grandchild** %self, align 8 - %deref = load %__vtable_grandchild*, %__vtable_grandchild** %self, align 8 + %self = alloca %__vtable_grandchild*, align [filtered] + store %__vtable_grandchild* %0, %__vtable_grandchild** %self, align [filtered] + %deref = load %__vtable_grandchild*, %__vtable_grandchild** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandchild, %__vtable_grandchild* %deref, i32 0, i32 0 - store void (%grandchild*)* @grandchild, void (%grandchild*)** %__body, align 8 + store void (%grandchild*)* @grandchild, void (%grandchild*)** %__body, align [filtered] ret void } define void @__init_grandchild(%grandchild* %0) { entry: - %self = alloca %grandchild*, align 8 - store %grandchild* %0, %grandchild** %self, align 8 - %deref = load %grandchild*, %grandchild** %self, align 8 + %self = alloca %grandchild*, align [filtered] + store %grandchild* %0, %grandchild** %self, align [filtered] + %deref = load %grandchild*, %grandchild** %self, align [filtered] %__child = getelementptr inbounds %grandchild, %grandchild* %deref, i32 0, i32 0 call void @__init_child(%child* %__child) - %deref1 = load %grandchild*, %grandchild** %self, align 8 + %deref1 = load %grandchild*, %grandchild** %self, align [filtered] %__child2 = getelementptr inbounds %grandchild, %grandchild* %deref1, i32 0, i32 0 %__parent = getelementptr inbounds %child, %child* %__child2, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 0 - store i32* bitcast (%__vtable_grandchild* @__vtable_grandchild_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandchild* @__vtable_grandchild_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init___vtable_grandchild(%__vtable_grandchild* %0) { entry: - %self = alloca %__vtable_grandchild*, align 8 - store %__vtable_grandchild* %0, %__vtable_grandchild** %self, align 8 + %self = alloca %__vtable_grandchild*, align [filtered] + store %__vtable_grandchild* %0, %__vtable_grandchild** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1910,9 +1910,9 @@ END_FUNCTION define void @__user_init_grandchild(%grandchild* %0) { entry: - %self = alloca %grandchild*, align 8 - store %grandchild* %0, %grandchild** %self, align 8 - %deref = load %grandchild*, %grandchild** %self, align 8 + %self = alloca %grandchild*, align [filtered] + store %grandchild* %0, %grandchild** %self, align [filtered] + %deref = load %grandchild*, %grandchild** %self, align [filtered] %__child = getelementptr inbounds %grandchild, %grandchild* %deref, i32 0, i32 0 call void @__user_init_child(%child* %__child) ret void diff --git a/src/codegen/tests/oop_tests/super_tests.rs b/src/codegen/tests/oop_tests/super_tests.rs index bc64fd4471..907898ddd0 100644 --- a/src/codegen/tests/oop_tests/super_tests.rs +++ b/src/codegen/tests/oop_tests/super_tests.rs @@ -38,8 +38,8 @@ fn super_keyword_basic_access() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -47,77 +47,77 @@ fn super_keyword_basic_access() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - store i16 20, i16* %x, align 2 + store i16 20, i16* %x, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -125,8 +125,8 @@ fn super_keyword_basic_access() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -181,8 +181,8 @@ fn super_without_deref() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -190,77 +190,77 @@ fn super_without_deref() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %p = getelementptr inbounds %child, %child* %0, i32 0, i32 1 - store %parent* %__parent, %parent** %p, align 8 + store %parent* %__parent, %parent** %p, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -268,8 +268,8 @@ fn super_without_deref() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -331,8 +331,8 @@ fn super_in_method_calls() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %value = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -340,131 +340,131 @@ fn super_in_method_calls() { define i16 @parent__process(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %value = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 - %parent.process = alloca i16, align 2 - store i16 0, i16* %parent.process, align 2 - %load_value = load i16, i16* %value, align 2 + %parent.process = alloca i16, align [filtered] + store i16 0, i16* %parent.process, align [filtered] + %load_value = load i16, i16* %value, align [filtered] %1 = sext i16 %load_value to i32 %tmpVar = mul i32 %1, 2 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %parent.process, align 2 - %parent__process_ret = load i16, i16* %parent.process, align 2 + store i16 %2, i16* %parent.process, align [filtered] + %parent__process_ret = load i16, i16* %parent.process, align [filtered] ret i16 %parent__process_ret } define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define i16 @child__process(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 - %child.process = alloca i16, align 2 - store i16 0, i16* %child.process, align 2 + %child.process = alloca i16, align [filtered] + store i16 0, i16* %child.process, align [filtered] %value = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_value = load i16, i16* %value, align 2 + %load_value = load i16, i16* %value, align [filtered] %1 = sext i16 %load_value to i32 %tmpVar = add i32 %1, 5 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %child.process, align 2 - %child__process_ret = load i16, i16* %child.process, align 2 + store i16 %2, i16* %child.process, align [filtered] + %child__process_ret = load i16, i16* %child.process, align [filtered] ret i16 %child__process_ret } define i16 @child__test(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 - %child.test = alloca i16, align 2 - store i16 0, i16* %child.test, align 2 + %child.test = alloca i16, align [filtered] + store i16 0, i16* %child.test, align [filtered] %call = call i16 @parent__process(%parent* %__parent) - store i16 %call, i16* %child.test, align 2 - %child__test_ret = load i16, i16* %child.test, align 2 + store i16 %call, i16* %child.test, align [filtered] + %child__test_ret = load i16, i16* %child.test, align [filtered] ret i16 %child__test_ret } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 - %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] + %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %process = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref1, i32 0, i32 1 - store i16 (%parent*)* @parent__process, i16 (%parent*)** %process, align 8 + store i16 (%parent*)* @parent__process, i16 (%parent*)** %process, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %process = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store i16 (%child*)* @child__process, i16 (%child*)** %process, align 8 - %deref2 = load %__vtable_child*, %__vtable_child** %self, align 8 + store i16 (%child*)* @child__process, i16 (%child*)** %process, align [filtered] + %deref2 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %test = getelementptr inbounds %__vtable_child, %__vtable_child* %deref2, i32 0, i32 2 - store i16 (%child*)* @child__test, i16 (%child*)** %test, align 8 + store i16 (%child*)* @child__test, i16 (%child*)** %test, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -472,8 +472,8 @@ fn super_in_method_calls() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -529,8 +529,8 @@ fn super_in_complex_expressions() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %x = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %y = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -539,86 +539,86 @@ fn super_in_complex_expressions() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %z = getelementptr inbounds %child, %child* %0, i32 0, i32 1 %x = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x to i32 %y = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %2 = sext i16 %load_y to i32 %tmpVar = mul i32 %2, 2 %tmpVar1 = add i32 %1, %tmpVar %3 = trunc i32 %tmpVar1 to i16 - store i16 %3, i16* %z, align 2 + store i16 %3, i16* %z, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -626,8 +626,8 @@ fn super_in_complex_expressions() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -683,8 +683,8 @@ fn super_with_array_access() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %arr = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -692,83 +692,83 @@ fn super_with_array_access() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %index = getelementptr inbounds %child, %child* %0, i32 0, i32 1 %arr = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_index = load i16, i16* %index, align 2 + %load_index = load i16, i16* %index, align [filtered] %1 = sext i16 %load_index to i32 %tmpVar = mul i32 1, %1 %tmpVar1 = add i32 %tmpVar, 0 %tmpVar2 = getelementptr inbounds [6 x i16], [6 x i16]* %arr, i32 0, i32 %tmpVar1 - store i16 42, i16* %tmpVar2, align 2 + store i16 42, i16* %tmpVar2, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -776,8 +776,8 @@ fn super_with_array_access() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -854,8 +854,8 @@ fn super_in_multi_level_inheritance() { define void @grandparent(%grandparent* %0) { entry: - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 %g_val = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 1 ret void @@ -863,22 +863,22 @@ fn super_in_multi_level_inheritance() { define i16 @grandparent__gp_method(%grandparent* %0) { entry: - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 %g_val = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 1 - %grandparent.gp_method = alloca i16, align 2 - store i16 0, i16* %grandparent.gp_method, align 2 - %load_g_val = load i16, i16* %g_val, align 2 - store i16 %load_g_val, i16* %grandparent.gp_method, align 2 - %grandparent__gp_method_ret = load i16, i16* %grandparent.gp_method, align 2 + %grandparent.gp_method = alloca i16, align [filtered] + store i16 0, i16* %grandparent.gp_method, align [filtered] + %load_g_val = load i16, i16* %g_val, align [filtered] + store i16 %load_g_val, i16* %grandparent.gp_method, align [filtered] + %grandparent__gp_method_ret = load i16, i16* %grandparent.gp_method, align [filtered] ret i16 %grandparent__gp_method_ret } define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %p_val = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -886,27 +886,27 @@ fn super_in_multi_level_inheritance() { define i16 @parent__p_method(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %p_val = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 - %parent.p_method = alloca i16, align 2 - store i16 0, i16* %parent.p_method, align 2 - %load_p_val = load i16, i16* %p_val, align 2 + %parent.p_method = alloca i16, align [filtered] + store i16 0, i16* %parent.p_method, align [filtered] + %load_p_val = load i16, i16* %p_val, align [filtered] %1 = sext i16 %load_p_val to i32 %call = call i16 @grandparent__gp_method(%grandparent* %__grandparent) %2 = sext i16 %call to i32 %tmpVar = add i32 %1, %2 %3 = trunc i32 %tmpVar to i16 - store i16 %3, i16* %parent.p_method, align 2 - %parent__p_method_ret = load i16, i16* %parent.p_method, align 2 + store i16 %3, i16* %parent.p_method, align [filtered] + %parent__p_method_ret = load i16, i16* %parent.p_method, align [filtered] ret i16 %parent__p_method_ret } define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %c_val = getelementptr inbounds %child, %child* %0, i32 0, i32 1 ret void @@ -914,138 +914,138 @@ fn super_in_multi_level_inheritance() { define i16 @child__test(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %c_val = getelementptr inbounds %child, %child* %0, i32 0, i32 1 - %child.test = alloca i16, align 2 - store i16 0, i16* %child.test, align 2 + %child.test = alloca i16, align [filtered] + store i16 0, i16* %child.test, align [filtered] %call = call i16 @parent__p_method(%parent* %__parent) - store i16 %call, i16* %child.test, align 2 - %child__test_ret = load i16, i16* %child.test, align 2 + store i16 %call, i16* %child.test, align [filtered] + %child__test_ret = load i16, i16* %child.test, align [filtered] ret i16 %child__test_ret } define void @__init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 - %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] + %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref, i32 0, i32 0 - store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align 8 - %deref1 = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align [filtered] + %deref1 = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %gp_method = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref1, i32 0, i32 1 - store i16 (%grandparent*)* @grandparent__gp_method, i16 (%grandparent*)** %gp_method, align 8 + store i16 (%grandparent*)* @grandparent__gp_method, i16 (%grandparent*)** %gp_method, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 - %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] + %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %gp_method = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref1, i32 0, i32 1 - store i16 (%grandparent*)* @grandparent__gp_method, i16 (%grandparent*)** %gp_method, align 8 - %deref2 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store i16 (%grandparent*)* @grandparent__gp_method, i16 (%grandparent*)** %gp_method, align [filtered] + %deref2 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %p_method = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref2, i32 0, i32 2 - store i16 (%parent*)* @parent__p_method, i16 (%parent*)** %p_method, align 8 + store i16 (%parent*)* @parent__p_method, i16 (%parent*)** %p_method, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %gp_method = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store i16 (%grandparent*)* @grandparent__gp_method, i16 (%grandparent*)** %gp_method, align 8 - %deref2 = load %__vtable_child*, %__vtable_child** %self, align 8 + store i16 (%grandparent*)* @grandparent__gp_method, i16 (%grandparent*)** %gp_method, align [filtered] + %deref2 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %p_method = getelementptr inbounds %__vtable_child, %__vtable_child* %deref2, i32 0, i32 2 - store i16 (%parent*)* @parent__p_method, i16 (%parent*)** %p_method, align 8 - %deref3 = load %__vtable_child*, %__vtable_child** %self, align 8 + store i16 (%parent*)* @parent__p_method, i16 (%parent*)** %p_method, align [filtered] + %deref3 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %test = getelementptr inbounds %__vtable_child, %__vtable_child* %deref3, i32 0, i32 3 - store i16 (%child*)* @child__test, i16 (%child*)** %test, align 8 + store i16 (%child*)* @child__test, i16 (%child*)** %test, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__init_grandparent(%grandparent* %__grandparent) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__grandparent2 = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent2, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 - %deref = load %grandparent*, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] + %deref = load %grandparent*, %grandparent** %self, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1053,9 +1053,9 @@ fn super_in_multi_level_inheritance() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__user_init_grandparent(%grandparent* %__grandparent) ret void @@ -1114,8 +1114,8 @@ fn super_with_pointer_operations() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %val = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %ptr = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -1124,86 +1124,86 @@ fn super_with_pointer_operations() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %ptr = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 %val = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - store i16* %val, i16** %ptr, align 8 + store i16* %val, i16** %ptr, align [filtered] %val1 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %ptr2 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %deref = load i16*, i16** %ptr2, align 8 - %load_tmpVar = load i16, i16* %deref, align 2 + %deref = load i16*, i16** %ptr2, align [filtered] + %load_tmpVar = load i16, i16* %deref, align [filtered] %1 = sext i16 %load_tmpVar to i32 %tmpVar = add i32 %1, 5 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %val1, align 2 + store i16 %2, i16* %val1, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1211,8 +1211,8 @@ fn super_with_pointer_operations() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -1277,8 +1277,8 @@ fn super_in_conditionals() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %threshold = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %value = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -1287,22 +1287,22 @@ fn super_in_conditionals() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define void @child__test(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %value = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_value = load i16, i16* %value, align 2 + %load_value = load i16, i16* %value, align [filtered] %1 = sext i16 %load_value to i32 %threshold = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_threshold = load i16, i16* %threshold, align 2 + %load_threshold = load i16, i16* %threshold, align [filtered] %2 = sext i16 %load_threshold to i32 %tmpVar = icmp sgt i32 %1, %2 %3 = zext i1 %tmpVar to i8 @@ -1311,17 +1311,17 @@ fn super_in_conditionals() { condition_body: ; preds = %entry %value1 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - store i16 0, i16* %value1, align 2 + store i16 0, i16* %value1, align [filtered] br label %continue else: ; preds = %entry %value2 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - store i16 100, i16* %value2, align 2 + store i16 100, i16* %value2, align [filtered] br label %continue continue: ; preds = %else, %condition_body %value4 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_value5 = load i16, i16* %value4, align 2 + %load_value5 = load i16, i16* %value4, align [filtered] switch i16 %load_value5, label %else6 [ i16 10, label %case i16 20, label %case8 @@ -1329,12 +1329,12 @@ fn super_in_conditionals() { case: ; preds = %continue %threshold7 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - store i16 40, i16* %threshold7, align 2 + store i16 40, i16* %threshold7, align [filtered] br label %continue3 case8: ; preds = %continue %threshold9 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - store i16 60, i16* %threshold9, align 2 + store i16 60, i16* %threshold9, align [filtered] br label %continue3 else6: ; preds = %continue @@ -1346,70 +1346,70 @@ fn super_in_conditionals() { define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %test = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store void (%child*)* @child__test, void (%child*)** %test, align 8 + store void (%child*)* @child__test, void (%child*)** %test, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1417,8 +1417,8 @@ fn super_in_conditionals() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -1473,8 +1473,8 @@ fn super_with_const_variables() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %MAX_VALUE = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %current = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -1483,77 +1483,77 @@ fn super_with_const_variables() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %current = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - store i16 50, i16* %current, align 2 + store i16 50, i16* %current, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1561,8 +1561,8 @@ fn super_with_const_variables() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -1631,8 +1631,8 @@ fn super_as_function_parameter() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %val = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -1640,16 +1640,16 @@ fn super_as_function_parameter() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define void @child__test(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %call = call i16 @process_ref(%parent* %__parent) %call1 = call i16 @process_val(%parent* %__parent) @@ -1658,28 +1658,28 @@ fn super_as_function_parameter() { define i16 @process_ref(%parent* %0) { entry: - %process_ref = alloca i16, align 2 - %ref = alloca %parent*, align 8 - store %parent* %0, %parent** %ref, align 8 - store i16 0, i16* %process_ref, align 2 - %deref = load %parent*, %parent** %ref, align 8 + %process_ref = alloca i16, align [filtered] + %ref = alloca %parent*, align [filtered] + store %parent* %0, %parent** %ref, align [filtered] + store i16 0, i16* %process_ref, align [filtered] + %deref = load %parent*, %parent** %ref, align [filtered] %val = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 1 - store i16 20, i16* %val, align 2 - %process_ref_ret = load i16, i16* %process_ref, align 2 + store i16 20, i16* %val, align [filtered] + %process_ref_ret = load i16, i16* %process_ref, align [filtered] ret i16 %process_ref_ret } define i16 @process_val(%parent* %0) { entry: - %process_val = alloca i16, align 2 - %val = alloca %parent, align 8 + %process_val = alloca i16, align [filtered] + %val = alloca %parent, align [filtered] %1 = bitcast %parent* %val to i8* %2 = bitcast %parent* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%parent* getelementptr (%parent, %parent* null, i32 1) to i64), i1 false) - store i16 0, i16* %process_val, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%parent* getelementptr (%parent, %parent* null, i32 1) to i64), i1 false) + store i16 0, i16* %process_val, align [filtered] %val1 = getelementptr inbounds %parent, %parent* %val, i32 0, i32 1 - store i16 30, i16* %val1, align 2 - %process_val_ret = load i16, i16* %process_val, align 2 + store i16 30, i16* %val1, align [filtered] + %process_val_ret = load i16, i16* %process_val, align [filtered] ret i16 %process_val_ret } @@ -1688,70 +1688,70 @@ fn super_as_function_parameter() { define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %test = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store void (%child*)* @child__test, void (%child*)** %test, align 8 + store void (%child*)* @child__test, void (%child*)** %test, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1759,8 +1759,8 @@ fn super_as_function_parameter() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -1822,8 +1822,8 @@ fn super_with_deeply_nested_expressions() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %a = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -1833,140 +1833,140 @@ fn super_with_deeply_nested_expressions() { define i16 @parent__calc(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %a = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %b = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 %c = getelementptr inbounds %parent, %parent* %0, i32 0, i32 3 - %parent.calc = alloca i16, align 2 - store i16 0, i16* %parent.calc, align 2 - %load_a = load i16, i16* %a, align 2 + %parent.calc = alloca i16, align [filtered] + store i16 0, i16* %parent.calc, align [filtered] + %load_a = load i16, i16* %a, align [filtered] %1 = sext i16 %load_a to i32 - %load_b = load i16, i16* %b, align 2 + %load_b = load i16, i16* %b, align [filtered] %2 = sext i16 %load_b to i32 - %load_c = load i16, i16* %c, align 2 + %load_c = load i16, i16* %c, align [filtered] %3 = sext i16 %load_c to i32 %tmpVar = mul i32 %2, %3 %tmpVar1 = add i32 %1, %tmpVar %4 = trunc i32 %tmpVar1 to i16 - store i16 %4, i16* %parent.calc, align 2 - %parent__calc_ret = load i16, i16* %parent.calc, align 2 + store i16 %4, i16* %parent.calc, align [filtered] + %parent__calc_ret = load i16, i16* %parent.calc, align [filtered] ret i16 %parent__calc_ret } define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define i16 @child__test(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 - %child.test = alloca i16, align 2 - store i16 0, i16* %child.test, align 2 + %child.test = alloca i16, align [filtered] + store i16 0, i16* %child.test, align [filtered] %a = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_a = load i16, i16* %a, align 2 + %load_a = load i16, i16* %a, align [filtered] %1 = sext i16 %load_a to i32 %b = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_b = load i16, i16* %b, align 2 + %load_b = load i16, i16* %b, align [filtered] %2 = sext i16 %load_b to i32 %tmpVar = add i32 %1, %2 %c = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 3 - %load_c = load i16, i16* %c, align 2 + %load_c = load i16, i16* %c, align [filtered] %3 = sext i16 %load_c to i32 %tmpVar1 = mul i32 %tmpVar, %3 %call = call i16 @parent__calc(%parent* %__parent) %4 = sext i16 %call to i32 %tmpVar2 = add i32 %tmpVar1, %4 %a3 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_a4 = load i16, i16* %a3, align 2 + %load_a4 = load i16, i16* %a3, align [filtered] %5 = sext i16 %load_a4 to i32 %tmpVar5 = add i32 %5, 1 %tmpVar6 = sdiv i32 %tmpVar2, %tmpVar5 %6 = trunc i32 %tmpVar6 to i16 - store i16 %6, i16* %child.test, align 2 - %child__test_ret = load i16, i16* %child.test, align 2 + store i16 %6, i16* %child.test, align [filtered] + %child__test_ret = load i16, i16* %child.test, align [filtered] ret i16 %child__test_ret } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 - %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] + %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %calc = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref1, i32 0, i32 1 - store i16 (%parent*)* @parent__calc, i16 (%parent*)** %calc, align 8 + store i16 (%parent*)* @parent__calc, i16 (%parent*)** %calc, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %calc = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store i16 (%parent*)* @parent__calc, i16 (%parent*)** %calc, align 8 - %deref2 = load %__vtable_child*, %__vtable_child** %self, align 8 + store i16 (%parent*)* @parent__calc, i16 (%parent*)** %calc, align [filtered] + %deref2 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %test = getelementptr inbounds %__vtable_child, %__vtable_child* %deref2, i32 0, i32 2 - store i16 (%child*)* @child__test, i16 (%child*)** %test, align 8 + store i16 (%child*)* @child__test, i16 (%child*)** %test, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -1974,8 +1974,8 @@ fn super_with_deeply_nested_expressions() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -2054,8 +2054,8 @@ fn super_in_loop_constructs() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %counter = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %arr = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -2064,74 +2064,74 @@ fn super_in_loop_constructs() { define void @parent__increment(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %counter = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %arr = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 - %load_counter = load i16, i16* %counter, align 2 + %load_counter = load i16, i16* %counter, align [filtered] %1 = sext i16 %load_counter to i32 %tmpVar = add i32 %1, 1 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %counter, align 2 + store i16 %2, i16* %counter, align [filtered] ret void } define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define void @child__process(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 - %i = alloca i16, align 2 - %sum = alloca i16, align 2 - store i16 0, i16* %i, align 2 - store i16 0, i16* %sum, align 2 - store i16 0, i16* %i, align 2 + %i = alloca i16, align [filtered] + %sum = alloca i16, align [filtered] + store i16 0, i16* %i, align [filtered] + store i16 0, i16* %sum, align [filtered] + store i16 0, i16* %i, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i16, i16* %i, align 2 + %1 = load i16, i16* %i, align [filtered] %2 = sext i16 %1 to i32 %condition = icmp sle i32 %2, 5 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %3 = load i16, i16* %i, align 2 + %3 = load i16, i16* %i, align [filtered] %4 = sext i16 %3 to i32 %condition1 = icmp sge i32 %4, 5 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_sum = load i16, i16* %sum, align 2 + %load_sum = load i16, i16* %sum, align [filtered] %5 = sext i16 %load_sum to i32 %arr = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 - %load_i = load i16, i16* %i, align 2 + %load_i = load i16, i16* %i, align [filtered] %6 = sext i16 %load_i to i32 %tmpVar = mul i32 1, %6 %tmpVar2 = add i32 %tmpVar, 0 %tmpVar3 = getelementptr inbounds [6 x i16], [6 x i16]* %arr, i32 0, i32 %tmpVar2 - %load_tmpVar = load i16, i16* %tmpVar3, align 2 + %load_tmpVar = load i16, i16* %tmpVar3, align [filtered] %7 = sext i16 %load_tmpVar to i32 %tmpVar4 = add i32 %5, %7 %8 = trunc i32 %tmpVar4 to i16 - store i16 %8, i16* %sum, align 2 + store i16 %8, i16* %sum, align [filtered] call void @parent__increment(%parent* %__parent) br label %increment increment: ; preds = %loop - %9 = load i16, i16* %i, align 2 + %9 = load i16, i16* %i, align [filtered] %10 = sext i16 %9 to i32 %next = add i32 1, %10 %11 = trunc i32 %next to i16 - store i16 %11, i16* %i, align 2 + store i16 %11, i16* %i, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle @@ -2142,7 +2142,7 @@ fn super_in_loop_constructs() { while_body: ; preds = %condition_check %counter = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_counter = load i16, i16* %counter, align 2 + %load_counter = load i16, i16* %counter, align [filtered] %12 = sext i16 %load_counter to i32 %tmpVar7 = icmp slt i32 %12, 10 %13 = zext i1 %tmpVar7 to i8 @@ -2169,13 +2169,13 @@ fn super_in_loop_constructs() { while_body10: ; preds = %condition_check9 %counter12 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %counter13 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_counter14 = load i16, i16* %counter13, align 2 + %load_counter14 = load i16, i16* %counter13, align [filtered] %15 = sext i16 %load_counter14 to i32 %tmpVar15 = sub i32 %15, 1 %16 = trunc i32 %tmpVar15 to i16 - store i16 %16, i16* %counter12, align 2 + store i16 %16, i16* %counter12, align [filtered] %counter17 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_counter18 = load i16, i16* %counter17, align 2 + %load_counter18 = load i16, i16* %counter17, align [filtered] %17 = sext i16 %load_counter18 to i32 %tmpVar19 = icmp sle i32 %17, 0 %18 = zext i1 %tmpVar19 to i8 @@ -2197,76 +2197,76 @@ fn super_in_loop_constructs() { define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 - %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] + %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %increment = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref1, i32 0, i32 1 - store void (%parent*)* @parent__increment, void (%parent*)** %increment, align 8 + store void (%parent*)* @parent__increment, void (%parent*)** %increment, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %increment = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store void (%parent*)* @parent__increment, void (%parent*)** %increment, align 8 - %deref2 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%parent*)* @parent__increment, void (%parent*)** %increment, align [filtered] + %deref2 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %process = getelementptr inbounds %__vtable_child, %__vtable_child* %deref2, i32 0, i32 2 - store void (%child*)* @child__process, void (%child*)** %process, align 8 + store void (%child*)* @child__process, void (%child*)** %process, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -2274,8 +2274,8 @@ fn super_in_loop_constructs() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } @@ -2341,183 +2341,183 @@ fn super_with_method_overrides_in_three_levels() { define void @grandparent(%grandparent* %0) { entry: - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 ret void } define i16 @grandparent__calculate(%grandparent* %0) { entry: - %this = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %this, align 8 + %this = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %this, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %0, i32 0, i32 0 - %grandparent.calculate = alloca i16, align 2 - store i16 0, i16* %grandparent.calculate, align 2 - store i16 100, i16* %grandparent.calculate, align 2 - %grandparent__calculate_ret = load i16, i16* %grandparent.calculate, align 2 + %grandparent.calculate = alloca i16, align [filtered] + store i16 0, i16* %grandparent.calculate, align [filtered] + store i16 100, i16* %grandparent.calculate, align [filtered] + %grandparent__calculate_ret = load i16, i16* %grandparent.calculate, align [filtered] ret i16 %grandparent__calculate_ret } define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 ret void } define i16 @parent__calculate(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 - %parent.calculate = alloca i16, align 2 - store i16 0, i16* %parent.calculate, align 2 + %parent.calculate = alloca i16, align [filtered] + store i16 0, i16* %parent.calculate, align [filtered] %call = call i16 @grandparent__calculate(%grandparent* %__grandparent) %1 = sext i16 %call to i32 %tmpVar = add i32 %1, 50 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %parent.calculate, align 2 - %parent__calculate_ret = load i16, i16* %parent.calculate, align 2 + store i16 %2, i16* %parent.calculate, align [filtered] + %parent__calculate_ret = load i16, i16* %parent.calculate, align [filtered] ret i16 %parent__calculate_ret } define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define i16 @child__calculate(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 - %child.calculate = alloca i16, align 2 - store i16 0, i16* %child.calculate, align 2 + %child.calculate = alloca i16, align [filtered] + store i16 0, i16* %child.calculate, align [filtered] %call = call i16 @parent__calculate(%parent* %__parent) %1 = sext i16 %call to i32 %tmpVar = add i32 %1, 25 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %child.calculate, align 2 - %child__calculate_ret = load i16, i16* %child.calculate, align 2 + store i16 %2, i16* %child.calculate, align [filtered] + %child__calculate_ret = load i16, i16* %child.calculate, align [filtered] ret i16 %child__calculate_ret } define void @__init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 - %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] + %deref = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref, i32 0, i32 0 - store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align 8 - %deref1 = load %__vtable_grandparent*, %__vtable_grandparent** %self, align 8 + store void (%grandparent*)* @grandparent, void (%grandparent*)** %__body, align [filtered] + %deref1 = load %__vtable_grandparent*, %__vtable_grandparent** %self, align [filtered] %calculate = getelementptr inbounds %__vtable_grandparent, %__vtable_grandparent* %deref1, i32 0, i32 1 - store i16 (%grandparent*)* @grandparent__calculate, i16 (%grandparent*)** %calculate, align 8 + store i16 (%grandparent*)* @grandparent__calculate, i16 (%grandparent*)** %calculate, align [filtered] ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 - %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] + %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %calculate = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref1, i32 0, i32 1 - store i16 (%parent*)* @parent__calculate, i16 (%parent*)** %calculate, align 8 + store i16 (%parent*)* @parent__calculate, i16 (%parent*)** %calculate, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %calculate = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store i16 (%child*)* @child__calculate, i16 (%child*)** %calculate, align 8 + store i16 (%child*)* @child__calculate, i16 (%child*)** %calculate, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__init_grandparent(%grandparent* %__grandparent) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__grandparent2 = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent2, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 - %deref = load %grandparent*, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] + %deref = load %grandparent*, %grandparent** %self, align [filtered] %__vtable = getelementptr inbounds %grandparent, %grandparent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_grandparent* @__vtable_grandparent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__grandparent = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 %__vtable = getelementptr inbounds %grandparent, %grandparent* %__grandparent, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init_grandparent(%grandparent* %0) { entry: - %self = alloca %grandparent*, align 8 - store %grandparent* %0, %grandparent** %self, align 8 + %self = alloca %grandparent*, align [filtered] + store %grandparent* %0, %grandparent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init___vtable_grandparent(%__vtable_grandparent* %0) { entry: - %self = alloca %__vtable_grandparent*, align 8 - store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align 8 + %self = alloca %__vtable_grandparent*, align [filtered] + store %__vtable_grandparent* %0, %__vtable_grandparent** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -2525,9 +2525,9 @@ fn super_with_method_overrides_in_three_levels() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__grandparent = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 call void @__user_init_grandparent(%grandparent* %__grandparent) ret void @@ -2650,8 +2650,8 @@ fn super_with_structured_types() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %data = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 %arr_data = getelementptr inbounds %parent, %parent* %0, i32 0, i32 2 @@ -2660,52 +2660,52 @@ fn super_with_structured_types() { define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define void @child__test(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 - %local_data = alloca %Complex_Type, align 8 + %local_data = alloca %Complex_Type, align [filtered] %1 = bitcast %Complex_Type* %local_data to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%Complex_Type* @__Complex_Type__init to i8*), i64 ptrtoint (%Complex_Type* getelementptr (%Complex_Type, %Complex_Type* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%Complex_Type* @__Complex_Type__init to i8*), i64 ptrtoint (%Complex_Type* getelementptr (%Complex_Type, %Complex_Type* null, i32 1) to i64), i1 false) call void @__init_complex_type(%Complex_Type* %local_data) call void @__user_init_Complex_Type(%Complex_Type* %local_data) %x = getelementptr inbounds %Complex_Type, %Complex_Type* %local_data, i32 0, i32 0 %data = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %x1 = getelementptr inbounds %Complex_Type, %Complex_Type* %data, i32 0, i32 0 - %load_x = load i16, i16* %x1, align 2 - store i16 %load_x, i16* %x, align 2 + %load_x = load i16, i16* %x1, align [filtered] + store i16 %load_x, i16* %x, align [filtered] %y = getelementptr inbounds %Complex_Type, %Complex_Type* %local_data, i32 0, i32 1 %data2 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %y3 = getelementptr inbounds %Complex_Type, %Complex_Type* %data2, i32 0, i32 1 - %load_y = load i16, i16* %y3, align 2 - store i16 %load_y, i16* %y, align 2 + %load_y = load i16, i16* %y3, align [filtered] + store i16 %load_y, i16* %y, align [filtered] %z = getelementptr inbounds %Complex_Type, %Complex_Type* %local_data, i32 0, i32 2 %data4 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %z5 = getelementptr inbounds %Complex_Type, %Complex_Type* %data4, i32 0, i32 2 - %load_z = load float, float* %z5, align 4 - store float %load_z, float* %z, align 4 + %load_z = load float, float* %z5, align [filtered] + store float %load_z, float* %z, align [filtered] %arr_data = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 %tmpVar = getelementptr inbounds [2 x %Complex_Type], [2 x %Complex_Type]* %arr_data, i32 0, i32 0 %x6 = getelementptr inbounds %Complex_Type, %Complex_Type* %tmpVar, i32 0, i32 0 %arr_data7 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 %tmpVar8 = getelementptr inbounds [2 x %Complex_Type], [2 x %Complex_Type]* %arr_data7, i32 0, i32 1 %x9 = getelementptr inbounds %Complex_Type, %Complex_Type* %tmpVar8, i32 0, i32 0 - %load_x10 = load i16, i16* %x9, align 2 - store i16 %load_x10, i16* %x6, align 2 + %load_x10 = load i16, i16* %x9, align [filtered] + store i16 %load_x10, i16* %x6, align [filtered] %arr_data11 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 2 %tmpVar12 = getelementptr inbounds [2 x %Complex_Type], [2 x %Complex_Type]* %arr_data11, i32 0, i32 0 %z13 = getelementptr inbounds %Complex_Type, %Complex_Type* %tmpVar12, i32 0, i32 2 %data14 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %z15 = getelementptr inbounds %Complex_Type, %Complex_Type* %data14, i32 0, i32 2 - %load_z16 = load float, float* %z15, align 4 - store float %load_z16, float* %z13, align 4 + %load_z16 = load float, float* %z15, align [filtered] + store float %load_z16, float* %z13, align [filtered] ret void } @@ -2714,87 +2714,87 @@ fn super_with_structured_types() { define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %test = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store void (%child*)* @child__test, void (%child*)** %test, align 8 + store void (%child*)* @child__test, void (%child*)** %test, align [filtered] ret void } define void @__init_complex_type(%Complex_Type* %0) { entry: - %self = alloca %Complex_Type*, align 8 - store %Complex_Type* %0, %Complex_Type** %self, align 8 + %self = alloca %Complex_Type*, align [filtered] + store %Complex_Type* %0, %Complex_Type** %self, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %data = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 1 call void @__init_complex_type(%Complex_Type* %data) - %deref1 = load %parent*, %parent** %self, align 8 + %deref1 = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref1, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_Complex_Type(%Complex_Type* %0) { entry: - %self = alloca %Complex_Type*, align 8 - store %Complex_Type* %0, %Complex_Type** %self, align 8 + %self = alloca %Complex_Type*, align [filtered] + store %Complex_Type* %0, %Complex_Type** %self, align [filtered] ret void } define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -2802,9 +2802,9 @@ fn super_with_structured_types() { define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %data = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 1 call void @__user_init_Complex_Type(%Complex_Type* %data) ret void @@ -2868,8 +2868,8 @@ fn super_in_action_blocks() { define void @parent(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %value = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 ret void @@ -2877,111 +2877,111 @@ fn super_in_action_blocks() { define void @parent__increment(%parent* %0) { entry: - %this = alloca %parent*, align 8 - store %parent* %0, %parent** %this, align 8 + %this = alloca %parent*, align [filtered] + store %parent* %0, %parent** %this, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %0, i32 0, i32 0 %value = getelementptr inbounds %parent, %parent* %0, i32 0, i32 1 - %load_value = load i16, i16* %value, align 2 + %load_value = load i16, i16* %value, align [filtered] %1 = sext i16 %load_value to i32 %tmpVar = add i32 %1, 1 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %value, align 2 + store i16 %2, i16* %value, align [filtered] ret void } define void @child(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 ret void } define void @child__increase(%child* %0) { entry: - %this = alloca %child*, align 8 - store %child* %0, %child** %this, align 8 + %this = alloca %child*, align [filtered] + store %child* %0, %child** %this, align [filtered] %__parent = getelementptr inbounds %child, %child* %0, i32 0, i32 0 %value = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 %value1 = getelementptr inbounds %parent, %parent* %__parent, i32 0, i32 1 - %load_value = load i16, i16* %value1, align 2 + %load_value = load i16, i16* %value1, align [filtered] %1 = sext i16 %load_value to i32 %tmpVar = add i32 %1, 5 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %value, align 2 + store i16 %2, i16* %value, align [filtered] call void @parent__increment(%parent* %__parent) ret void } define void @__init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 - %deref = load %__vtable_parent*, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] + %deref = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %__body = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref, i32 0, i32 0 - store void (%parent*)* @parent, void (%parent*)** %__body, align 8 - %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align 8 + store void (%parent*)* @parent, void (%parent*)** %__body, align [filtered] + %deref1 = load %__vtable_parent*, %__vtable_parent** %self, align [filtered] %increment = getelementptr inbounds %__vtable_parent, %__vtable_parent* %deref1, i32 0, i32 1 - store void (%parent*)* @parent__increment, void (%parent*)** %increment, align 8 + store void (%parent*)* @parent__increment, void (%parent*)** %increment, align [filtered] ret void } define void @__init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 - %deref = load %__vtable_child*, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] + %deref = load %__vtable_child*, %__vtable_child** %self, align [filtered] %__body = getelementptr inbounds %__vtable_child, %__vtable_child* %deref, i32 0, i32 0 - store void (%child*)* @child, void (%child*)** %__body, align 8 - %deref1 = load %__vtable_child*, %__vtable_child** %self, align 8 + store void (%child*)* @child, void (%child*)** %__body, align [filtered] + %deref1 = load %__vtable_child*, %__vtable_child** %self, align [filtered] %increment = getelementptr inbounds %__vtable_child, %__vtable_child* %deref1, i32 0, i32 1 - store void (%parent*)* @parent__increment, void (%parent*)** %increment, align 8 + store void (%parent*)* @parent__increment, void (%parent*)** %increment, align [filtered] ret void } define void @__init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 - %deref = load %parent*, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] + %deref = load %parent*, %parent** %self, align [filtered] %__vtable = getelementptr inbounds %parent, %parent* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_parent* @__vtable_parent_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__init_parent(%parent* %__parent) - %deref1 = load %child*, %child** %self, align 8 + %deref1 = load %child*, %child** %self, align [filtered] %__parent2 = getelementptr inbounds %child, %child* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %parent, %parent* %__parent2, i32 0, i32 0 - store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_child* @__vtable_child_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_parent(%parent* %0) { entry: - %self = alloca %parent*, align 8 - store %parent* %0, %parent** %self, align 8 + %self = alloca %parent*, align [filtered] + store %parent* %0, %parent** %self, align [filtered] ret void } define void @__user_init___vtable_child(%__vtable_child* %0) { entry: - %self = alloca %__vtable_child*, align 8 - store %__vtable_child* %0, %__vtable_child** %self, align 8 + %self = alloca %__vtable_child*, align [filtered] + store %__vtable_child* %0, %__vtable_child** %self, align [filtered] ret void } define void @__user_init_child(%child* %0) { entry: - %self = alloca %child*, align 8 - store %child* %0, %child** %self, align 8 - %deref = load %child*, %child** %self, align 8 + %self = alloca %child*, align [filtered] + store %child* %0, %child** %self, align [filtered] + %deref = load %child*, %child** %self, align [filtered] %__parent = getelementptr inbounds %child, %child* %deref, i32 0, i32 0 call void @__user_init_parent(%parent* %__parent) ret void @@ -2989,8 +2989,8 @@ fn super_in_action_blocks() { define void @__user_init___vtable_parent(%__vtable_parent* %0) { entry: - %self = alloca %__vtable_parent*, align 8 - store %__vtable_parent* %0, %__vtable_parent** %self, align 8 + %self = alloca %__vtable_parent*, align [filtered] + store %__vtable_parent* %0, %__vtable_parent** %self, align [filtered] ret void } diff --git a/src/codegen/tests/parameters_tests.rs b/src/codegen/tests/parameters_tests.rs index b2639216a0..605211a489 100644 --- a/src/codegen/tests/parameters_tests.rs +++ b/src/codegen/tests/parameters_tests.rs @@ -715,26 +715,26 @@ fn by_value_function_arg_builtin_type_strings_are_memcopied() { define i32 @main() { entry: - %main = alloca i32, align 4 - %str = alloca [81 x i8], align 1 + %main = alloca i32, align [filtered] + %str = alloca [81 x i8], align [filtered] %0 = bitcast [81 x i8]* %str to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %1 = bitcast [81 x i8]* %str to i8* %call = call i32 @foo(i8* %1) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @foo(i8* %0) { entry: - %foo = alloca i32, align 4 - %val = alloca [81 x i8], align 1 + %foo = alloca i32, align [filtered] + %val = alloca [81 x i8], align [filtered] %bitcast = bitcast [81 x i8]* %val to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 81, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 80, i1 false) - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 81, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 80, i1 false) + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -776,26 +776,26 @@ fn by_value_function_arg_user_type_strings_are_memcopied() { define i32 @main() { entry: - %main = alloca i32, align 4 - %str = alloca [65537 x i8], align 1 + %main = alloca i32, align [filtered] + %str = alloca [65537 x i8], align [filtered] %0 = bitcast [65537 x i8]* %str to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([65537 x i8]* getelementptr ([65537 x i8], [65537 x i8]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([65537 x i8]* getelementptr ([65537 x i8], [65537 x i8]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %1 = bitcast [65537 x i8]* %str to i8* %call = call i32 @foo(i8* %1) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @foo(i8* %0) { entry: - %foo = alloca i32, align 4 - %val = alloca [65537 x i8], align 1 + %foo = alloca i32, align [filtered] + %val = alloca [65537 x i8], align [filtered] %bitcast = bitcast [65537 x i8]* %val to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 65537, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 65536, i1 false) - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 65537, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 65536, i1 false) + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -837,27 +837,27 @@ fn by_value_function_arg_arrays_are_memcopied() { define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [65537 x i32], align 4 + %main = alloca i32, align [filtered] + %arr = alloca [65537 x i32], align [filtered] %0 = bitcast [65537 x i32]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([65537 x i32]* getelementptr ([65537 x i32], [65537 x i32]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([65537 x i32]* getelementptr ([65537 x i32], [65537 x i32]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %1 = bitcast [65537 x i32]* %arr to i32* %call = call i32 @foo(i32* %1) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @foo(i32* %0) { entry: - %foo = alloca i32, align 4 - %val = alloca [65537 x i32], align 4 + %foo = alloca i32, align [filtered] + %val = alloca [65537 x i32], align [filtered] %bitcast = bitcast [65537 x i32]* %val to i32* %1 = bitcast i32* %bitcast to i8* %2 = bitcast i32* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint ([65537 x i32]* getelementptr ([65537 x i32], [65537 x i32]* null, i32 1) to i64), i1 false) - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint ([65537 x i32]* getelementptr ([65537 x i32], [65537 x i32]* null, i32 1) to i64), i1 false) + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -909,25 +909,25 @@ fn by_value_function_arg_structs_are_memcopied() { define i32 @foo(%S_TY* %0) { entry: - %foo = alloca i32, align 4 - %val = alloca %S_TY, align 8 + %foo = alloca i32, align [filtered] + %val = alloca %S_TY, align [filtered] %1 = bitcast %S_TY* %val to i8* %2 = bitcast %S_TY* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%S_TY* getelementptr (%S_TY, %S_TY* null, i32 1) to i64), i1 false) - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%S_TY* getelementptr (%S_TY, %S_TY* null, i32 1) to i64), i1 false) + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %s = alloca %S_TY, align 8 + %main = alloca i32, align [filtered] + %s = alloca %S_TY, align [filtered] %0 = bitcast %S_TY* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%S_TY, %S_TY* @__S_TY__init, i32 0, i32 0), i64 ptrtoint (%S_TY* getelementptr (%S_TY, %S_TY* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%S_TY, %S_TY* @__S_TY__init, i32 0, i32 0), i64 ptrtoint (%S_TY* getelementptr (%S_TY, %S_TY* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %call = call i32 @foo(%S_TY* %s) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -984,25 +984,25 @@ fn by_value_function_arg_structs_with_aggregate_members_are_memcopied() { define i32 @foo(%AGGREGATE_COLLECTOR_TY* %0) { entry: - %foo = alloca i32, align 4 - %val = alloca %AGGREGATE_COLLECTOR_TY, align 8 + %foo = alloca i32, align [filtered] + %val = alloca %AGGREGATE_COLLECTOR_TY, align [filtered] %1 = bitcast %AGGREGATE_COLLECTOR_TY* %val to i8* %2 = bitcast %AGGREGATE_COLLECTOR_TY* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%AGGREGATE_COLLECTOR_TY* getelementptr (%AGGREGATE_COLLECTOR_TY, %AGGREGATE_COLLECTOR_TY* null, i32 1) to i64), i1 false) - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%AGGREGATE_COLLECTOR_TY* getelementptr (%AGGREGATE_COLLECTOR_TY, %AGGREGATE_COLLECTOR_TY* null, i32 1) to i64), i1 false) + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %s = alloca %AGGREGATE_COLLECTOR_TY, align 8 + %main = alloca i32, align [filtered] + %s = alloca %AGGREGATE_COLLECTOR_TY, align [filtered] %0 = bitcast %AGGREGATE_COLLECTOR_TY* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%AGGREGATE_COLLECTOR_TY* @__AGGREGATE_COLLECTOR_TY__init to i8*), i64 ptrtoint (%AGGREGATE_COLLECTOR_TY* getelementptr (%AGGREGATE_COLLECTOR_TY, %AGGREGATE_COLLECTOR_TY* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%AGGREGATE_COLLECTOR_TY* @__AGGREGATE_COLLECTOR_TY__init to i8*), i64 ptrtoint (%AGGREGATE_COLLECTOR_TY* getelementptr (%AGGREGATE_COLLECTOR_TY, %AGGREGATE_COLLECTOR_TY* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %call = call i32 @foo(%AGGREGATE_COLLECTOR_TY* %s) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -1047,34 +1047,34 @@ fn by_value_fb_arg_aggregates_are_memcopied() { define i32 @main() { entry: - %main = alloca i32, align 4 - %str = alloca [65537 x i8], align 1 - %arr = alloca [1024 x i32], align 4 - %fb = alloca %FOO, align 8 + %main = alloca i32, align [filtered] + %str = alloca [65537 x i8], align [filtered] + %arr = alloca [1024 x i32], align [filtered] + %fb = alloca %FOO, align [filtered] %0 = bitcast [65537 x i8]* %str to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([65537 x i8]* getelementptr ([65537 x i8], [65537 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([65537 x i8]* getelementptr ([65537 x i8], [65537 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [1024 x i32]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([1024 x i32]* getelementptr ([1024 x i32], [1024 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([1024 x i32]* getelementptr ([1024 x i32], [1024 x i32]* null, i32 1) to i64), i1 false) %2 = bitcast %FOO* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %2, i8* align 1 getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds (%FOO, %FOO* @__FOO__init, i32 0, i32 0, i32 0), i64 ptrtoint (%FOO* getelementptr (%FOO, %FOO* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %3 = getelementptr inbounds %FOO, %FOO* %fb, i32 0, i32 0 %4 = bitcast [65537 x i8]* %3 to i8* %5 = bitcast [65537 x i8]* %str to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %4, i8* align 1 %5, i32 65536, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %4, i8* align [filtered] %5, i32 65536, i1 false) %6 = getelementptr inbounds %FOO, %FOO* %fb, i32 0, i32 1 %7 = bitcast [1024 x i32]* %6 to i8* %8 = bitcast [1024 x i32]* %arr to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %7, i8* align 1 %8, i64 ptrtoint ([1024 x i32]* getelementptr ([1024 x i32], [1024 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %7, i8* align [filtered] %8, i64 ptrtoint ([1024 x i32]* getelementptr ([1024 x i32], [1024 x i32]* null, i32 1) to i64), i1 false) call void @FOO(%FOO* %fb) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define void @FOO(%FOO* %0) { entry: - %this = alloca %FOO*, align 8 - store %FOO* %0, %FOO** %this, align 8 + %this = alloca %FOO*, align [filtered] + store %FOO* %0, %FOO** %this, align [filtered] %val = getelementptr inbounds %FOO, %FOO* %0, i32 0, i32 0 %field = getelementptr inbounds %FOO, %FOO* %0, i32 0, i32 1 ret void @@ -1143,8 +1143,8 @@ fn var_output_aggregate_types_are_memcopied() { define void @FB(%FB* %0) { entry: - %this = alloca %FB*, align 8 - store %FB* %0, %FB** %this, align 8 + %this = alloca %FB*, align [filtered] + store %FB* %0, %FB** %this, align [filtered] %output = getelementptr inbounds %FB, %FB* %0, i32 0, i32 0 %output2 = getelementptr inbounds %FB, %FB* %0, i32 0, i32 1 %output3 = getelementptr inbounds %FB, %FB* %0, i32 0, i32 2 @@ -1165,23 +1165,23 @@ fn var_output_aggregate_types_are_memcopied() { %1 = getelementptr inbounds %FB, %FB* %station, i32 0, i32 0 %2 = bitcast %OUT_TYPE* %out to i8* %3 = bitcast %OUT_TYPE* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %2, i8* align 1 %3, i64 ptrtoint (%OUT_TYPE* getelementptr (%OUT_TYPE, %OUT_TYPE* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %2, i8* align [filtered] %3, i64 ptrtoint (%OUT_TYPE* getelementptr (%OUT_TYPE, %OUT_TYPE* null, i32 1) to i64), i1 false) %4 = getelementptr inbounds %FB, %FB* %station, i32 0, i32 1 %5 = bitcast [11 x i32]* %out2 to i8* %6 = bitcast [11 x i32]* %4 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %5, i8* align 1 %6, i64 ptrtoint ([11 x i32]* getelementptr ([11 x i32], [11 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %5, i8* align [filtered] %6, i64 ptrtoint ([11 x i32]* getelementptr ([11 x i32], [11 x i32]* null, i32 1) to i64), i1 false) %7 = getelementptr inbounds %FB, %FB* %station, i32 0, i32 2 %8 = bitcast [11 x %OUT_TYPE]* %out3 to i8* %9 = bitcast [11 x %OUT_TYPE]* %7 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %8, i8* align 1 %9, i64 ptrtoint ([11 x %OUT_TYPE]* getelementptr ([11 x %OUT_TYPE], [11 x %OUT_TYPE]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %8, i8* align [filtered] %9, i64 ptrtoint ([11 x %OUT_TYPE]* getelementptr ([11 x %OUT_TYPE], [11 x %OUT_TYPE]* null, i32 1) to i64), i1 false) %10 = getelementptr inbounds %FB, %FB* %station, i32 0, i32 3 %11 = bitcast [81 x i8]* %out4 to i8* %12 = bitcast [81 x i8]* %10 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %11, i8* align 1 %12, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %11, i8* align [filtered] %12, i32 80, i1 false) %13 = getelementptr inbounds %FB, %FB* %station, i32 0, i32 4 %14 = bitcast [81 x i16]* %out5 to i8* %15 = bitcast [81 x i16]* %13 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %14, i8* align 2 %15, i32 160, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %14, i8* align [filtered] %15, i32 160, i1 false) ret void } @@ -1216,7 +1216,7 @@ fn array_of_string_parameter_with_stride_calculation() { ", ); - filtered_assert_snapshot!(result, @r###" + filtered_assert_snapshot!(result, @r#" ; ModuleID = '' source_filename = "" target datalayout = "[filtered]" @@ -1227,22 +1227,22 @@ fn array_of_string_parameter_with_stride_calculation() { define void @foo(i8* %0) { entry: - %strings = alloca i8*, align 8 - store i8* %0, i8** %strings, align 8 - %deref = load i8*, i8** %strings, align 8 + %strings = alloca i8*, align [filtered] + store i8* %0, i8** %strings, align [filtered] + %deref = load i8*, i8** %strings, align [filtered] %tmpVar = getelementptr inbounds i8, i8* %deref, i32 0 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) - %deref1 = load i8*, i8** %strings, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %deref1 = load i8*, i8** %strings, align [filtered] %tmpVar2 = getelementptr inbounds i8, i8* %deref1, i32 81 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar2, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar2, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) ret void } define void @main() { entry: - %arr = alloca [2 x [81 x i8]], align 1 + %arr = alloca [2 x [81 x i8]], align [filtered] %0 = bitcast [2 x [81 x i8]]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x [81 x i8]]* getelementptr ([2 x [81 x i8]], [2 x [81 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x [81 x i8]]* getelementptr ([2 x [81 x i8]], [2 x [81 x i8]]* null, i32 1) to i64), i1 false) %1 = bitcast [2 x [81 x i8]]* %arr to i8* call void @foo(i8* %1) ret void @@ -1256,7 +1256,7 @@ fn array_of_string_parameter_with_stride_calculation() { attributes #0 = { argmemonly nofree nounwind willreturn } attributes #1 = { argmemonly nofree nounwind willreturn writeonly } - "###) + "#) } #[test] @@ -1290,32 +1290,32 @@ fn array_of_array_integer_parameter_with_stride_calculation() { define void @foo(i32* %0) { entry: - %numbers = alloca i32*, align 8 - store i32* %0, i32** %numbers, align 8 - %deref = load i32*, i32** %numbers, align 8 + %numbers = alloca i32*, align [filtered] + store i32* %0, i32** %numbers, align [filtered] + %deref = load i32*, i32** %numbers, align [filtered] %tmpVar = getelementptr inbounds i32, i32* %deref, i32 0 %tmpVar1 = getelementptr inbounds i32, i32* %tmpVar, i32 0 - store i32 1, i32* %tmpVar1, align 4 - %deref2 = load i32*, i32** %numbers, align 8 + store i32 1, i32* %tmpVar1, align [filtered] + %deref2 = load i32*, i32** %numbers, align [filtered] %tmpVar3 = getelementptr inbounds i32, i32* %deref2, i32 0 %tmpVar4 = getelementptr inbounds i32, i32* %tmpVar3, i32 1 - store i32 2, i32* %tmpVar4, align 4 - %deref5 = load i32*, i32** %numbers, align 8 + store i32 2, i32* %tmpVar4, align [filtered] + %deref5 = load i32*, i32** %numbers, align [filtered] %tmpVar6 = getelementptr inbounds i32, i32* %deref5, i32 3 %tmpVar7 = getelementptr inbounds i32, i32* %tmpVar6, i32 0 - store i32 3, i32* %tmpVar7, align 4 - %deref8 = load i32*, i32** %numbers, align 8 + store i32 3, i32* %tmpVar7, align [filtered] + %deref8 = load i32*, i32** %numbers, align [filtered] %tmpVar9 = getelementptr inbounds i32, i32* %deref8, i32 3 %tmpVar10 = getelementptr inbounds i32, i32* %tmpVar9, i32 1 - store i32 4, i32* %tmpVar10, align 4 + store i32 4, i32* %tmpVar10, align [filtered] ret void } define void @main() { entry: - %arr = alloca [2 x [3 x i32]], align 4 + %arr = alloca [2 x [3 x i32]], align [filtered] %0 = bitcast [2 x [3 x i32]]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x [3 x i32]]* getelementptr ([2 x [3 x i32]], [2 x [3 x i32]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x [3 x i32]]* getelementptr ([2 x [3 x i32]], [2 x [3 x i32]]* null, i32 1) to i64), i1 false) %1 = bitcast [2 x [3 x i32]]* %arr to i32* call void @foo(i32* %1) ret void @@ -1361,22 +1361,22 @@ fn mixed_string_lengths_parameter_compatibility() { define void @foo(i8* %0) { entry: - %short_strings = alloca i8*, align 8 - store i8* %0, i8** %short_strings, align 8 - %deref = load i8*, i8** %short_strings, align 8 + %short_strings = alloca i8*, align [filtered] + store i8* %0, i8** %short_strings, align [filtered] + %deref = load i8*, i8** %short_strings, align [filtered] %tmpVar = getelementptr inbounds i8, i8* %deref, i32 0 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar, i8* align 1 getelementptr inbounds ([3 x i8], [3 x i8]* @utf08_literal_1, i32 0, i32 0), i32 3, i1 false) - %deref1 = load i8*, i8** %short_strings, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar, i8* align [filtered] getelementptr inbounds ([3 x i8], [3 x i8]* @utf08_literal_1, i32 0, i32 0), i32 3, i1 false) + %deref1 = load i8*, i8** %short_strings, align [filtered] %tmpVar2 = getelementptr inbounds i8, i8* %deref1, i32 11 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar2, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar2, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) ret void } define void @main() { entry: - %long_strings = alloca [2 x [81 x i8]], align 1 + %long_strings = alloca [2 x [81 x i8]], align [filtered] %0 = bitcast [2 x [81 x i8]]* %long_strings to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x [81 x i8]]* getelementptr ([2 x [81 x i8]], [2 x [81 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x [81 x i8]]* getelementptr ([2 x [81 x i8]], [2 x [81 x i8]]* null, i32 1) to i64), i1 false) %1 = bitcast [2 x [81 x i8]]* %long_strings to i8* call void @foo(i8* %1) ret void @@ -1433,25 +1433,25 @@ fn program_with_array_of_string_parameter_stride_calculation() { define void @StringProcessor(%StringProcessor* %0) { entry: %messages = getelementptr inbounds %StringProcessor, %StringProcessor* %0, i32 0, i32 0 - %deref = load [3 x [51 x i8]]*, [3 x [51 x i8]]** %messages, align 8 + %deref = load [3 x [51 x i8]]*, [3 x [51 x i8]]** %messages, align [filtered] %tmpVar = getelementptr inbounds [3 x [51 x i8]], [3 x [51 x i8]]* %deref, i32 0, i32 0 %1 = bitcast [51 x i8]* %tmpVar to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) - %deref1 = load [3 x [51 x i8]]*, [3 x [51 x i8]]** %messages, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %deref1 = load [3 x [51 x i8]]*, [3 x [51 x i8]]** %messages, align [filtered] %tmpVar2 = getelementptr inbounds [3 x [51 x i8]], [3 x [51 x i8]]* %deref1, i32 0, i32 1 %2 = bitcast [51 x i8]* %tmpVar2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([7 x i8], [7 x i8]* @utf08_literal_1, i32 0, i32 0), i32 7, i1 false) - %deref3 = load [3 x [51 x i8]]*, [3 x [51 x i8]]** %messages, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([7 x i8], [7 x i8]* @utf08_literal_1, i32 0, i32 0), i32 7, i1 false) + %deref3 = load [3 x [51 x i8]]*, [3 x [51 x i8]]** %messages, align [filtered] %tmpVar4 = getelementptr inbounds [3 x [51 x i8]], [3 x [51 x i8]]* %deref3, i32 0, i32 2 %3 = bitcast [51 x i8]* %tmpVar4 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_2, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_2, i32 0, i32 0), i32 6, i1 false) ret void } define void @main(%main* %0) { entry: %text_array = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - store [3 x [51 x i8]]* %text_array, [3 x [51 x i8]]** getelementptr inbounds (%StringProcessor, %StringProcessor* @StringProcessor_instance, i32 0, i32 0), align 8 + store [3 x [51 x i8]]* %text_array, [3 x [51 x i8]]** getelementptr inbounds (%StringProcessor, %StringProcessor* @StringProcessor_instance, i32 0, i32 0), align [filtered] call void @StringProcessor(%StringProcessor* @StringProcessor_instance) ret void } @@ -1501,25 +1501,25 @@ fn function_block_with_array_of_array_parameter_stride_calculation() { define void @MatrixProcessor(%MatrixProcessor* %0) { entry: - %this = alloca %MatrixProcessor*, align 8 - store %MatrixProcessor* %0, %MatrixProcessor** %this, align 8 + %this = alloca %MatrixProcessor*, align [filtered] + store %MatrixProcessor* %0, %MatrixProcessor** %this, align [filtered] %matrix = getelementptr inbounds %MatrixProcessor, %MatrixProcessor* %0, i32 0, i32 0 - %deref = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align 8 + %deref = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align [filtered] %tmpVar = getelementptr inbounds [2 x [4 x float]], [2 x [4 x float]]* %deref, i32 0, i32 0 %tmpVar1 = getelementptr inbounds [4 x float], [4 x float]* %tmpVar, i32 0, i32 0 - store float 0x3FF19999A0000000, float* %tmpVar1, align 4 - %deref2 = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align 8 + store float 0x3FF19999A0000000, float* %tmpVar1, align [filtered] + %deref2 = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align [filtered] %tmpVar3 = getelementptr inbounds [2 x [4 x float]], [2 x [4 x float]]* %deref2, i32 0, i32 0 %tmpVar4 = getelementptr inbounds [4 x float], [4 x float]* %tmpVar3, i32 0, i32 1 - store float 0x40019999A0000000, float* %tmpVar4, align 4 - %deref5 = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align 8 + store float 0x40019999A0000000, float* %tmpVar4, align [filtered] + %deref5 = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align [filtered] %tmpVar6 = getelementptr inbounds [2 x [4 x float]], [2 x [4 x float]]* %deref5, i32 0, i32 1 %tmpVar7 = getelementptr inbounds [4 x float], [4 x float]* %tmpVar6, i32 0, i32 0 - store float 0x400A666660000000, float* %tmpVar7, align 4 - %deref8 = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align 8 + store float 0x400A666660000000, float* %tmpVar7, align [filtered] + %deref8 = load [2 x [4 x float]]*, [2 x [4 x float]]** %matrix, align [filtered] %tmpVar9 = getelementptr inbounds [2 x [4 x float]], [2 x [4 x float]]* %deref8, i32 0, i32 1 %tmpVar10 = getelementptr inbounds [4 x float], [4 x float]* %tmpVar9, i32 0, i32 1 - store float 0x40119999A0000000, float* %tmpVar10, align 4 + store float 0x40119999A0000000, float* %tmpVar10, align [filtered] ret void } @@ -1528,7 +1528,7 @@ fn function_block_with_array_of_array_parameter_stride_calculation() { %processor = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %data = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %1 = getelementptr inbounds %MatrixProcessor, %MatrixProcessor* %processor, i32 0, i32 0 - store [2 x [4 x float]]* %data, [2 x [4 x float]]** %1, align 8 + store [2 x [4 x float]]* %data, [2 x [4 x float]]** %1, align [filtered] call void @MatrixProcessor(%MatrixProcessor* %processor) ret void } @@ -1580,14 +1580,14 @@ fn method_with_var_in_out_array_of_strings() { define void @StringHandler__process_strings(%StringHandler* %0, i8* %1) { entry: - %string_list = alloca i8*, align 8 - store i8* %1, i8** %string_list, align 8 - %deref = load i8*, i8** %string_list, align 8 + %string_list = alloca i8*, align [filtered] + store i8* %1, i8** %string_list, align [filtered] + %deref = load i8*, i8** %string_list, align [filtered] %tmpVar = getelementptr inbounds i8, i8* %deref, i32 0 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) - %deref1 = load i8*, i8** %string_list, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %deref1 = load i8*, i8** %string_list, align [filtered] %tmpVar2 = getelementptr inbounds i8, i8* %deref1, i32 31 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar2, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar2, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) ret void } @@ -1647,33 +1647,33 @@ fn method_with_var_in_out_nested_integer_arrays() { define void @DataProcessor(%DataProcessor* %0) { entry: - %this = alloca %DataProcessor*, align 8 - store %DataProcessor* %0, %DataProcessor** %this, align 8 + %this = alloca %DataProcessor*, align [filtered] + store %DataProcessor* %0, %DataProcessor** %this, align [filtered] ret void } define void @DataProcessor__process_matrix(%DataProcessor* %0, i32* %1) { entry: - %this = alloca %DataProcessor*, align 8 - store %DataProcessor* %0, %DataProcessor** %this, align 8 - %data = alloca i32*, align 8 - store i32* %1, i32** %data, align 8 - %deref = load i32*, i32** %data, align 8 + %this = alloca %DataProcessor*, align [filtered] + store %DataProcessor* %0, %DataProcessor** %this, align [filtered] + %data = alloca i32*, align [filtered] + store i32* %1, i32** %data, align [filtered] + %deref = load i32*, i32** %data, align [filtered] %tmpVar = getelementptr inbounds i32, i32* %deref, i32 0 %tmpVar1 = getelementptr inbounds i32, i32* %tmpVar, i32 0 - store i32 10, i32* %tmpVar1, align 4 - %deref2 = load i32*, i32** %data, align 8 + store i32 10, i32* %tmpVar1, align [filtered] + %deref2 = load i32*, i32** %data, align [filtered] %tmpVar3 = getelementptr inbounds i32, i32* %deref2, i32 0 %tmpVar4 = getelementptr inbounds i32, i32* %tmpVar3, i32 1 - store i32 20, i32* %tmpVar4, align 4 - %deref5 = load i32*, i32** %data, align 8 + store i32 20, i32* %tmpVar4, align [filtered] + %deref5 = load i32*, i32** %data, align [filtered] %tmpVar6 = getelementptr inbounds i32, i32* %deref5, i32 2 %tmpVar7 = getelementptr inbounds i32, i32* %tmpVar6, i32 0 - store i32 30, i32* %tmpVar7, align 4 - %deref8 = load i32*, i32** %data, align 8 + store i32 30, i32* %tmpVar7, align [filtered] + %deref8 = load i32*, i32** %data, align [filtered] %tmpVar9 = getelementptr inbounds i32, i32* %deref8, i32 2 %tmpVar10 = getelementptr inbounds i32, i32* %tmpVar9, i32 1 - store i32 40, i32* %tmpVar10, align 4 + store i32 40, i32* %tmpVar10, align [filtered] ret void } @@ -1732,33 +1732,33 @@ fn method_with_mixed_array_types() { define void @ComplexHandler(%ComplexHandler* %0) { entry: - %this = alloca %ComplexHandler*, align 8 - store %ComplexHandler* %0, %ComplexHandler** %this, align 8 + %this = alloca %ComplexHandler*, align [filtered] + store %ComplexHandler* %0, %ComplexHandler** %this, align [filtered] ret void } define void @ComplexHandler__handle_data(%ComplexHandler* %0, i8* %1, i16* %2) { entry: - %this = alloca %ComplexHandler*, align 8 - store %ComplexHandler* %0, %ComplexHandler** %this, align 8 - %strings = alloca i8*, align 8 - store i8* %1, i8** %strings, align 8 - %numbers = alloca i16*, align 8 - store i16* %2, i16** %numbers, align 8 - %deref = load i8*, i8** %strings, align 8 + %this = alloca %ComplexHandler*, align [filtered] + store %ComplexHandler* %0, %ComplexHandler** %this, align [filtered] + %strings = alloca i8*, align [filtered] + store i8* %1, i8** %strings, align [filtered] + %numbers = alloca i16*, align [filtered] + store i16* %2, i16** %numbers, align [filtered] + %deref = load i8*, i8** %strings, align [filtered] %tmpVar = getelementptr inbounds i8, i8* %deref, i32 0 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar, i8* align 1 getelementptr inbounds ([5 x i8], [5 x i8]* @utf08_literal_0, i32 0, i32 0), i32 5, i1 false) - %deref1 = load i8*, i8** %strings, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar, i8* align [filtered] getelementptr inbounds ([5 x i8], [5 x i8]* @utf08_literal_0, i32 0, i32 0), i32 5, i1 false) + %deref1 = load i8*, i8** %strings, align [filtered] %tmpVar2 = getelementptr inbounds i8, i8* %deref1, i32 21 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %tmpVar2, i8* align 1 getelementptr inbounds ([11 x i8], [11 x i8]* @utf08_literal_1, i32 0, i32 0), i32 11, i1 false) - %deref3 = load i16*, i16** %numbers, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %tmpVar2, i8* align [filtered] getelementptr inbounds ([11 x i8], [11 x i8]* @utf08_literal_1, i32 0, i32 0), i32 11, i1 false) + %deref3 = load i16*, i16** %numbers, align [filtered] %tmpVar4 = getelementptr inbounds i16, i16* %deref3, i32 0 %tmpVar5 = getelementptr inbounds i16, i16* %tmpVar4, i32 0 - store i16 100, i16* %tmpVar5, align 2 - %deref6 = load i16*, i16** %numbers, align 8 + store i16 100, i16* %tmpVar5, align [filtered] + %deref6 = load i16*, i16** %numbers, align [filtered] %tmpVar7 = getelementptr inbounds i16, i16* %deref6, i32 2 %tmpVar8 = getelementptr inbounds i16, i16* %tmpVar7, i32 1 - store i16 200, i16* %tmpVar8, align 2 + store i16 200, i16* %tmpVar8, align [filtered] ret void } @@ -1839,71 +1839,71 @@ fn function_with_array_of_array_return() { define void @foo(i16* %0) { entry: - %foo = alloca i16*, align 8 - store i16* %0, i16** %foo, align 8 - %result = alloca [2 x [2 x i16]], align 2 + %foo = alloca i16*, align [filtered] + store i16* %0, i16** %foo, align [filtered] + %result = alloca [2 x [2 x i16]], align [filtered] %1 = bitcast [2 x [2 x i16]]* %result to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) %tmpVar = getelementptr inbounds [2 x [2 x i16]], [2 x [2 x i16]]* %result, i32 0, i32 0 %tmpVar1 = getelementptr inbounds [2 x i16], [2 x i16]* %tmpVar, i32 0, i32 0 - store i16 5, i16* %tmpVar1, align 2 + store i16 5, i16* %tmpVar1, align [filtered] %tmpVar2 = getelementptr inbounds [2 x [2 x i16]], [2 x [2 x i16]]* %result, i32 0, i32 0 %tmpVar3 = getelementptr inbounds [2 x i16], [2 x i16]* %tmpVar2, i32 0, i32 1 - store i16 10, i16* %tmpVar3, align 2 + store i16 10, i16* %tmpVar3, align [filtered] %tmpVar4 = getelementptr inbounds [2 x [2 x i16]], [2 x [2 x i16]]* %result, i32 0, i32 1 %tmpVar5 = getelementptr inbounds [2 x i16], [2 x i16]* %tmpVar4, i32 0, i32 0 - store i16 15, i16* %tmpVar5, align 2 + store i16 15, i16* %tmpVar5, align [filtered] %tmpVar6 = getelementptr inbounds [2 x [2 x i16]], [2 x [2 x i16]]* %result, i32 0, i32 1 %tmpVar7 = getelementptr inbounds [2 x i16], [2 x i16]* %tmpVar6, i32 0, i32 1 - store i16 20, i16* %tmpVar7, align 2 - %deref = load i16*, i16** %foo, align 8 + store i16 20, i16* %tmpVar7, align [filtered] + %deref = load i16*, i16** %foo, align [filtered] %2 = bitcast i16* %deref to i8* %3 = bitcast [2 x [2 x i16]]* %result to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %2, i8* align 1 %3, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %2, i8* align [filtered] %3, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) ret void } define void @bar(i16* %0) { entry: - %bar = alloca i16*, align 8 - store i16* %0, i16** %bar, align 8 - %data = alloca [2 x [2 x i16]], align 2 + %bar = alloca i16*, align [filtered] + store i16* %0, i16** %bar, align [filtered] + %data = alloca [2 x [2 x i16]], align [filtered] %1 = bitcast [2 x [2 x i16]]* %data to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) - %__foo0 = alloca [2 x [2 x i16]], align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + %__foo0 = alloca [2 x [2 x i16]], align [filtered] %2 = bitcast [2 x [2 x i16]]* %__foo0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) %3 = bitcast [2 x [2 x i16]]* %__foo0 to i16* call void @foo(i16* %3) %4 = bitcast [2 x [2 x i16]]* %data to i8* %5 = bitcast [2 x [2 x i16]]* %__foo0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %4, i8* align 1 %5, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) - %deref = load i16*, i16** %bar, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %4, i8* align [filtered] %5, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + %deref = load i16*, i16** %bar, align [filtered] %6 = bitcast i16* %deref to i8* %7 = bitcast [2 x [2 x i16]]* %data to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %6, i8* align 1 %7, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %6, i8* align [filtered] %7, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) ret void } define void @baz(i8* %0) { entry: - %baz = alloca i8*, align 8 - store i8* %0, i8** %baz, align 8 - %texts = alloca [3 x [21 x i8]], align 1 + %baz = alloca i8*, align [filtered] + store i8* %0, i8** %baz, align [filtered] + %texts = alloca [3 x [21 x i8]], align [filtered] %1 = bitcast [3 x [21 x i8]]* %texts to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) %tmpVar = getelementptr inbounds [3 x [21 x i8]], [3 x [21 x i8]]* %texts, i32 0, i32 0 %2 = bitcast [21 x i8]* %tmpVar to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) %tmpVar1 = getelementptr inbounds [3 x [21 x i8]], [3 x [21 x i8]]* %texts, i32 0, i32 1 %3 = bitcast [21 x i8]* %tmpVar1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_2, i32 0, i32 0), i32 4, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_2, i32 0, i32 0), i32 4, i1 false) %tmpVar2 = getelementptr inbounds [3 x [21 x i8]], [3 x [21 x i8]]* %texts, i32 0, i32 2 %4 = bitcast [21 x i8]* %tmpVar2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %4, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) - %deref = load i8*, i8** %baz, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %4, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) + %deref = load i8*, i8** %baz, align [filtered] %5 = bitcast [3 x [21 x i8]]* %texts to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %deref, i8* align 1 %5, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %deref, i8* align [filtered] %5, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) ret void } @@ -1911,22 +1911,22 @@ fn function_with_array_of_array_return() { entry: %numbers = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %strings = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %__bar1 = alloca [2 x [2 x i16]], align 2 + %__bar1 = alloca [2 x [2 x i16]], align [filtered] %1 = bitcast [2 x [2 x i16]]* %__bar1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) %2 = bitcast [2 x [2 x i16]]* %__bar1 to i16* call void @bar(i16* %2) %3 = bitcast [2 x [2 x i16]]* %numbers to i8* %4 = bitcast [2 x [2 x i16]]* %__bar1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %3, i8* align 1 %4, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) - %__baz2 = alloca [3 x [21 x i8]], align 1 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %3, i8* align [filtered] %4, i64 ptrtoint ([2 x [2 x i16]]* getelementptr ([2 x [2 x i16]], [2 x [2 x i16]]* null, i32 1) to i64), i1 false) + %__baz2 = alloca [3 x [21 x i8]], align [filtered] %5 = bitcast [3 x [21 x i8]]* %__baz2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %5, i8 0, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %5, i8 0, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) %6 = bitcast [3 x [21 x i8]]* %__baz2 to i8* call void @baz(i8* %6) %7 = bitcast [3 x [21 x i8]]* %strings to i8* %8 = bitcast [3 x [21 x i8]]* %__baz2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %7, i8* align 1 %8, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %7, i8* align [filtered] %8, i64 ptrtoint ([3 x [21 x i8]]* getelementptr ([3 x [21 x i8]], [3 x [21 x i8]]* null, i32 1) to i64), i1 false) ret void } diff --git a/src/codegen/tests/polymorphism.rs b/src/codegen/tests/polymorphism.rs index ef2d4d9d9e..d7c6441beb 100644 --- a/src/codegen/tests/polymorphism.rs +++ b/src/codegen/tests/polymorphism.rs @@ -66,8 +66,8 @@ fn simple_overridden_method() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 %one = getelementptr inbounds %A, %A* %0, i32 0, i32 1 %two = getelementptr inbounds %A, %A* %0, i32 0, i32 2 @@ -76,23 +76,23 @@ fn simple_overridden_method() { define i16 @A__foo(%A* %0, i32 %1) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 %one = getelementptr inbounds %A, %A* %0, i32 0, i32 1 %two = getelementptr inbounds %A, %A* %0, i32 0, i32 2 - %A.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %A.foo, align 2 - %A__foo_ret = load i16, i16* %A.foo, align 2 + %A.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %A.foo, align [filtered] + %A__foo_ret = load i16, i16* %A.foo, align [filtered] ret i16 %A__foo_ret } define void @B(%B* %0) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 %three = getelementptr inbounds %B, %B* %0, i32 0, i32 1 %four = getelementptr inbounds %B, %B* %0, i32 0, i32 2 @@ -101,51 +101,51 @@ fn simple_overridden_method() { define i16 @B__foo(%B* %0, i32 %1) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 %three = getelementptr inbounds %B, %B* %0, i32 0, i32 1 %four = getelementptr inbounds %B, %B* %0, i32 0, i32 2 - %B.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %B.foo, align 2 - %B__foo_ret = load i16, i16* %B.foo, align 2 + %B.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %B.foo, align [filtered] + %B__foo_ret = load i16, i16* %B.foo, align [filtered] ret i16 %B__foo_ret } define void @main() { entry: - %instanceA = alloca %A, align 8 - %instanceB = alloca %B, align 8 - %refInstanceA = alloca %A*, align 8 + %instanceA = alloca %A, align [filtered] + %instanceB = alloca %B, align [filtered] + %refInstanceA = alloca %A*, align [filtered] %0 = bitcast %A* %instanceA to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%A* @__A__init to i8*), i64 ptrtoint (%A* getelementptr (%A, %A* null, i32 1) to i64), i1 false) %1 = bitcast %B* %instanceB to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%B* @__B__init to i8*), i64 ptrtoint (%B* getelementptr (%B, %B* null, i32 1) to i64), i1 false) - store %A* null, %A** %refInstanceA, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%B* @__B__init to i8*), i64 ptrtoint (%B* getelementptr (%B, %B* null, i32 1) to i64), i1 false) + store %A* null, %A** %refInstanceA, align [filtered] call void @__init_a(%A* %instanceA) call void @__init_b(%B* %instanceB) call void @__user_init_A(%A* %instanceA) call void @__user_init_B(%B* %instanceB) - store %A* %instanceA, %A** %refInstanceA, align 8 - %deref = load %A*, %A** %refInstanceA, align 8 + store %A* %instanceA, %A** %refInstanceA, align [filtered] + %deref = load %A*, %A** %refInstanceA, align [filtered] %__vtable = getelementptr inbounds %A, %A* %deref, i32 0, i32 0 - %deref1 = load i32*, i32** %__vtable, align 8 + %deref1 = load i32*, i32** %__vtable, align [filtered] %cast = bitcast i32* %deref1 to %__vtable_A* %foo = getelementptr inbounds %__vtable_A, %__vtable_A* %cast, i32 0, i32 1 - %2 = load i16 (%A*, i32)*, i16 (%A*, i32)** %foo, align 8 - %deref2 = load %A*, %A** %refInstanceA, align 8 + %2 = load i16 (%A*, i32)*, i16 (%A*, i32)** %foo, align [filtered] + %deref2 = load %A*, %A** %refInstanceA, align [filtered] %fnptr_call = call i16 %2(%A* %deref2, i32 5) %3 = bitcast %B* %instanceB to %A* - store %A* %3, %A** %refInstanceA, align 8 - %deref3 = load %A*, %A** %refInstanceA, align 8 + store %A* %3, %A** %refInstanceA, align [filtered] + %deref3 = load %A*, %A** %refInstanceA, align [filtered] %__vtable4 = getelementptr inbounds %A, %A* %deref3, i32 0, i32 0 - %deref5 = load i32*, i32** %__vtable4, align 8 + %deref5 = load i32*, i32** %__vtable4, align [filtered] %cast6 = bitcast i32* %deref5 to %__vtable_A* %foo7 = getelementptr inbounds %__vtable_A, %__vtable_A* %cast6, i32 0, i32 1 - %4 = load i16 (%A*, i32)*, i16 (%A*, i32)** %foo7, align 8 - %deref8 = load %A*, %A** %refInstanceA, align 8 + %4 = load i16 (%A*, i32)*, i16 (%A*, i32)** %foo7, align [filtered] + %deref8 = load %A*, %A** %refInstanceA, align [filtered] %fnptr_call9 = call i16 %4(%A* %deref8, i32 10) ret void } @@ -155,66 +155,66 @@ fn simple_overridden_method() { define void @__init___vtable_a(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 - %deref = load %__vtable_A*, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] + %deref = load %__vtable_A*, %__vtable_A** %self, align [filtered] %__body = getelementptr inbounds %__vtable_A, %__vtable_A* %deref, i32 0, i32 0 - store void (%A*)* @A, void (%A*)** %__body, align 8 - %deref1 = load %__vtable_A*, %__vtable_A** %self, align 8 + store void (%A*)* @A, void (%A*)** %__body, align [filtered] + %deref1 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %foo = getelementptr inbounds %__vtable_A, %__vtable_A* %deref1, i32 0, i32 1 - store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align 8 + store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align [filtered] ret void } define void @__init___vtable_b(%__vtable_B* %0) { entry: - %self = alloca %__vtable_B*, align 8 - store %__vtable_B* %0, %__vtable_B** %self, align 8 - %deref = load %__vtable_B*, %__vtable_B** %self, align 8 + %self = alloca %__vtable_B*, align [filtered] + store %__vtable_B* %0, %__vtable_B** %self, align [filtered] + %deref = load %__vtable_B*, %__vtable_B** %self, align [filtered] %__body = getelementptr inbounds %__vtable_B, %__vtable_B* %deref, i32 0, i32 0 - store void (%B*)* @B, void (%B*)** %__body, align 8 - %deref1 = load %__vtable_B*, %__vtable_B** %self, align 8 + store void (%B*)* @B, void (%B*)** %__body, align [filtered] + %deref1 = load %__vtable_B*, %__vtable_B** %self, align [filtered] %foo = getelementptr inbounds %__vtable_B, %__vtable_B* %deref1, i32 0, i32 1 - store i16 (%B*, i32)* @B__foo, i16 (%B*, i32)** %foo, align 8 + store i16 (%B*, i32)* @B__foo, i16 (%B*, i32)** %foo, align [filtered] ret void } define void @__init_b(%B* %0) { entry: - %self = alloca %B*, align 8 - store %B* %0, %B** %self, align 8 - %deref = load %B*, %B** %self, align 8 + %self = alloca %B*, align [filtered] + store %B* %0, %B** %self, align [filtered] + %deref = load %B*, %B** %self, align [filtered] %__A = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 call void @__init_a(%A* %__A) - %deref1 = load %B*, %B** %self, align 8 + %deref1 = load %B*, %B** %self, align [filtered] %__A2 = getelementptr inbounds %B, %B* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %A, %A* %__A2, i32 0, i32 0 - store i32* bitcast (%__vtable_B* @__vtable_B_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_B* @__vtable_B_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_a(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 - %deref = load %A*, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] + %deref = load %A*, %A** %self, align [filtered] %__vtable = getelementptr inbounds %A, %A* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_A(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] ret void } define void @__user_init_B(%B* %0) { entry: - %self = alloca %B*, align 8 - store %B* %0, %B** %self, align 8 - %deref = load %B*, %B** %self, align 8 + %self = alloca %B*, align [filtered] + store %B* %0, %B** %self, align [filtered] + %deref = load %B*, %B** %self, align [filtered] %__A = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 call void @__user_init_A(%A* %__A) ret void @@ -222,15 +222,15 @@ fn simple_overridden_method() { define void @__user_init_A(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] ret void } define void @__user_init___vtable_B(%__vtable_B* %0) { entry: - %self = alloca %__vtable_B*, align 8 - store %__vtable_B* %0, %__vtable_B** %self, align 8 + %self = alloca %__vtable_B*, align [filtered] + store %__vtable_B* %0, %__vtable_B** %self, align [filtered] ret void } @@ -283,78 +283,78 @@ fn method_call_within_method() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 ret void } define i16 @A__foo(%A* %0, i32 %1) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 - %A.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %A.foo, align 2 - %A__foo_ret = load i16, i16* %A.foo, align 2 + %A.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %A.foo, align [filtered] + %A__foo_ret = load i16, i16* %A.foo, align [filtered] ret i16 %A__foo_ret } define void @A__bar(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 - %deref = load %A*, %A** %this, align 8 + %deref = load %A*, %A** %this, align [filtered] %__vtable1 = getelementptr inbounds %A, %A* %deref, i32 0, i32 0 - %deref2 = load i32*, i32** %__vtable1, align 8 + %deref2 = load i32*, i32** %__vtable1, align [filtered] %cast = bitcast i32* %deref2 to %__vtable_A* %foo = getelementptr inbounds %__vtable_A, %__vtable_A* %cast, i32 0, i32 1 - %1 = load i16 (%A*, i32)*, i16 (%A*, i32)** %foo, align 8 - %deref3 = load %A*, %A** %this, align 8 + %1 = load i16 (%A*, i32)*, i16 (%A*, i32)** %foo, align [filtered] + %deref3 = load %A*, %A** %this, align [filtered] %fnptr_call = call i16 %1(%A* %deref3, i32 5) ret void } define void @__init___vtable_a(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 - %deref = load %__vtable_A*, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] + %deref = load %__vtable_A*, %__vtable_A** %self, align [filtered] %__body = getelementptr inbounds %__vtable_A, %__vtable_A* %deref, i32 0, i32 0 - store void (%A*)* @A, void (%A*)** %__body, align 8 - %deref1 = load %__vtable_A*, %__vtable_A** %self, align 8 + store void (%A*)* @A, void (%A*)** %__body, align [filtered] + %deref1 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %foo = getelementptr inbounds %__vtable_A, %__vtable_A* %deref1, i32 0, i32 1 - store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align 8 - %deref2 = load %__vtable_A*, %__vtable_A** %self, align 8 + store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align [filtered] + %deref2 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %bar = getelementptr inbounds %__vtable_A, %__vtable_A* %deref2, i32 0, i32 2 - store void (%A*)* @A__bar, void (%A*)** %bar, align 8 + store void (%A*)* @A__bar, void (%A*)** %bar, align [filtered] ret void } define void @__init_a(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 - %deref = load %A*, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] + %deref = load %A*, %A** %self, align [filtered] %__vtable = getelementptr inbounds %A, %A* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_A(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] ret void } define void @__user_init___vtable_A(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] ret void } @@ -432,47 +432,47 @@ fn this_is_untouched() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 ret void } define i16 @A__foo(%A* %0, i32 %1) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 - %A.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %A.foo, align 2 - %A__foo_ret = load i16, i16* %A.foo, align 2 + %A.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %A.foo, align [filtered] + %A__foo_ret = load i16, i16* %A.foo, align [filtered] ret i16 %A__foo_ret } define void @A__bar(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 ret void } define void @B(%B* %0) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 ret void } define void @B__bar(%B* %0) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 - %deref = load %B*, %B** %this, align 8 + %deref = load %B*, %B** %this, align [filtered] %__A1 = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 %call = call i16 @A__foo(%A* %__A1, i32 5) ret void @@ -480,128 +480,128 @@ fn this_is_untouched() { define void @C(%C* %0) { entry: - %this = alloca %C*, align 8 - store %C* %0, %C** %this, align 8 + %this = alloca %C*, align [filtered] + store %C* %0, %C** %this, align [filtered] %__A = getelementptr inbounds %C, %C* %0, i32 0, i32 0 ret void } define i16 @C__foo(%C* %0, i32 %1) { entry: - %this = alloca %C*, align 8 - store %C* %0, %C** %this, align 8 + %this = alloca %C*, align [filtered] + store %C* %0, %C** %this, align [filtered] %__A = getelementptr inbounds %C, %C* %0, i32 0, i32 0 - %C.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %C.foo, align 2 - %deref = load %C*, %C** %this, align 8 + %C.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %C.foo, align [filtered] + %deref = load %C*, %C** %this, align [filtered] call void @C__bar(%C* %deref) - %C__foo_ret = load i16, i16* %C.foo, align 2 + %C__foo_ret = load i16, i16* %C.foo, align [filtered] ret i16 %C__foo_ret } define void @C__bar(%C* %0) { entry: - %this = alloca %C*, align 8 - store %C* %0, %C** %this, align 8 + %this = alloca %C*, align [filtered] + store %C* %0, %C** %this, align [filtered] %__A = getelementptr inbounds %C, %C* %0, i32 0, i32 0 - %deref = load %C*, %C** %this, align 8 + %deref = load %C*, %C** %this, align [filtered] %call = call i16 @C__foo(%C* %deref, i32 5) ret void } define void @__init___vtable_a(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 - %deref = load %__vtable_A*, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] + %deref = load %__vtable_A*, %__vtable_A** %self, align [filtered] %__body = getelementptr inbounds %__vtable_A, %__vtable_A* %deref, i32 0, i32 0 - store void (%A*)* @A, void (%A*)** %__body, align 8 - %deref1 = load %__vtable_A*, %__vtable_A** %self, align 8 + store void (%A*)* @A, void (%A*)** %__body, align [filtered] + %deref1 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %foo = getelementptr inbounds %__vtable_A, %__vtable_A* %deref1, i32 0, i32 1 - store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align 8 - %deref2 = load %__vtable_A*, %__vtable_A** %self, align 8 + store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align [filtered] + %deref2 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %bar = getelementptr inbounds %__vtable_A, %__vtable_A* %deref2, i32 0, i32 2 - store void (%A*)* @A__bar, void (%A*)** %bar, align 8 + store void (%A*)* @A__bar, void (%A*)** %bar, align [filtered] ret void } define void @__init___vtable_b(%__vtable_B* %0) { entry: - %self = alloca %__vtable_B*, align 8 - store %__vtable_B* %0, %__vtable_B** %self, align 8 - %deref = load %__vtable_B*, %__vtable_B** %self, align 8 + %self = alloca %__vtable_B*, align [filtered] + store %__vtable_B* %0, %__vtable_B** %self, align [filtered] + %deref = load %__vtable_B*, %__vtable_B** %self, align [filtered] %__body = getelementptr inbounds %__vtable_B, %__vtable_B* %deref, i32 0, i32 0 - store void (%B*)* @B, void (%B*)** %__body, align 8 - %deref1 = load %__vtable_B*, %__vtable_B** %self, align 8 + store void (%B*)* @B, void (%B*)** %__body, align [filtered] + %deref1 = load %__vtable_B*, %__vtable_B** %self, align [filtered] %foo = getelementptr inbounds %__vtable_B, %__vtable_B* %deref1, i32 0, i32 1 - store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align 8 - %deref2 = load %__vtable_B*, %__vtable_B** %self, align 8 + store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align [filtered] + %deref2 = load %__vtable_B*, %__vtable_B** %self, align [filtered] %bar = getelementptr inbounds %__vtable_B, %__vtable_B* %deref2, i32 0, i32 2 - store void (%B*)* @B__bar, void (%B*)** %bar, align 8 + store void (%B*)* @B__bar, void (%B*)** %bar, align [filtered] ret void } define void @__init___vtable_c(%__vtable_C* %0) { entry: - %self = alloca %__vtable_C*, align 8 - store %__vtable_C* %0, %__vtable_C** %self, align 8 - %deref = load %__vtable_C*, %__vtable_C** %self, align 8 + %self = alloca %__vtable_C*, align [filtered] + store %__vtable_C* %0, %__vtable_C** %self, align [filtered] + %deref = load %__vtable_C*, %__vtable_C** %self, align [filtered] %__body = getelementptr inbounds %__vtable_C, %__vtable_C* %deref, i32 0, i32 0 - store void (%C*)* @C, void (%C*)** %__body, align 8 - %deref1 = load %__vtable_C*, %__vtable_C** %self, align 8 + store void (%C*)* @C, void (%C*)** %__body, align [filtered] + %deref1 = load %__vtable_C*, %__vtable_C** %self, align [filtered] %foo = getelementptr inbounds %__vtable_C, %__vtable_C* %deref1, i32 0, i32 1 - store i16 (%C*, i32)* @C__foo, i16 (%C*, i32)** %foo, align 8 - %deref2 = load %__vtable_C*, %__vtable_C** %self, align 8 + store i16 (%C*, i32)* @C__foo, i16 (%C*, i32)** %foo, align [filtered] + %deref2 = load %__vtable_C*, %__vtable_C** %self, align [filtered] %bar = getelementptr inbounds %__vtable_C, %__vtable_C* %deref2, i32 0, i32 2 - store void (%C*)* @C__bar, void (%C*)** %bar, align 8 + store void (%C*)* @C__bar, void (%C*)** %bar, align [filtered] ret void } define void @__init_a(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 - %deref = load %A*, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] + %deref = load %A*, %A** %self, align [filtered] %__vtable = getelementptr inbounds %A, %A* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_b(%B* %0) { entry: - %self = alloca %B*, align 8 - store %B* %0, %B** %self, align 8 - %deref = load %B*, %B** %self, align 8 + %self = alloca %B*, align [filtered] + store %B* %0, %B** %self, align [filtered] + %deref = load %B*, %B** %self, align [filtered] %__A = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 call void @__init_a(%A* %__A) - %deref1 = load %B*, %B** %self, align 8 + %deref1 = load %B*, %B** %self, align [filtered] %__A2 = getelementptr inbounds %B, %B* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %A, %A* %__A2, i32 0, i32 0 - store i32* bitcast (%__vtable_B* @__vtable_B_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_B* @__vtable_B_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_c(%C* %0) { entry: - %self = alloca %C*, align 8 - store %C* %0, %C** %self, align 8 - %deref = load %C*, %C** %self, align 8 + %self = alloca %C*, align [filtered] + store %C* %0, %C** %self, align [filtered] + %deref = load %C*, %C** %self, align [filtered] %__A = getelementptr inbounds %C, %C* %deref, i32 0, i32 0 call void @__init_a(%A* %__A) - %deref1 = load %C*, %C** %self, align 8 + %deref1 = load %C*, %C** %self, align [filtered] %__A2 = getelementptr inbounds %C, %C* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %A, %A* %__A2, i32 0, i32 0 - store i32* bitcast (%__vtable_C* @__vtable_C_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_C* @__vtable_C_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init_C(%C* %0) { entry: - %self = alloca %C*, align 8 - store %C* %0, %C** %self, align 8 - %deref = load %C*, %C** %self, align 8 + %self = alloca %C*, align [filtered] + store %C* %0, %C** %self, align [filtered] + %deref = load %C*, %C** %self, align [filtered] %__A = getelementptr inbounds %C, %C* %deref, i32 0, i32 0 call void @__user_init_A(%A* %__A) ret void @@ -609,23 +609,23 @@ fn this_is_untouched() { define void @__user_init_A(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] ret void } define void @__user_init___vtable_A(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] ret void } define void @__user_init_B(%B* %0) { entry: - %self = alloca %B*, align 8 - store %B* %0, %B** %self, align 8 - %deref = load %B*, %B** %self, align 8 + %self = alloca %B*, align [filtered] + store %B* %0, %B** %self, align [filtered] + %deref = load %B*, %B** %self, align [filtered] %__A = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 call void @__user_init_A(%A* %__A) ret void @@ -633,15 +633,15 @@ fn this_is_untouched() { define void @__user_init___vtable_C(%__vtable_C* %0) { entry: - %self = alloca %__vtable_C*, align 8 - store %__vtable_C* %0, %__vtable_C** %self, align 8 + %self = alloca %__vtable_C*, align [filtered] + store %__vtable_C* %0, %__vtable_C** %self, align [filtered] ret void } define void @__user_init___vtable_B(%__vtable_B* %0) { entry: - %self = alloca %__vtable_B*, align 8 - store %__vtable_B* %0, %__vtable_B** %self, align 8 + %self = alloca %__vtable_B*, align [filtered] + store %__vtable_B* %0, %__vtable_B** %self, align [filtered] ret void } @@ -713,60 +713,60 @@ fn super_is_untouched() { define void @A(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 ret void } define i16 @A__foo(%A* %0, i32 %1) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 - %A.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %A.foo, align 2 - %A__foo_ret = load i16, i16* %A.foo, align 2 + %A.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %A.foo, align [filtered] + %A__foo_ret = load i16, i16* %A.foo, align [filtered] ret i16 %A__foo_ret } define void @A__bar(%A* %0) { entry: - %this = alloca %A*, align 8 - store %A* %0, %A** %this, align 8 + %this = alloca %A*, align [filtered] + store %A* %0, %A** %this, align [filtered] %__vtable = getelementptr inbounds %A, %A* %0, i32 0, i32 0 ret void } define void @B(%B* %0) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 ret void } define i16 @B__foo(%B* %0, i32 %1) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 - %B.foo = alloca i16, align 2 - %in = alloca i32, align 4 - store i32 %1, i32* %in, align 4 - store i16 0, i16* %B.foo, align 2 + %B.foo = alloca i16, align [filtered] + %in = alloca i32, align [filtered] + store i32 %1, i32* %in, align [filtered] + store i16 0, i16* %B.foo, align [filtered] %call = call i16 @A__foo(%A* %__A, i32 5) call void @A__bar(%A* %__A) - %B__foo_ret = load i16, i16* %B.foo, align 2 + %B__foo_ret = load i16, i16* %B.foo, align [filtered] ret i16 %B__foo_ret } define void @B__bar(%B* %0) { entry: - %this = alloca %B*, align 8 - store %B* %0, %B** %this, align 8 + %this = alloca %B*, align [filtered] + store %B* %0, %B** %this, align [filtered] %__A = getelementptr inbounds %B, %B* %0, i32 0, i32 0 %call = call i16 @A__foo(%A* %__A, i32 5) call void @A__bar(%A* %__A) @@ -775,72 +775,72 @@ fn super_is_untouched() { define void @__init___vtable_a(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 - %deref = load %__vtable_A*, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] + %deref = load %__vtable_A*, %__vtable_A** %self, align [filtered] %__body = getelementptr inbounds %__vtable_A, %__vtable_A* %deref, i32 0, i32 0 - store void (%A*)* @A, void (%A*)** %__body, align 8 - %deref1 = load %__vtable_A*, %__vtable_A** %self, align 8 + store void (%A*)* @A, void (%A*)** %__body, align [filtered] + %deref1 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %foo = getelementptr inbounds %__vtable_A, %__vtable_A* %deref1, i32 0, i32 1 - store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align 8 - %deref2 = load %__vtable_A*, %__vtable_A** %self, align 8 + store i16 (%A*, i32)* @A__foo, i16 (%A*, i32)** %foo, align [filtered] + %deref2 = load %__vtable_A*, %__vtable_A** %self, align [filtered] %bar = getelementptr inbounds %__vtable_A, %__vtable_A* %deref2, i32 0, i32 2 - store void (%A*)* @A__bar, void (%A*)** %bar, align 8 + store void (%A*)* @A__bar, void (%A*)** %bar, align [filtered] ret void } define void @__init___vtable_b(%__vtable_B* %0) { entry: - %self = alloca %__vtable_B*, align 8 - store %__vtable_B* %0, %__vtable_B** %self, align 8 - %deref = load %__vtable_B*, %__vtable_B** %self, align 8 + %self = alloca %__vtable_B*, align [filtered] + store %__vtable_B* %0, %__vtable_B** %self, align [filtered] + %deref = load %__vtable_B*, %__vtable_B** %self, align [filtered] %__body = getelementptr inbounds %__vtable_B, %__vtable_B* %deref, i32 0, i32 0 - store void (%B*)* @B, void (%B*)** %__body, align 8 - %deref1 = load %__vtable_B*, %__vtable_B** %self, align 8 + store void (%B*)* @B, void (%B*)** %__body, align [filtered] + %deref1 = load %__vtable_B*, %__vtable_B** %self, align [filtered] %foo = getelementptr inbounds %__vtable_B, %__vtable_B* %deref1, i32 0, i32 1 - store i16 (%B*, i32)* @B__foo, i16 (%B*, i32)** %foo, align 8 - %deref2 = load %__vtable_B*, %__vtable_B** %self, align 8 + store i16 (%B*, i32)* @B__foo, i16 (%B*, i32)** %foo, align [filtered] + %deref2 = load %__vtable_B*, %__vtable_B** %self, align [filtered] %bar = getelementptr inbounds %__vtable_B, %__vtable_B* %deref2, i32 0, i32 2 - store void (%B*)* @B__bar, void (%B*)** %bar, align 8 + store void (%B*)* @B__bar, void (%B*)** %bar, align [filtered] ret void } define void @__init_a(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 - %deref = load %A*, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] + %deref = load %A*, %A** %self, align [filtered] %__vtable = getelementptr inbounds %A, %A* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_A* @__vtable_A_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_b(%B* %0) { entry: - %self = alloca %B*, align 8 - store %B* %0, %B** %self, align 8 - %deref = load %B*, %B** %self, align 8 + %self = alloca %B*, align [filtered] + store %B* %0, %B** %self, align [filtered] + %deref = load %B*, %B** %self, align [filtered] %__A = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 call void @__init_a(%A* %__A) - %deref1 = load %B*, %B** %self, align 8 + %deref1 = load %B*, %B** %self, align [filtered] %__A2 = getelementptr inbounds %B, %B* %deref1, i32 0, i32 0 %__vtable = getelementptr inbounds %A, %A* %__A2, i32 0, i32 0 - store i32* bitcast (%__vtable_B* @__vtable_B_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_B* @__vtable_B_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_A(%__vtable_A* %0) { entry: - %self = alloca %__vtable_A*, align 8 - store %__vtable_A* %0, %__vtable_A** %self, align 8 + %self = alloca %__vtable_A*, align [filtered] + store %__vtable_A* %0, %__vtable_A** %self, align [filtered] ret void } define void @__user_init_B(%B* %0) { entry: - %self = alloca %B*, align 8 - store %B* %0, %B** %self, align 8 - %deref = load %B*, %B** %self, align 8 + %self = alloca %B*, align [filtered] + store %B* %0, %B** %self, align [filtered] + %deref = load %B*, %B** %self, align [filtered] %__A = getelementptr inbounds %B, %B* %deref, i32 0, i32 0 call void @__user_init_A(%A* %__A) ret void @@ -848,15 +848,15 @@ fn super_is_untouched() { define void @__user_init_A(%A* %0) { entry: - %self = alloca %A*, align 8 - store %A* %0, %A** %self, align 8 + %self = alloca %A*, align [filtered] + store %A* %0, %A** %self, align [filtered] ret void } define void @__user_init___vtable_B(%__vtable_B* %0) { entry: - %self = alloca %__vtable_B*, align 8 - store %__vtable_B* %0, %__vtable_B** %self, align 8 + %self = alloca %__vtable_B*, align [filtered] + store %__vtable_B* %0, %__vtable_B** %self, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_array_in_struct.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_array_in_struct.snap index d322e874d5..158d3afcc2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_array_in_struct.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_array_in_struct.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,6 +18,6 @@ entry: %m = getelementptr inbounds %Main, %Main* %0, i32 0, i32 0 %field1 = getelementptr inbounds %MyStruct, %MyStruct* %m, i32 0, i32 0 %tmpVar = getelementptr inbounds [5 x i16], [5 x i16]* %field1, i32 0, i32 3 - store i16 7, i16* %tmpVar, align 2 + store i16 7, i16* %tmpVar, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_structs.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_structs.snap index 4fc4cbccf0..3c702ae3d2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_structs.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__accessing_nested_structs.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,9 +20,9 @@ entry: %m = getelementptr inbounds %Main, %Main* %0, i32 0, i32 0 %out1 = getelementptr inbounds %OuterStruct, %OuterStruct* %m, i32 0, i32 0 %inner1 = getelementptr inbounds %InnerStruct, %InnerStruct* %out1, i32 0, i32 0 - store i16 3, i16* %inner1, align 2 + store i16 3, i16* %inner1, align [filtered] %out2 = getelementptr inbounds %OuterStruct, %OuterStruct* %m, i32 0, i32 1 %inner2 = getelementptr inbounds %InnerStruct, %InnerStruct* %out2, i32 0, i32 1 - store i16 7, i16* %inner2, align 2 + store i16 7, i16* %inner2, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__action_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__action_called_in_program.snap index b4a1de7286..38f1ca4c2d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__action_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__action_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -22,6 +21,6 @@ entry: define void @prg__foo(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 2, i32* %x, align 4 + store i32 2, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_used.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_used.snap index 68e5d47ca1..dcc1876cf0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_used.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_used.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,11 +15,11 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %tmpVar = getelementptr inbounds [4 x i32], [4 x i32]* %x, i32 0, i32 1 - store i32 3, i32* %tmpVar, align 4 + store i32 3, i32* %tmpVar, align [filtered] %tmpVar1 = getelementptr inbounds [4 x i32], [4 x i32]* %x, i32 0, i32 2 %tmpVar2 = getelementptr inbounds [4 x i32], [4 x i32]* %x, i32 0, i32 3 - %load_tmpVar = load i32, i32* %tmpVar2, align 4 + %load_tmpVar = load i32, i32* %tmpVar2, align [filtered] %tmpVar3 = add i32 %load_tmpVar, 3 - store i32 %tmpVar3, i32* %tmpVar1, align 4 + store i32 %tmpVar3, i32* %tmpVar1, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_negative_start_used.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_negative_start_used.snap index 016d218b00..11571783dd 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_negative_start_used.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_negative_start_used.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,11 +15,11 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %tmpVar = getelementptr inbounds [6 x i32], [6 x i32]* %x, i32 0, i32 1 - store i32 3, i32* %tmpVar, align 4 + store i32 3, i32* %tmpVar, align [filtered] %tmpVar1 = getelementptr inbounds [6 x i32], [6 x i32]* %x, i32 0, i32 4 %tmpVar2 = getelementptr inbounds [6 x i32], [6 x i32]* %x, i32 0, i32 5 - %load_tmpVar = load i32, i32* %tmpVar2, align 4 + %load_tmpVar = load i32, i32* %tmpVar2, align [filtered] %tmpVar3 = add i32 %load_tmpVar, 3 - store i32 %tmpVar3, i32* %tmpVar1, align 4 + store i32 %tmpVar3, i32* %tmpVar1, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_start_used.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_start_used.snap index aa1a2db386..0d21ee4253 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_start_used.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__array_of_int_type_with_non_zero_start_used.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,11 +15,11 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %tmpVar = getelementptr inbounds [3 x i32], [3 x i32]* %x, i32 0, i32 0 - store i32 3, i32* %tmpVar, align 4 + store i32 3, i32* %tmpVar, align [filtered] %tmpVar1 = getelementptr inbounds [3 x i32], [3 x i32]* %x, i32 0, i32 1 %tmpVar2 = getelementptr inbounds [3 x i32], [3 x i32]* %x, i32 0, i32 2 - %load_tmpVar = load i32, i32* %tmpVar2, align 4 + %load_tmpVar = load i32, i32* %tmpVar2, align [filtered] %tmpVar3 = add i32 %load_tmpVar, 3 - store i32 %tmpVar3, i32* %tmpVar1, align 4 + store i32 %tmpVar3, i32* %tmpVar1, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_constant_expressions_in_case_selectors.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_constant_expressions_in_case_selectors.snap index c3a2b2845f..1aabf1c213 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_constant_expressions_in_case_selectors.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_constant_expressions_in_case_selectors.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @drive() { entry: - %drive = alloca i32, align 4 - %input = alloca i32, align 4 - %horiz = alloca i32, align 4 - %depth = alloca i32, align 4 - store i32 0, i32* %input, align 4 - store i32 0, i32* %horiz, align 4 - store i32 0, i32* %depth, align 4 - store i32 0, i32* %drive, align 4 - %load_input = load i32, i32* %input, align 4 + %drive = alloca i32, align [filtered] + %input = alloca i32, align [filtered] + %horiz = alloca i32, align [filtered] + %depth = alloca i32, align [filtered] + store i32 0, i32* %input, align [filtered] + store i32 0, i32* %horiz, align [filtered] + store i32 0, i32* %depth, align [filtered] + store i32 0, i32* %drive, align [filtered] + %load_input = load i32, i32* %input, align [filtered] switch i32 %load_input, label %else [ i32 7, label %case i32 14, label %case1 @@ -31,33 +30,33 @@ entry: ] case: ; preds = %entry - %load_horiz = load i32, i32* %horiz, align 4 + %load_horiz = load i32, i32* %horiz, align [filtered] %tmpVar = add i32 %load_horiz, 1 - store i32 %tmpVar, i32* %horiz, align 4 + store i32 %tmpVar, i32* %horiz, align [filtered] br label %continue case1: ; preds = %entry - %load_horiz2 = load i32, i32* %horiz, align 4 + %load_horiz2 = load i32, i32* %horiz, align [filtered] %tmpVar3 = add i32 %load_horiz2, 2 - store i32 %tmpVar3, i32* %horiz, align 4 + store i32 %tmpVar3, i32* %horiz, align [filtered] br label %continue case4: ; preds = %entry - %load_depth = load i32, i32* %depth, align 4 + %load_depth = load i32, i32* %depth, align [filtered] %tmpVar5 = sub i32 %load_depth, 1 - store i32 %tmpVar5, i32* %depth, align 4 + store i32 %tmpVar5, i32* %depth, align [filtered] br label %continue case6: ; preds = %entry - %load_depth7 = load i32, i32* %depth, align 4 + %load_depth7 = load i32, i32* %depth, align [filtered] %tmpVar8 = add i32 %load_depth7, 1 - store i32 %tmpVar8, i32* %depth, align 4 + store i32 %tmpVar8, i32* %depth, align [filtered] br label %continue else: ; preds = %entry br label %continue continue: ; preds = %else, %case6, %case4, %case1, %case - %drive_ret = load i32, i32* %drive, align 4 + %drive_ret = load i32, i32* %drive, align [filtered] ret i32 %drive_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_enum_expressions_in_case_selectors.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_enum_expressions_in_case_selectors.snap index a44fd34479..659e800392 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_enum_expressions_in_case_selectors.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_enum_expressions_in_case_selectors.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,15 +14,15 @@ target triple = "[filtered]" define i32 @drive() { entry: - %drive = alloca i32, align 4 - %input = alloca i32, align 4 - %horiz = alloca i32, align 4 - %depth = alloca i32, align 4 - store i32 0, i32* %input, align 4 - store i32 0, i32* %horiz, align 4 - store i32 0, i32* %depth, align 4 - store i32 0, i32* %drive, align 4 - %load_input = load i32, i32* %input, align 4 + %drive = alloca i32, align [filtered] + %input = alloca i32, align [filtered] + %horiz = alloca i32, align [filtered] + %depth = alloca i32, align [filtered] + store i32 0, i32* %input, align [filtered] + store i32 0, i32* %horiz, align [filtered] + store i32 0, i32* %depth, align [filtered] + store i32 0, i32* %drive, align [filtered] + %load_input = load i32, i32* %input, align [filtered] switch i32 %load_input, label %else [ i32 7, label %case i32 14, label %case1 @@ -32,33 +31,33 @@ entry: ] case: ; preds = %entry - %load_horiz = load i32, i32* %horiz, align 4 + %load_horiz = load i32, i32* %horiz, align [filtered] %tmpVar = add i32 %load_horiz, 1 - store i32 %tmpVar, i32* %horiz, align 4 + store i32 %tmpVar, i32* %horiz, align [filtered] br label %continue case1: ; preds = %entry - %load_horiz2 = load i32, i32* %horiz, align 4 + %load_horiz2 = load i32, i32* %horiz, align [filtered] %tmpVar3 = add i32 %load_horiz2, 2 - store i32 %tmpVar3, i32* %horiz, align 4 + store i32 %tmpVar3, i32* %horiz, align [filtered] br label %continue case4: ; preds = %entry - %load_depth = load i32, i32* %depth, align 4 + %load_depth = load i32, i32* %depth, align [filtered] %tmpVar5 = sub i32 %load_depth, 1 - store i32 %tmpVar5, i32* %depth, align 4 + store i32 %tmpVar5, i32* %depth, align [filtered] br label %continue case6: ; preds = %entry - %load_depth7 = load i32, i32* %depth, align 4 + %load_depth7 = load i32, i32* %depth, align [filtered] %tmpVar8 = add i32 %load_depth7, 1 - store i32 %tmpVar8, i32* %depth, align 4 + store i32 %tmpVar8, i32* %depth, align [filtered] br label %continue else: ; preds = %entry br label %continue continue: ; preds = %else, %case6, %case4, %case1, %case - %drive_ret = load i32, i32* %drive, align 4 + %drive_ret = load i32, i32* %drive, align [filtered] ret i32 %drive_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_multiple_labels_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_multiple_labels_statement.snap index c9f4edd47f..4ede49f9ab 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_multiple_labels_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_multiple_labels_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] switch i32 %load_x, label %else [ i32 1, label %case i32 2, label %case @@ -25,15 +24,15 @@ entry: ] case: ; preds = %entry, %entry - store i32 1, i32* %y, align 4 + store i32 1, i32* %y, align [filtered] br label %continue case1: ; preds = %entry, %entry - store i32 2, i32* %y, align 4 + store i32 2, i32* %y, align [filtered] br label %continue else: ; preds = %entry - store i32 -1, i32* %y, align 4 + store i32 -1, i32* %y, align [filtered] br label %continue continue: ; preds = %else, %case1, %case diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_ranges_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_ranges_statement.snap index f9e3ecae34..d4e87e101f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_ranges_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__case_with_ranges_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,21 +15,21 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] switch i32 %load_x, label %else [ ] case: ; preds = %range_then - store i32 2, i32* %y, align 4 + store i32 2, i32* %y, align [filtered] br label %continue else: ; preds = %entry - %load_x1 = load i32, i32* %x, align 4 + %load_x1 = load i32, i32* %x, align [filtered] %tmpVar = icmp sge i32 %load_x1, 2 br i1 %tmpVar, label %range_then, label %range_else range_then: ; preds = %else - %load_x2 = load i32, i32* %x, align 4 + %load_x2 = load i32, i32* %x, align [filtered] %tmpVar3 = icmp sle i32 %load_x2, 3 br i1 %tmpVar3, label %case, label %range_else diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_bool_code_gen_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_bool_code_gen_test.snap index ddda0d7b31..40aa080f68 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_bool_code_gen_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_bool_code_gen_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,9 +14,9 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i8 1, i8* %z, align 1 - store i8 0, i8* %z, align 1 - store i8 1, i8* %z, align 1 - store i8 0, i8* %z, align 1 + store i8 1, i8* %z, align [filtered] + store i8 0, i8* %z, align [filtered] + store i8 1, i8* %z, align [filtered] + store i8 0, i8* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_code_gen_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_code_gen_test.snap index 1925655b16..4ed774326c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_code_gen_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_code_gen_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,10 +15,10 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x to i32 %tmpVar = add i32 %1, 7 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %z, align 2 + store i16 %2, i16* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_code_gen_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_code_gen_test.snap index 895a6806b3..a1bc9fb267 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_code_gen_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_code_gen_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,10 +15,10 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x to i32 %tmpVar = add i32 %1, 13 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %z, align 2 + store i16 %2, i16* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_ints_code_gen_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_ints_code_gen_test.snap index 0cb3affb82..652515df22 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_ints_code_gen_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_hex_ints_code_gen_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,7 +14,7 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 -1, i32* %x, align 4 - store i32 65535, i32* %x, align 4 + store i32 -1, i32* %x, align [filtered] + store i32 65535, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_lreal_code_gen_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_lreal_code_gen_test.snap index 6012a2a7c8..f1c964b80f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_lreal_code_gen_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_lreal_code_gen_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,10 +15,10 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load float, float* %x, align 4 + %load_x = load float, float* %x, align [filtered] %1 = fpext float %load_x to double %tmpVar = fadd double %1, 7.700000e+00 %2 = fptrunc double %tmpVar to float - store float %2, float* %z, align 4 + store float %2, float* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_real_code_gen_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_real_code_gen_test.snap index 838eecf906..f63025d2f5 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_real_code_gen_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__casted_literals_real_code_gen_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,9 +15,9 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sitofp i16 %load_x to float %tmpVar = fdiv float %1, 7.000000e+00 - store float %tmpVar, float* %z, align 4 + store float %tmpVar, float* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_member_access_from_method.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_member_access_from_method.snap index eaad233174..128e6b14b0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_member_access_from_method.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_member_access_from_method.snap @@ -22,17 +22,17 @@ define void @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - %myMethodLocalVar = alloca i16, align 2 - store i16 0, i16* %myMethodLocalVar, align 2 - %load_myMethodArg = load i16, i16* %myMethodArg, align 2 - store i16 %load_myMethodArg, i16* %x, align 2 - %load_x = load i16, i16* %x, align 2 - store i16 %load_x, i16* %y, align 2 - %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align 2 + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + %myMethodLocalVar = alloca i16, align [filtered] + store i16 0, i16* %myMethodLocalVar, align [filtered] + %load_myMethodArg = load i16, i16* %myMethodArg, align [filtered] + store i16 %load_myMethodArg, i16* %x, align [filtered] + %load_x = load i16, i16* %x, align [filtered] + store i16 %load_x, i16* %y, align [filtered] + %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align [filtered] %2 = sext i16 %load_myMethodLocalVar to i32 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %3 = sext i16 %load_y to i32 %tmpVar = icmp eq i32 %2, %3 ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_method_in_pou.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_method_in_pou.snap index cd287725b2..3fdab6cb8f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_method_in_pou.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__class_method_in_pou.snap @@ -24,17 +24,17 @@ define void @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - %myMethodLocalVar = alloca i16, align 2 - store i16 0, i16* %myMethodLocalVar, align 2 - %load_myMethodArg = load i16, i16* %myMethodArg, align 2 - store i16 %load_myMethodArg, i16* %x, align 2 - %load_x = load i16, i16* %x, align 2 - store i16 %load_x, i16* %y, align 2 - %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align 2 + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + %myMethodLocalVar = alloca i16, align [filtered] + store i16 0, i16* %myMethodLocalVar, align [filtered] + %load_myMethodArg = load i16, i16* %myMethodArg, align [filtered] + store i16 %load_myMethodArg, i16* %x, align [filtered] + %load_x = load i16, i16* %x, align [filtered] + store i16 %load_x, i16* %y, align [filtered] + %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align [filtered] %2 = sext i16 %load_myMethodLocalVar to i32 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %3 = sext i16 %load_y to i32 %tmpVar = icmp eq i32 %2, %3 ret void @@ -45,11 +45,11 @@ entry: %cl = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x1 = getelementptr inbounds %MyClass, %MyClass* %cl, i32 0, i32 0 - %load_x = load i16, i16* %x1, align 2 - store i16 %load_x, i16* %x, align 2 - %load_x2 = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x1, align [filtered] + store i16 %load_x, i16* %x, align [filtered] + %load_x2 = load i16, i16* %x, align [filtered] call void @MyClass__testMethod(%MyClass* %cl, i16 %load_x2) - %load_x3 = load i16, i16* %x, align 2 + %load_x3 = load i16, i16* %x, align [filtered] call void @MyClass__testMethod(%MyClass* %cl, i16 %load_x3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__complex_pointers.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__complex_pointers.snap index 195ed8a2db..b0fd9d27bb 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__complex_pointers.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__complex_pointers.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,29 +18,29 @@ entry: %arrrX = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %rarrX = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 %tmpVar = getelementptr inbounds [10 x i16], [10 x i16]* %arrX, i32 0, i32 0 - %load_X = load i16, i16* %X, align 2 - store i16 %load_X, i16* %tmpVar, align 2 + %load_X = load i16, i16* %X, align [filtered] + store i16 %load_X, i16* %tmpVar, align [filtered] %tmpVar1 = getelementptr inbounds [10 x i16*], [10 x i16*]* %arrrX, i32 0, i32 1 %tmpVar2 = getelementptr inbounds [10 x i16], [10 x i16]* %arrX, i32 0, i32 2 - store i16* %tmpVar2, i16** %tmpVar1, align 8 - store [10 x i16]* %arrX, [10 x i16]** %rarrX, align 8 + store i16* %tmpVar2, i16** %tmpVar1, align [filtered] + store [10 x i16]* %arrX, [10 x i16]** %rarrX, align [filtered] %tmpVar3 = getelementptr inbounds [10 x i16*], [10 x i16*]* %arrrX, i32 0, i32 3 - %deref = load i16*, i16** %tmpVar3, align 8 - %load_tmpVar = load i16, i16* %deref, align 2 - store i16 %load_tmpVar, i16* %X, align 2 - %deref4 = load [10 x i16]*, [10 x i16]** %rarrX, align 8 + %deref = load i16*, i16** %tmpVar3, align [filtered] + %load_tmpVar = load i16, i16* %deref, align [filtered] + store i16 %load_tmpVar, i16* %X, align [filtered] + %deref4 = load [10 x i16]*, [10 x i16]** %rarrX, align [filtered] %tmpVar5 = getelementptr inbounds [10 x i16], [10 x i16]* %deref4, i32 0, i32 4 - %load_tmpVar6 = load i16, i16* %tmpVar5, align 2 - store i16 %load_tmpVar6, i16* %X, align 2 + %load_tmpVar6 = load i16, i16* %tmpVar5, align [filtered] + store i16 %load_tmpVar6, i16* %X, align [filtered] %tmpVar7 = getelementptr inbounds [10 x i16*], [10 x i16*]* %arrrX, i32 0, i32 5 - %deref8 = load i16*, i16** %tmpVar7, align 8 - %load_X9 = load i16, i16* %X, align 2 - store i16 %load_X9, i16* %deref8, align 2 - %deref10 = load [10 x i16]*, [10 x i16]** %rarrX, align 8 + %deref8 = load i16*, i16** %tmpVar7, align [filtered] + %load_X9 = load i16, i16* %X, align [filtered] + store i16 %load_X9, i16* %deref8, align [filtered] + %deref10 = load [10 x i16]*, [10 x i16]** %rarrX, align [filtered] %tmpVar11 = getelementptr inbounds [10 x i16], [10 x i16]* %deref10, i32 0, i32 6 %tmpVar12 = getelementptr inbounds [10 x i16*], [10 x i16*]* %arrrX, i32 0, i32 7 - %deref13 = load i16*, i16** %tmpVar12, align 8 - %load_tmpVar14 = load i16, i16* %deref13, align 2 - store i16 %load_tmpVar14, i16* %tmpVar11, align 2 + %deref13 = load i16*, i16** %tmpVar12, align [filtered] + %load_tmpVar14 = load i16, i16* %deref13, align [filtered] + store i16 %load_tmpVar14, i16* %tmpVar11, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expression_in_function_blocks_are_propagated.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expression_in_function_blocks_are_propagated.snap index e9258fc893..de8d6cf04b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expression_in_function_blocks_are_propagated.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expression_in_function_blocks_are_propagated.snap @@ -13,10 +13,10 @@ target triple = "[filtered]" define void @fbWithConstant(%fbWithConstant* %0) { entry: - %this = alloca %fbWithConstant*, align 8 - store %fbWithConstant* %0, %fbWithConstant** %this, align 8 + %this = alloca %fbWithConstant*, align [filtered] + store %fbWithConstant* %0, %fbWithConstant** %this, align [filtered] %x = getelementptr inbounds %fbWithConstant, %fbWithConstant* %0, i32 0, i32 0 %const = getelementptr inbounds %fbWithConstant, %fbWithConstant* %0, i32 0, i32 1 - store i16 2, i16* %x, align 2 + store i16 2, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expressions_in_ranged_type_declaration_are_propagated.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expressions_in_ranged_type_declaration_are_propagated.snap index bbfcd2c2b2..ad699d2987 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expressions_in_ranged_type_declaration_are_propagated.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_expressions_in_ranged_type_declaration_are_propagated.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,17 +14,17 @@ target triple = "[filtered]" define i16 @CheckRangeSigned(i16 %0, i16 %1, i16 %2) { entry: - %CheckRangeSigned = alloca i16, align 2 - %value = alloca i16, align 2 - store i16 %0, i16* %value, align 2 - %lower = alloca i16, align 2 - store i16 %1, i16* %lower, align 2 - %upper = alloca i16, align 2 - store i16 %2, i16* %upper, align 2 - store i16 0, i16* %CheckRangeSigned, align 2 - %load_value = load i16, i16* %value, align 2 - store i16 %load_value, i16* %CheckRangeSigned, align 2 - %CheckRangeSigned_ret = load i16, i16* %CheckRangeSigned, align 2 + %CheckRangeSigned = alloca i16, align [filtered] + %value = alloca i16, align [filtered] + store i16 %0, i16* %value, align [filtered] + %lower = alloca i16, align [filtered] + store i16 %1, i16* %lower, align [filtered] + %upper = alloca i16, align [filtered] + store i16 %2, i16* %upper, align [filtered] + store i16 0, i16* %CheckRangeSigned, align [filtered] + %load_value = load i16, i16* %value, align [filtered] + store i16 %load_value, i16* %CheckRangeSigned, align [filtered] + %CheckRangeSigned_ret = load i16, i16* %CheckRangeSigned, align [filtered] ret i16 %CheckRangeSigned_ret } @@ -33,6 +32,6 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call i16 @CheckRangeSigned(i16 5, i16 0, i16 8) - store i16 %call, i16* %x, align 2 + store i16 %call, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_propagation_of_struct_fields_on_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_propagation_of_struct_fields_on_assignment.snap index 05ef508050..496957d030 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_propagation_of_struct_fields_on_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__constant_propagation_of_struct_fields_on_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,12 +14,12 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %local_value = alloca i32, align 4 - store i32 0, i32* %local_value, align 4 - store i32 0, i32* %main, align 4 - %load_value = load i32, i32* getelementptr inbounds (%STRUCT1, %STRUCT1* @MyStruct, i32 0, i32 0), align 4 - store i32 %load_value, i32* %local_value, align 4 - %main_ret = load i32, i32* %main, align 4 + %main = alloca i32, align [filtered] + %local_value = alloca i32, align [filtered] + store i32 0, i32* %local_value, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_value = load i32, i32* getelementptr inbounds (%STRUCT1, %STRUCT1* @MyStruct, i32 0, i32 0), align [filtered] + store i32 %load_value, i32* %local_value, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__contants_in_case_statements_resolved.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__contants_in_case_statements_resolved.snap index dd70063f19..788a6e4e20 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__contants_in_case_statements_resolved.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__contants_in_case_statements_resolved.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,40 +15,40 @@ define void @main(%main* %0) { entry: %DAYS_IN_MONTH = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %SIXTY = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %load_DAYS_IN_MONTH = load i32, i32* %DAYS_IN_MONTH, align 4 + %load_DAYS_IN_MONTH = load i32, i32* %DAYS_IN_MONTH, align [filtered] switch i32 %load_DAYS_IN_MONTH, label %else [ ] case: ; preds = %range_then - store i32 29, i32* %DAYS_IN_MONTH, align 4 + store i32 29, i32* %DAYS_IN_MONTH, align [filtered] br label %continue case4: ; preds = %range_then5 - store i32 30, i32* %DAYS_IN_MONTH, align 4 + store i32 30, i32* %DAYS_IN_MONTH, align [filtered] br label %continue else: ; preds = %entry - %load_DAYS_IN_MONTH1 = load i32, i32* %DAYS_IN_MONTH, align 4 + %load_DAYS_IN_MONTH1 = load i32, i32* %DAYS_IN_MONTH, align [filtered] %tmpVar = icmp sge i32 %load_DAYS_IN_MONTH1, 32 br i1 %tmpVar, label %range_then, label %range_else range_then: ; preds = %else - %load_DAYS_IN_MONTH2 = load i32, i32* %DAYS_IN_MONTH, align 4 + %load_DAYS_IN_MONTH2 = load i32, i32* %DAYS_IN_MONTH, align [filtered] %tmpVar3 = icmp sle i32 %load_DAYS_IN_MONTH2, 60 br i1 %tmpVar3, label %case, label %range_else range_else: ; preds = %range_then, %else - %load_DAYS_IN_MONTH7 = load i32, i32* %DAYS_IN_MONTH, align 4 + %load_DAYS_IN_MONTH7 = load i32, i32* %DAYS_IN_MONTH, align [filtered] %tmpVar8 = icmp sge i32 %load_DAYS_IN_MONTH7, 62 br i1 %tmpVar8, label %range_then5, label %range_else6 range_then5: ; preds = %range_else - %load_DAYS_IN_MONTH9 = load i32, i32* %DAYS_IN_MONTH, align 4 + %load_DAYS_IN_MONTH9 = load i32, i32* %DAYS_IN_MONTH, align [filtered] %tmpVar10 = icmp sle i32 %load_DAYS_IN_MONTH9, 70 br i1 %tmpVar10, label %case4, label %range_else6 range_else6: ; preds = %range_then5, %range_else - store i32 31, i32* %DAYS_IN_MONTH, align 4 + store i32 31, i32* %DAYS_IN_MONTH, align [filtered] br label %continue continue: ; preds = %range_else6, %case4, %case diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_addition_in_var_output.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_addition_in_var_output.snap index fc50d9d1cd..84546c50f1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_addition_in_var_output.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_addition_in_var_output.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,19 +9,19 @@ target triple = "[filtered]" define i32 @func(i64* %0, i64* %1) { entry: - %func = alloca i32, align 4 - %d_and_t = alloca i64*, align 8 - store i64* %0, i64** %d_and_t, align 8 - %time_var = alloca i64*, align 8 - store i64* %1, i64** %time_var, align 8 - store i32 0, i32* %func, align 4 - %deref = load i64*, i64** %d_and_t, align 8 - %deref1 = load i64*, i64** %d_and_t, align 8 - %load_d_and_t = load i64, i64* %deref1, align 8 - %deref2 = load i64*, i64** %time_var, align 8 - %load_time_var = load i64, i64* %deref2, align 8 + %func = alloca i32, align [filtered] + %d_and_t = alloca i64*, align [filtered] + store i64* %0, i64** %d_and_t, align [filtered] + %time_var = alloca i64*, align [filtered] + store i64* %1, i64** %time_var, align [filtered] + store i32 0, i32* %func, align [filtered] + %deref = load i64*, i64** %d_and_t, align [filtered] + %deref1 = load i64*, i64** %d_and_t, align [filtered] + %load_d_and_t = load i64, i64* %deref1, align [filtered] + %deref2 = load i64*, i64** %time_var, align [filtered] + %load_time_var = load i64, i64* %deref2, align [filtered] %tmpVar = add i64 %load_d_and_t, %load_time_var - store i64 %tmpVar, i64* %deref, align 8 - %func_ret = load i32, i32* %func, align 4 + store i64 %tmpVar, i64* %deref, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_global_constants_initialize.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_global_constants_initialize.snap index 544b86feb7..363905fbd2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_global_constants_initialize.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_and_time_global_constants_initialize.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -30,53 +29,53 @@ target triple = "[filtered]" define void @main(%main* %0) { entry: - %t1 = alloca i64, align 8 - %t2 = alloca i64, align 8 - %lt1 = alloca i64, align 8 - %lt2 = alloca i64, align 8 - %d1 = alloca i64, align 8 - %d2 = alloca i64, align 8 - %ld1 = alloca i64, align 8 - %ld2 = alloca i64, align 8 - %tod1 = alloca i64, align 8 - %tod2 = alloca i64, align 8 - %ltod1 = alloca i64, align 8 - %ltod2 = alloca i64, align 8 - %dt1 = alloca i64, align 8 - %dt2 = alloca i64, align 8 - %ldt1 = alloca i64, align 8 - %ldt2 = alloca i64, align 8 - store i64 0, i64* %t1, align 8 - store i64 0, i64* %t2, align 8 - store i64 0, i64* %lt1, align 8 - store i64 0, i64* %lt2, align 8 - store i64 0, i64* %d1, align 8 - store i64 0, i64* %d2, align 8 - store i64 0, i64* %ld1, align 8 - store i64 0, i64* %ld2, align 8 - store i64 0, i64* %tod1, align 8 - store i64 0, i64* %tod2, align 8 - store i64 0, i64* %ltod1, align 8 - store i64 0, i64* %ltod2, align 8 - store i64 0, i64* %dt1, align 8 - store i64 0, i64* %dt2, align 8 - store i64 0, i64* %ldt1, align 8 - store i64 0, i64* %ldt2, align 8 - store i64 1000000000, i64* %t1, align 8 - store i64 1000000000, i64* %t2, align 8 - store i64 1000000000000, i64* %lt1, align 8 - store i64 1000000000000, i64* %lt2, align 8 - store i64 0, i64* %d1, align 8 - store i64 161308800000000000, i64* %d2, align 8 - store i64 161308800000000000, i64* %ld1, align 8 - store i64 161308800000000000, i64* %ld2, align 8 - store i64 0, i64* %tod1, align 8 - store i64 0, i64* %tod2, align 8 - store i64 86399999999999, i64* %ltod1, align 8 - store i64 86399999999999, i64* %ltod2, align 8 - store i64 172799000000000, i64* %dt1, align 8 - store i64 172799000000000, i64* %dt2, align 8 - store i64 172799123000000, i64* %ldt1, align 8 - store i64 172799123000000, i64* %ldt2, align 8 + %t1 = alloca i64, align [filtered] + %t2 = alloca i64, align [filtered] + %lt1 = alloca i64, align [filtered] + %lt2 = alloca i64, align [filtered] + %d1 = alloca i64, align [filtered] + %d2 = alloca i64, align [filtered] + %ld1 = alloca i64, align [filtered] + %ld2 = alloca i64, align [filtered] + %tod1 = alloca i64, align [filtered] + %tod2 = alloca i64, align [filtered] + %ltod1 = alloca i64, align [filtered] + %ltod2 = alloca i64, align [filtered] + %dt1 = alloca i64, align [filtered] + %dt2 = alloca i64, align [filtered] + %ldt1 = alloca i64, align [filtered] + %ldt2 = alloca i64, align [filtered] + store i64 0, i64* %t1, align [filtered] + store i64 0, i64* %t2, align [filtered] + store i64 0, i64* %lt1, align [filtered] + store i64 0, i64* %lt2, align [filtered] + store i64 0, i64* %d1, align [filtered] + store i64 0, i64* %d2, align [filtered] + store i64 0, i64* %ld1, align [filtered] + store i64 0, i64* %ld2, align [filtered] + store i64 0, i64* %tod1, align [filtered] + store i64 0, i64* %tod2, align [filtered] + store i64 0, i64* %ltod1, align [filtered] + store i64 0, i64* %ltod2, align [filtered] + store i64 0, i64* %dt1, align [filtered] + store i64 0, i64* %dt2, align [filtered] + store i64 0, i64* %ldt1, align [filtered] + store i64 0, i64* %ldt2, align [filtered] + store i64 1000000000, i64* %t1, align [filtered] + store i64 1000000000, i64* %t2, align [filtered] + store i64 1000000000000, i64* %lt1, align [filtered] + store i64 1000000000000, i64* %lt2, align [filtered] + store i64 0, i64* %d1, align [filtered] + store i64 161308800000000000, i64* %d2, align [filtered] + store i64 161308800000000000, i64* %ld1, align [filtered] + store i64 161308800000000000, i64* %ld2, align [filtered] + store i64 0, i64* %tod1, align [filtered] + store i64 0, i64* %tod2, align [filtered] + store i64 86399999999999, i64* %ltod1, align [filtered] + store i64 86399999999999, i64* %ltod2, align [filtered] + store i64 172799000000000, i64* %dt1, align [filtered] + store i64 172799000000000, i64* %dt2, align [filtered] + store i64 172799123000000, i64* %ldt1, align [filtered] + store i64 172799123000000, i64* %ldt2, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_comparisons.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_comparisons.snap index c6eae87241..24513c6ca7 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_comparisons.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__date_comparisons.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,13 +17,13 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %d = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - %load_a = load i64, i64* %a, align 8 + %load_a = load i64, i64* %a, align [filtered] %tmpVar = icmp sgt i64 %load_a, 1619827200000000000 - %load_b = load i64, i64* %b, align 8 + %load_b = load i64, i64* %b, align [filtered] %tmpVar1 = icmp sgt i64 %load_b, 1619897357000000000 - %load_c = load i64, i64* %c, align 8 + %load_c = load i64, i64* %c, align [filtered] %tmpVar2 = icmp sgt i64 %load_c, 156557000000000 - %load_d = load i64, i64* %d, align 8 + %load_d = load i64, i64* %d, align [filtered] %tmpVar3 = icmp sgt i64 %load_d, 70157000000000 ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__default_values_for_not_initialized_function_vars.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__default_values_for_not_initialized_function_vars.snap index 664deeea1c..8555e3029d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__default_values_for_not_initialized_function_vars.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__default_values_for_not_initialized_function_vars.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,18 +9,18 @@ target triple = "[filtered]" define i16 @func() { entry: - %func = alloca i16, align 2 - %int_var = alloca i16, align 2 - %arr_var = alloca [3 x i32], align 4 - %ptr_var = alloca i32*, align 8 - %float_var = alloca float, align 4 - store i16 0, i16* %int_var, align 2 + %func = alloca i16, align [filtered] + %int_var = alloca i16, align [filtered] + %arr_var = alloca [3 x i32], align [filtered] + %ptr_var = alloca i32*, align [filtered] + %float_var = alloca float, align [filtered] + store i16 0, i16* %int_var, align [filtered] %0 = bitcast [3 x i32]* %arr_var to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([3 x i32]* getelementptr ([3 x i32], [3 x i32]* null, i32 1) to i64), i1 false) - store i32* null, i32** %ptr_var, align 8 - store float 0.000000e+00, float* %float_var, align 4 - store i16 0, i16* %func, align 2 - %func_ret = load i16, i16* %func, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([3 x i32]* getelementptr ([3 x i32], [3 x i32]* null, i32 1) to i64), i1 false) + store i32* null, i32** %ptr_var, align [filtered] + store float 0.000000e+00, float* %float_var, align [filtered] + store i16 0, i16* %func, align [filtered] + %func_ret = load i16, i16* %func, align [filtered] ret i16 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_function_with_name_generates_int_function.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_function_with_name_generates_int_function.snap index 80b8915ddc..11f0ca0c97 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_function_with_name_generates_int_function.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_function_with_name_generates_int_function.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,8 +9,8 @@ target triple = "[filtered]" define i16 @foo() { entry: - %foo = alloca i16, align 2 - store i16 0, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %foo = alloca i16, align [filtered] + store i16 0, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_statements_dont_generate_anything.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_statements_dont_generate_anything.snap index c581c13ce1..f12ef81148 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_statements_dont_generate_anything.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__empty_statements_dont_generate_anything.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 - %load_y = load i32, i32* %y, align 4 + %load_x = load i32, i32* %x, align [filtered] + %load_y = load i32, i32* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__enum_members_can_be_used_in_asignments.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__enum_members_can_be_used_in_asignments.snap index c1b5088c34..cd1901cbbf 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__enum_members_can_be_used_in_asignments.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__enum_members_can_be_used_in_asignments.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,8 +17,8 @@ target triple = "[filtered]" define void @main(%main* %0) { entry: %color = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - store i32 0, i32* %color, align 4 - store i32 1, i32* %color, align 4 - store i32 2, i32* %color, align 4 + store i32 0, i32* %color, align [filtered] + store i32 1, i32* %color, align [filtered] + store i32 2, i32* %color, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_called_as_function.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_called_as_function.snap index bf0cfafb7e..a2f4712352 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_called_as_function.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_called_as_function.snap @@ -13,8 +13,8 @@ target triple = "[filtered]" define void @MyClass(%MyClass* %0) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 %call = call i16 @MyClass__testMethod(%MyClass* %0, i16 1) @@ -24,33 +24,33 @@ entry: define i16 @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 - %MyClass.testMethod = alloca i16, align 2 - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - %myMethodLocalVar = alloca i16, align 2 - store i16 0, i16* %myMethodLocalVar, align 2 - store i16 0, i16* %MyClass.testMethod, align 2 - %load_myMethodArg = load i16, i16* %myMethodArg, align 2 - store i16 %load_myMethodArg, i16* %x, align 2 - %load_x = load i16, i16* %x, align 2 + %MyClass.testMethod = alloca i16, align [filtered] + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + %myMethodLocalVar = alloca i16, align [filtered] + store i16 0, i16* %myMethodLocalVar, align [filtered] + store i16 0, i16* %MyClass.testMethod, align [filtered] + %load_myMethodArg = load i16, i16* %myMethodArg, align [filtered] + store i16 %load_myMethodArg, i16* %x, align [filtered] + %load_x = load i16, i16* %x, align [filtered] %2 = sext i16 %load_x to i32 %tmpVar = add i32 %2, 1 %3 = trunc i32 %tmpVar to i16 - store i16 %3, i16* %y, align 2 - %load_y = load i16, i16* %y, align 2 + store i16 %3, i16* %y, align [filtered] + %load_y = load i16, i16* %y, align [filtered] %4 = sext i16 %load_y to i32 %tmpVar1 = add i32 %4, 1 %5 = trunc i32 %tmpVar1 to i16 - store i16 %5, i16* %myMethodLocalVar, align 2 - %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align 2 + store i16 %5, i16* %myMethodLocalVar, align [filtered] + %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align [filtered] %6 = sext i16 %load_myMethodLocalVar to i32 %tmpVar2 = add i32 %6, 1 %7 = trunc i32 %tmpVar2 to i16 - store i16 %7, i16* %MyClass.testMethod, align 2 - %MyClass__testMethod_ret = load i16, i16* %MyClass.testMethod, align 2 + store i16 %7, i16* %MyClass.testMethod, align [filtered] + %MyClass__testMethod_ret = load i16, i16* %MyClass.testMethod, align [filtered] ret i16 %MyClass__testMethod_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_in_pou.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_in_pou.snap index b70e98ff1e..0d0ee66afb 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_in_pou.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_in_pou.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @MyClass(%MyClass* %0) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 ret void @@ -24,21 +24,21 @@ entry: define void @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - %myMethodLocalVar = alloca i16, align 2 - store i16 0, i16* %myMethodLocalVar, align 2 - %load_myMethodArg = load i16, i16* %myMethodArg, align 2 - store i16 %load_myMethodArg, i16* %x, align 2 - %load_x = load i16, i16* %x, align 2 - store i16 %load_x, i16* %y, align 2 - %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align 2 + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + %myMethodLocalVar = alloca i16, align [filtered] + store i16 0, i16* %myMethodLocalVar, align [filtered] + %load_myMethodArg = load i16, i16* %myMethodArg, align [filtered] + store i16 %load_myMethodArg, i16* %x, align [filtered] + %load_x = load i16, i16* %x, align [filtered] + store i16 %load_x, i16* %y, align [filtered] + %load_myMethodLocalVar = load i16, i16* %myMethodLocalVar, align [filtered] %2 = sext i16 %load_myMethodLocalVar to i32 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %3 = sext i16 %load_y to i32 %tmpVar = icmp eq i32 %2, %3 ret void @@ -49,11 +49,11 @@ entry: %cl = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x1 = getelementptr inbounds %MyClass, %MyClass* %cl, i32 0, i32 0 - %load_x = load i16, i16* %x1, align 2 - store i16 %load_x, i16* %x, align 2 - %load_x2 = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x1, align [filtered] + store i16 %load_x, i16* %x, align [filtered] + %load_x2 = load i16, i16* %x, align [filtered] call void @MyClass__testMethod(%MyClass* %cl, i16 %load_x2) - %load_x3 = load i16, i16* %x, align 2 + %load_x3 = load i16, i16* %x, align [filtered] call void @MyClass__testMethod(%MyClass* %cl, i16 %load_x3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_in_out.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_in_out.snap index fd8a47323c..f9d288982d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_in_out.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_in_out.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @MyClass(%MyClass* %0) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 ret void @@ -24,15 +24,15 @@ entry: define void @MyClass__testMethod(%MyClass* %0, i16* %1) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 - %myMethodArg = alloca i16*, align 8 - store i16* %1, i16** %myMethodArg, align 8 - %deref = load i16*, i16** %myMethodArg, align 8 - %load_x = load i16, i16* %x, align 2 - store i16 %load_x, i16* %deref, align 2 + %myMethodArg = alloca i16*, align [filtered] + store i16* %1, i16** %myMethodArg, align [filtered] + %deref = load i16*, i16** %myMethodArg, align [filtered] + %load_x = load i16, i16* %x, align [filtered] + store i16 %load_x, i16* %deref, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_input_defaults.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_input_defaults.snap index 311ec5917e..1379118a69 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_input_defaults.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__fb_method_with_var_input_defaults.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @MyClass(%MyClass* %0) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 ret void @@ -24,14 +24,14 @@ entry: define void @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: - %this = alloca %MyClass*, align 8 - store %MyClass* %0, %MyClass** %this, align 8 + %this = alloca %MyClass*, align [filtered] + store %MyClass* %0, %MyClass** %this, align [filtered] %x = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 0 %y = getelementptr inbounds %MyClass, %MyClass* %0, i32 0, i32 1 - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - %load_myMethodArg = load i16, i16* %myMethodArg, align 2 - store i16 %load_myMethodArg, i16* %x, align 2 + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + %load_myMethodArg = load i16, i16* %myMethodArg, align [filtered] + store i16 %load_myMethodArg, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_continue.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_continue.snap index 02d4fca410..261c67e6d2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_continue.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_continue.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,16 +14,16 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 3, i32* %x, align 4 + store i32 3, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i32, i32* %x, align 4 + %1 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %1, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %2 = load i32, i32* %x, align 4 + %2 = load i32, i32* %x, align [filtered] %condition1 = icmp sge i32 %2, 10 br i1 %condition1, label %loop, label %continue @@ -32,12 +31,12 @@ loop: ; preds = %predicate_sge, %pre br label %increment increment: ; preds = %loop - %3 = load i32, i32* %x, align 4 + %3 = load i32, i32* %x, align [filtered] %next = add i32 1, %3 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_int.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_int.snap index ca6110a60b..31fba37981 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_int.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_int.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,31 +14,31 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i16 3, i16* %x, align 2 + store i16 3, i16* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i16, i16* %x, align 2 + %1 = load i16, i16* %x, align [filtered] %2 = sext i16 %1 to i32 %condition = icmp sle i32 %2, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %3 = load i16, i16* %x, align 2 + %3 = load i16, i16* %x, align [filtered] %4 = sext i16 %3 to i32 %condition1 = icmp sge i32 %4, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] br label %increment increment: ; preds = %loop - %5 = load i16, i16* %x, align 2 + %5 = load i16, i16* %x, align [filtered] %6 = sext i16 %5 to i32 %next = add i32 1, %6 %7 = trunc i32 %next to i16 - store i16 %7, i16* %x, align 2 + store i16 %7, i16* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_lint.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_lint.snap index de600044ea..3f49b453b4 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_lint.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_lint.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,27 +14,27 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i64 3, i64* %x, align 8 + store i64 3, i64* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i64, i64* %x, align 8 + %1 = load i64, i64* %x, align [filtered] %condition = icmp sle i64 %1, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %2 = load i64, i64* %x, align 8 + %2 = load i64, i64* %x, align [filtered] %condition1 = icmp sge i64 %2, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i64, i64* %x, align 8 + %load_x = load i64, i64* %x, align [filtered] br label %increment increment: ; preds = %loop - %3 = load i64, i64* %x, align 8 + %3 = load i64, i64* %x, align [filtered] %next = add i64 1, %3 - store i64 %next, i64* %x, align 8 + store i64 %next, i64* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_sint.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_sint.snap index e8486f762b..d2ce92d501 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_sint.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_sint.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,31 +14,31 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i8 3, i8* %x, align 1 + store i8 3, i8* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i8, i8* %x, align 1 + %1 = load i8, i8* %x, align [filtered] %2 = sext i8 %1 to i32 %condition = icmp sle i32 %2, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %3 = load i8, i8* %x, align 1 + %3 = load i8, i8* %x, align [filtered] %4 = sext i8 %3 to i32 %condition1 = icmp sge i32 %4, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] br label %increment increment: ; preds = %loop - %5 = load i8, i8* %x, align 1 + %5 = load i8, i8* %x, align [filtered] %6 = sext i8 %5 to i32 %next = add i32 1, %6 %7 = trunc i32 %next to i8 - store i8 %7, i8* %x, align 1 + store i8 %7, i8* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_continue.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_continue.snap index b3e93af44d..7e11e283e1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_continue.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_continue.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,35 +14,35 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 3, i32* %x, align 4 + store i32 3, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i32, i32* %x, align 4 + %1 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %1, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %2 = load i32, i32* %x, align 4 + %2 = load i32, i32* %x, align [filtered] %condition1 = icmp sge i32 %2, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x, 1 - store i32 %tmpVar, i32* %x, align 4 + store i32 %tmpVar, i32* %x, align [filtered] br label %increment buffer_block: ; No predecessors! - %load_x2 = load i32, i32* %x, align 4 + %load_x2 = load i32, i32* %x, align [filtered] %tmpVar3 = sub i32 %load_x2, 1 - store i32 %tmpVar3, i32* %x, align 4 + store i32 %tmpVar3, i32* %x, align [filtered] br label %increment increment: ; preds = %buffer_block, %loop - %3 = load i32, i32* %x, align 4 + %3 = load i32, i32* %x, align [filtered] %next = add i32 7, %3 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_exit.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_exit.snap index f5006ef21d..2ab73e703d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_exit.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_exit.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,35 +14,35 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 3, i32* %x, align 4 + store i32 3, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i32, i32* %x, align 4 + %1 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %1, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %2 = load i32, i32* %x, align 4 + %2 = load i32, i32* %x, align [filtered] %condition1 = icmp sge i32 %2, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x, 2 - store i32 %tmpVar, i32* %x, align 4 + store i32 %tmpVar, i32* %x, align [filtered] br label %continue buffer_block: ; No predecessors! - %load_x2 = load i32, i32* %x, align 4 + %load_x2 = load i32, i32* %x, align [filtered] %tmpVar3 = add i32 %load_x2, 5 - store i32 %tmpVar3, i32* %x, align 4 + store i32 %tmpVar3, i32* %x, align [filtered] br label %increment increment: ; preds = %buffer_block - %3 = load i32, i32* %x, align 4 + %3 = load i32, i32* %x, align [filtered] %next = add i32 7, %3 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %loop, %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_references_steps_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_references_steps_test.snap index e06586770b..16f53e4921 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_references_steps_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_references_steps_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,33 +17,33 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - %load_y = load i32, i32* %y, align 4 - store i32 %load_y, i32* %x, align 4 - %load_step = load i32, i32* %step, align 4 + %load_y = load i32, i32* %y, align [filtered] + store i32 %load_y, i32* %x, align [filtered] + %load_step = load i32, i32* %step, align [filtered] %is_incrementing = icmp sgt i32 %load_step, 0 br i1 %is_incrementing, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i32, i32* %z, align 4 - %2 = load i32, i32* %x, align 4 + %1 = load i32, i32* %z, align [filtered] + %2 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %2, %1 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %3 = load i32, i32* %z, align 4 - %4 = load i32, i32* %x, align 4 + %3 = load i32, i32* %z, align [filtered] + %4 = load i32, i32* %x, align [filtered] %condition1 = icmp sge i32 %4, %3 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] br label %increment increment: ; preds = %loop - %5 = load i32, i32* %x, align 4 - %load_step2 = load i32, i32* %step, align 4 + %5 = load i32, i32* %x, align [filtered] + %load_step2 = load i32, i32* %step, align [filtered] %next = add i32 %load_step2, %5 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 %is_incrementing, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_steps_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_steps_test.snap index 9e0bbb8727..84f2061a42 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_steps_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_with_steps_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,27 +14,27 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 3, i32* %x, align 4 + store i32 3, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i32, i32* %x, align 4 + %1 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %1, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %2 = load i32, i32* %x, align 4 + %2 = load i32, i32* %x, align [filtered] %condition1 = icmp sge i32 %2, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] br label %increment increment: ; preds = %loop - %3 = load i32, i32* %x, align 4 + %3 = load i32, i32* %x, align [filtered] %next = add i32 7, %3 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_without_steps_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_without_steps_test.snap index 24453db05e..db5d46da05 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_without_steps_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__for_statement_without_steps_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,27 +14,27 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 3, i32* %x, align 4 + store i32 3, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge predicate_sle: ; preds = %increment, %entry - %1 = load i32, i32* %x, align 4 + %1 = load i32, i32* %x, align [filtered] %condition = icmp sle i32 %1, 10 br i1 %condition, label %loop, label %continue predicate_sge: ; preds = %increment, %entry - %2 = load i32, i32* %x, align 4 + %2 = load i32, i32* %x, align [filtered] %condition1 = icmp sge i32 %2, 10 br i1 %condition1, label %loop, label %continue loop: ; preds = %predicate_sge, %predicate_sle - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] br label %increment increment: ; preds = %loop - %3 = load i32, i32* %x, align 4 + %3 = load i32, i32* %x, align [filtered] %next = add i32 1, %3 - store i32 %next, i32* %x, align 4 + store i32 %next, i32* %x, align [filtered] br i1 true, label %predicate_sle, label %predicate_sge continue: ; preds = %predicate_sge, %predicate_sle diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_instance_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_instance_call.snap index a313586247..ac6944347e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_instance_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_instance_call.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_qualified_instance_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_qualified_instance_call.snap index 711bb6736c..88377f4a53 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_qualified_instance_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_block_qualified_instance_call.snap @@ -17,16 +17,16 @@ target triple = "[filtered]" define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %bar_inst = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_call_with_same_name_as_return_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_call_with_same_name_as_return_type.snap index ab98c69be3..d36656446e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_call_with_same_name_as_return_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_call_with_same_name_as_return_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,9 +13,9 @@ target triple = "[filtered]" define i64 @TIME() { entry: - %TIME = alloca i64, align 8 - store i64 0, i64* %TIME, align 8 - %TIME_ret = load i64, i64* %TIME, align 8 + %TIME = alloca i64, align [filtered] + store i64 0, i64* %TIME, align [filtered] + %TIME_ret = load i64, i64* %TIME, align [filtered] ret i64 %TIME_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_in_program.snap index c6ace5627b..d85dd8ecc2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,10 +13,10 @@ target triple = "[filtered]" define i32 @foo() { entry: - %foo = alloca i32, align 4 - store i32 0, i32* %foo, align 4 - store i32 1, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + store i32 0, i32* %foo, align [filtered] + store i32 1, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -25,6 +24,6 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call i32 @foo() - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_when_shadowed.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_when_shadowed.snap index 0c879f6608..7789173840 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_when_shadowed.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_called_when_shadowed.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,10 +13,10 @@ target triple = "[filtered]" define i32 @foo() { entry: - %foo = alloca i32, align 4 - store i32 0, i32* %foo, align 4 - store i32 1, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + store i32 0, i32* %foo, align [filtered] + store i32 1, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -25,6 +24,6 @@ define void @prg(%prg* %0) { entry: %froo = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call i32 @foo() - store i32 %call, i32* %froo, align 4 + store i32 %call, i32* %froo, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_temp_var_initialization.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_temp_var_initialization.snap index 1fe2820215..bb45138eed 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_temp_var_initialization.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_temp_var_initialization.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,22 +13,22 @@ target triple = "[filtered]" define i32 @foo(i32 %0) { entry: - %foo = alloca i32, align 4 - %in1 = alloca i32, align 4 - store i32 %0, i32* %in1, align 4 - %x = alloca i16, align 2 - %y = alloca i16, align 2 - %z = alloca i16, align 2 - store i16 7, i16* %x, align 2 - store i16 0, i16* %y, align 2 - store i16 9, i16* %z, align 2 - store i32 0, i32* %foo, align 4 - %load_z = load i16, i16* %z, align 2 + %foo = alloca i32, align [filtered] + %in1 = alloca i32, align [filtered] + store i32 %0, i32* %in1, align [filtered] + %x = alloca i16, align [filtered] + %y = alloca i16, align [filtered] + %z = alloca i16, align [filtered] + store i16 7, i16* %x, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 9, i16* %z, align [filtered] + store i32 0, i32* %foo, align [filtered] + %load_z = load i16, i16* %z, align [filtered] %1 = sext i16 %load_z to i32 %tmpVar = add i32 %1, 1 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %y, align 2 - %foo_ret = load i32, i32* %foo, align 4 + store i16 %2, i16* %y, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_var_initialization_and_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_var_initialization_and_call.snap index 1ebb89bcb3..20d6adb0b0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_var_initialization_and_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_local_var_initialization_and_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,18 +13,18 @@ target triple = "[filtered]" define i32 @foo(i32 %0) { entry: - %foo = alloca i32, align 4 - %in1 = alloca i32, align 4 - store i32 %0, i32* %in1, align 4 - %x = alloca i16, align 2 - %y = alloca i16, align 2 - %z = alloca i16, align 2 - store i16 7, i16* %x, align 2 - store i16 0, i16* %y, align 2 - store i16 9, i16* %z, align 2 - store i32 0, i32* %foo, align 4 - store i32 1, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %in1 = alloca i32, align [filtered] + store i32 %0, i32* %in1, align [filtered] + %x = alloca i16, align [filtered] + %y = alloca i16, align [filtered] + %z = alloca i16, align [filtered] + store i16 7, i16* %x, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 9, i16* %z, align [filtered] + store i32 0, i32* %foo, align [filtered] + store i32 1, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_parameters_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_parameters_called_in_program.snap index d007ed4a0c..a06172fc57 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_parameters_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_parameters_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,12 +13,12 @@ target triple = "[filtered]" define i32 @foo(i32 %0) { entry: - %foo = alloca i32, align 4 - %bar = alloca i32, align 4 - store i32 %0, i32* %bar, align 4 - store i32 0, i32* %foo, align 4 - store i32 1, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %bar = alloca i32, align [filtered] + store i32 %0, i32* %bar, align [filtered] + store i32 0, i32* %foo, align [filtered] + store i32 1, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -27,6 +26,6 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call i32 @foo(i32 2) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_two_parameters_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_two_parameters_called_in_program.snap index 74bf8ecf88..1acc117fa9 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_two_parameters_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__function_with_two_parameters_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,14 +13,14 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i8 %1) { entry: - %foo = alloca i32, align 4 - %bar = alloca i32, align 4 - store i32 %0, i32* %bar, align 4 - %buz = alloca i8, align 1 - store i8 %1, i8* %buz, align 1 - store i32 0, i32* %foo, align 4 - store i32 1, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %bar = alloca i32, align [filtered] + store i32 %0, i32* %bar, align [filtered] + %buz = alloca i8, align [filtered] + store i8 %1, i8* %buz, align [filtered] + store i32 0, i32* %foo, align [filtered] + store i32 1, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -29,6 +28,6 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call i32 @foo(i32 2, i8 1) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__global_variable_reference_is_generated.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__global_variable_reference_is_generated.snap index b7547e46e3..113cc149d7 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__global_variable_reference_is_generated.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__global_variable_reference_is_generated.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: function -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,8 +15,8 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i16 20, i16* @gX, align 2 - %load_gX = load i16, i16* @gX, align 2 - store i16 %load_gX, i16* %x, align 2 + store i16 20, i16* @gX, align [filtered] + %load_gX = load i16, i16* @gX, align [filtered] + store i16 %load_gX, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_elsif_else_generator_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_elsif_else_generator_test.snap index 2e5bf6202a..34dfdc1693 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_elsif_else_generator_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_elsif_else_generator_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,34 +20,34 @@ entry: %b1 = getelementptr inbounds %prg, %prg* %0, i32 0, i32 4 %b2 = getelementptr inbounds %prg, %prg* %0, i32 0, i32 5 %b3 = getelementptr inbounds %prg, %prg* %0, i32 0, i32 6 - %load_b1 = load i8, i8* %b1, align 1 + %load_b1 = load i8, i8* %b1, align [filtered] %1 = icmp ne i8 %load_b1, 0 br i1 %1, label %condition_body, label %branch condition_body: ; preds = %entry - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] br label %continue branch: ; preds = %entry - %load_b2 = load i8, i8* %b2, align 1 + %load_b2 = load i8, i8* %b2, align [filtered] %2 = icmp ne i8 %load_b2, 0 br i1 %2, label %condition_body2, label %branch1 condition_body2: ; preds = %branch - %load_y = load i32, i32* %y, align 4 + %load_y = load i32, i32* %y, align [filtered] br label %continue branch1: ; preds = %branch - %load_b3 = load i8, i8* %b3, align 1 + %load_b3 = load i8, i8* %b3, align [filtered] %3 = icmp ne i8 %load_b3, 0 br i1 %3, label %condition_body3, label %else condition_body3: ; preds = %branch1 - %load_z = load i32, i32* %z, align 4 + %load_z = load i32, i32* %z, align [filtered] br label %continue else: ; preds = %branch1 - %load_u = load i32, i32* %u, align 4 + %load_u = load i32, i32* %u, align [filtered] br label %continue continue: ; preds = %else, %condition_body3, %condition_body2, %condition_body diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_generator_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_generator_test.snap index 86eab054f2..127f6956bf 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_generator_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_generator_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,12 +15,12 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b1 = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_b1 = load i8, i8* %b1, align 1 + %load_b1 = load i8, i8* %b1, align [filtered] %1 = icmp ne i8 %load_b1, 0 br i1 %1, label %condition_body, label %continue condition_body: ; preds = %entry - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] br label %continue continue: ; preds = %condition_body, %entry diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_with_expression_generator_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_with_expression_generator_test.snap index 4a1e10b1df..8a871e39c8 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_with_expression_generator_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__if_with_expression_generator_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,21 +15,21 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b1 = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = icmp sgt i32 %load_x, 1 %1 = zext i1 %tmpVar to i8 %2 = icmp ne i8 %1, 0 br i1 %2, label %5, label %3 condition_body: ; preds = %5 - %load_x1 = load i32, i32* %x, align 4 + %load_x1 = load i32, i32* %x, align [filtered] br label %continue continue: ; preds = %condition_body, %5 ret void 3: ; preds = %entry - %load_b1 = load i8, i8* %b1, align 1 + %load_b1 = load i8, i8* %b1, align [filtered] %4 = icmp ne i8 %load_b1, 0 br label %5 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_return.snap index 71fa9ba941..785360652b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_return.snap @@ -18,11 +18,11 @@ entry: define i16 @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: - %MyClass.testMethod = alloca i16, align 2 - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - store i16 0, i16* %MyClass.testMethod, align 2 - store i16 1, i16* %MyClass.testMethod, align 2 - %MyClass__testMethod_ret = load i16, i16* %MyClass.testMethod, align 2 + %MyClass.testMethod = alloca i16, align [filtered] + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + store i16 0, i16* %MyClass.testMethod, align [filtered] + store i16 1, i16* %MyClass.testMethod, align [filtered] + %MyClass__testMethod_ret = load i16, i16* %MyClass.testMethod, align [filtered] ret i16 %MyClass__testMethod_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_void.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_void.snap index ed98c5de64..10b96acdb4 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_void.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_void.snap @@ -18,10 +18,10 @@ entry: define void @MyClass__testMethod(%MyClass* %0, i16 %1) { entry: - %myMethodArg = alloca i16, align 2 - store i16 %1, i16* %myMethodArg, align 2 - %myMethodLocalVar = alloca i16, align 2 - store i16 0, i16* %myMethodLocalVar, align 2 - store i16 1, i16* %myMethodLocalVar, align 2 + %myMethodArg = alloca i16, align [filtered] + store i16 %1, i16* %myMethodArg, align [filtered] + %myMethodLocalVar = alloca i16, align [filtered] + store i16 0, i16* %myMethodLocalVar, align [filtered] + store i16 1, i16* %myMethodLocalVar, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_initialized_input.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_initialized_input.snap index cbc686079c..a6ccc20104 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_initialized_input.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_initialized_input.snap @@ -13,8 +13,8 @@ target triple = "[filtered]" define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %call = call i32 @fb__meth(%fb* %0, i32 5) %call1 = call i32 @fb__meth(%fb* %0, i32 4) ret void @@ -22,20 +22,20 @@ entry: define i32 @fb__meth(%fb* %0, i32 %1) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 - %fb.meth = alloca i32, align 4 - %a = alloca i32, align 4 - store i32 %1, i32* %a, align 4 - store i32 0, i32* %fb.meth, align 4 - %fb__meth_ret = load i32, i32* %fb.meth, align 4 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] + %fb.meth = alloca i32, align [filtered] + %a = alloca i32, align [filtered] + store i32 %1, i32* %a, align [filtered] + store i32 0, i32* %fb.meth, align [filtered] + %fb__meth_ret = load i32, i32* %fb.meth, align [filtered] ret i32 %fb__meth_ret } define i32 @foo() { entry: - %foo = alloca i32, align 4 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_multiple_input.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_multiple_input.snap index 692f274548..2737d71af2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_multiple_input.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_codegen_with_multiple_input.snap @@ -13,8 +13,8 @@ target triple = "[filtered]" define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %call = call i32 @fb__meth(%fb* %0, i32 1, i32 2, i32 3) %call1 = call i32 @fb__meth(%fb* %0, i32 5, i32 7, i32 10) %call2 = call i32 @fb__meth(%fb* %0, i32 3, i32 4, i32 10) @@ -24,16 +24,16 @@ entry: define i32 @fb__meth(%fb* %0, i32 %1, i32 %2, i32 %3) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 - %fb.meth = alloca i32, align 4 - %a = alloca i32, align 4 - store i32 %1, i32* %a, align 4 - %b = alloca i32, align 4 - store i32 %2, i32* %b, align 4 - %c = alloca i32, align 4 - store i32 %3, i32* %c, align 4 - store i32 0, i32* %fb.meth, align 4 - %fb__meth_ret = load i32, i32* %fb.meth, align 4 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] + %fb.meth = alloca i32, align [filtered] + %a = alloca i32, align [filtered] + store i32 %1, i32* %a, align [filtered] + %b = alloca i32, align [filtered] + store i32 %2, i32* %b, align [filtered] + %c = alloca i32, align [filtered] + store i32 %3, i32* %c, align [filtered] + store i32 0, i32* %fb.meth, align [filtered] + %fb__meth_ret = load i32, i32* %fb.meth, align [filtered] ret i32 %fb__meth_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_with_aggregate_return_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_with_aggregate_return_type.snap index 04caa3700a..8efae01a70 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_with_aggregate_return_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__method_with_aggregate_return_type.snap @@ -14,36 +14,36 @@ target triple = "[filtered]" define void @fb_with_method(%fb_with_method* %0) { entry: - %this = alloca %fb_with_method*, align 8 - store %fb_with_method* %0, %fb_with_method** %this, align 8 - %ret = alloca [81 x i8], align 1 + %this = alloca %fb_with_method*, align [filtered] + store %fb_with_method* %0, %fb_with_method** %this, align [filtered] + %ret = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %ret to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - %__method_with_aggregagte_return0 = alloca [81 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + %__method_with_aggregagte_return0 = alloca [81 x i8], align [filtered] %2 = bitcast [81 x i8]* %__method_with_aggregagte_return0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %3 = bitcast [81 x i8]* %__method_with_aggregagte_return0 to i8* call void @fb_with_method__method_with_aggregagte_return(%fb_with_method* %0, i8* %3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0)) %4 = bitcast [81 x i8]* %ret to i8* %5 = bitcast [81 x i8]* %__method_with_aggregagte_return0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %4, i8* align 1 %5, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %4, i8* align [filtered] %5, i32 80, i1 false) ret void } define void @fb_with_method__method_with_aggregagte_return(%fb_with_method* %0, i8* %1, i8* %2) { entry: - %this = alloca %fb_with_method*, align 8 - store %fb_with_method* %0, %fb_with_method** %this, align 8 - %ret = alloca [81 x i8], align 1 - %method_with_aggregagte_return = alloca i8*, align 8 - store i8* %1, i8** %method_with_aggregagte_return, align 8 - %in = alloca [81 x i8], align 1 + %this = alloca %fb_with_method*, align [filtered] + store %fb_with_method* %0, %fb_with_method** %this, align [filtered] + %ret = alloca [81 x i8], align [filtered] + %method_with_aggregagte_return = alloca i8*, align [filtered] + store i8* %1, i8** %method_with_aggregagte_return, align [filtered] + %in = alloca [81 x i8], align [filtered] %bitcast = bitcast [81 x i8]* %in to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 81, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %2, i64 80, i1 false) - %deref = load i8*, i8** %method_with_aggregagte_return, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 81, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %2, i64 80, i1 false) + %deref = load i8*, i8** %method_with_aggregagte_return, align [filtered] %3 = bitcast [81 x i8]* %in to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 %3, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] %3, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__methods_var_output.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__methods_var_output.snap index 6aec05b98d..b83bd15716 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__methods_var_output.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__methods_var_output.snap @@ -14,31 +14,31 @@ target triple = "[filtered]" define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] ret void } define void @foo__baz(%foo* %0, [81 x i8]* %1) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 - %out = alloca [81 x i8]*, align 8 - store [81 x i8]* %1, [81 x i8]** %out, align 8 - %deref = load [81 x i8]*, [81 x i8]** %out, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] + %out = alloca [81 x i8]*, align [filtered] + store [81 x i8]* %1, [81 x i8]** %out, align [filtered] + %deref = load [81 x i8]*, [81 x i8]** %out, align [filtered] %2 = bitcast [81 x i8]* %deref to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) ret void } define void @main() { entry: - %s = alloca [81 x i8], align 1 - %fb = alloca %foo, align 8 + %s = alloca [81 x i8], align [filtered] + %fb = alloca %foo, align [filtered] %0 = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast %foo* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %s to i8* call void @foo__baz(%foo* %fb, i8* %2) %3 = bitcast [81 x i8]* %s to i8* diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__multidim_array_access.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__multidim_array_access.snap index 7de21f74a6..1de8b464b0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__multidim_array_access.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__multidim_array_access.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,11 +15,11 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %tmpVar = getelementptr inbounds [8 x i32], [8 x i32]* %x, i32 0, i32 4 - store i32 3, i32* %tmpVar, align 4 + store i32 3, i32* %tmpVar, align [filtered] %tmpVar1 = getelementptr inbounds [8 x i32], [8 x i32]* %x, i32 0, i32 7 %tmpVar2 = getelementptr inbounds [8 x i32], [8 x i32]* %x, i32 0, i32 3 - %load_tmpVar = load i32, i32* %tmpVar2, align 4 + %load_tmpVar = load i32, i32* %tmpVar2, align [filtered] %tmpVar3 = add i32 %load_tmpVar, 3 - store i32 %tmpVar3, i32* %tmpVar1, align 4 + store i32 %tmpVar3, i32* %tmpVar1, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_access.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_access.snap index 5389c99652..ef5792b813 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_access.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_access.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,13 +16,13 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %tmpVar = getelementptr inbounds [4 x [2 x i32]], [4 x [2 x i32]]* %x, i32 0, i32 2 %tmpVar1 = getelementptr inbounds [2 x i32], [2 x i32]* %tmpVar, i32 0, i32 0 - store i32 3, i32* %tmpVar1, align 4 + store i32 3, i32* %tmpVar1, align [filtered] %tmpVar2 = getelementptr inbounds [4 x [2 x i32]], [4 x [2 x i32]]* %x, i32 0, i32 3 %tmpVar3 = getelementptr inbounds [2 x i32], [2 x i32]* %tmpVar2, i32 0, i32 1 %tmpVar4 = getelementptr inbounds [4 x [2 x i32]], [4 x [2 x i32]]* %x, i32 0, i32 1 %tmpVar5 = getelementptr inbounds [2 x i32], [2 x i32]* %tmpVar4, i32 0, i32 1 - %load_tmpVar = load i32, i32* %tmpVar5, align 4 + %load_tmpVar = load i32, i32* %tmpVar5, align [filtered] %tmpVar6 = add i32 %load_tmpVar, 3 - store i32 %tmpVar6, i32* %tmpVar3, align 4 + store i32 %tmpVar6, i32* %tmpVar3, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes.snap index f250f19b24..0e46728fdd 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,27 +17,27 @@ entry: %y = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %z = getelementptr inbounds %main, %main* %0, i32 0, i32 2 %cube = getelementptr inbounds %main, %main* %0, i32 0, i32 3 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x to i32 %tmpVar = mul i32 25, %1 %tmpVar1 = add i32 %tmpVar, 0 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %2 = sext i16 %load_y to i32 %tmpVar2 = mul i32 5, %2 %tmpVar3 = add i32 %tmpVar2, %tmpVar1 - %load_z = load i16, i16* %z, align 2 + %load_z = load i16, i16* %z, align [filtered] %3 = sext i16 %load_z to i32 %tmpVar4 = mul i32 1, %3 %tmpVar5 = add i32 %tmpVar4, %tmpVar3 %tmpVar6 = getelementptr inbounds [125 x i32], [125 x i32]* %cube, i32 0, i32 %tmpVar5 - %load_x7 = load i16, i16* %x, align 2 + %load_x7 = load i16, i16* %x, align [filtered] %4 = sext i16 %load_x7 to i32 - %load_y8 = load i16, i16* %y, align 2 + %load_y8 = load i16, i16* %y, align [filtered] %5 = sext i16 %load_y8 to i32 %tmpVar9 = mul i32 %4, %5 - %load_z10 = load i16, i16* %z, align 2 + %load_z10 = load i16, i16* %z, align [filtered] %6 = sext i16 %load_z10 to i32 %tmpVar11 = mul i32 %tmpVar9, %6 - store i32 %tmpVar11, i32* %tmpVar6, align 4 + store i32 %tmpVar11, i32* %tmpVar6, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes_negative_start.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes_negative_start.snap index 63e1a12c22..2536b2d1ca 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes_negative_start.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_array_cube_writes_negative_start.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,30 +17,30 @@ entry: %y = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %z = getelementptr inbounds %main, %main* %0, i32 0, i32 2 %cube = getelementptr inbounds %main, %main* %0, i32 0, i32 3 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sub i16 %load_x, -2 %2 = sext i16 %1 to i32 %tmpVar = mul i32 25, %2 %tmpVar1 = add i32 %tmpVar, 0 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %3 = sub i16 %load_y, -2 %4 = sext i16 %3 to i32 %tmpVar2 = mul i32 5, %4 %tmpVar3 = add i32 %tmpVar2, %tmpVar1 - %load_z = load i16, i16* %z, align 2 + %load_z = load i16, i16* %z, align [filtered] %5 = sub i16 %load_z, -2 %6 = sext i16 %5 to i32 %tmpVar4 = mul i32 1, %6 %tmpVar5 = add i32 %tmpVar4, %tmpVar3 %tmpVar6 = getelementptr inbounds [125 x i32], [125 x i32]* %cube, i32 0, i32 %tmpVar5 - %load_x7 = load i16, i16* %x, align 2 + %load_x7 = load i16, i16* %x, align [filtered] %7 = sext i16 %load_x7 to i32 - %load_y8 = load i16, i16* %y, align 2 + %load_y8 = load i16, i16* %y, align [filtered] %8 = sext i16 %load_y8 to i32 %tmpVar9 = mul i32 %7, %8 - %load_z10 = load i16, i16* %z, align 2 + %load_z10 = load i16, i16* %z, align [filtered] %9 = sext i16 %load_z10 to i32 %tmpVar11 = mul i32 %tmpVar9, %9 - store i32 %tmpVar11, i32* %tmpVar6, align 4 + store i32 %tmpVar11, i32* %tmpVar6, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_function_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_function_called_in_program.snap index 35adccc8a4..3d9db8db3d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_function_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__nested_function_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,21 +13,21 @@ target triple = "[filtered]" define i32 @bar() { entry: - %bar = alloca i32, align 4 - store i32 0, i32* %bar, align 4 - store i32 1, i32* %bar, align 4 - %bar_ret = load i32, i32* %bar, align 4 + %bar = alloca i32, align [filtered] + store i32 0, i32* %bar, align [filtered] + store i32 1, i32* %bar, align [filtered] + %bar_ret = load i32, i32* %bar, align [filtered] ret i32 %bar_ret } define i32 @foo(i32 %0) { entry: - %foo = alloca i32, align 4 - %in = alloca i32, align 4 - store i32 %0, i32* %in, align 4 - store i32 0, i32* %foo, align 4 - store i32 1, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %in = alloca i32, align [filtered] + store i32 %0, i32* %in, align [filtered] + store i32 0, i32* %foo, align [filtered] + store i32 1, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -37,6 +36,6 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call i32 @bar() %call1 = call i32 @foo(i32 %call) - store i32 %call1, i32* %x, align 4 + store i32 %call1, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__order_var_and_var_temp_block.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__order_var_and_var_temp_block.snap index 91c2859d3b..2ddc168623 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__order_var_and_var_temp_block.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__order_var_and_var_temp_block.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,8 +13,8 @@ target triple = "[filtered]" define void @main(%main* %0) { entry: - %temp = alloca i16, align 2 + %temp = alloca i16, align [filtered] %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - store i16 0, i16* %temp, align 2 + store i16 0, i16* %temp, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pass_inout_to_inout.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pass_inout_to_inout.snap index 099458304e..d8a2d1fe52 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pass_inout_to_inout.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pass_inout_to_inout.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -26,11 +25,11 @@ entry: define void @foo(%foo* %0) { entry: %inout = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %deref = load i32*, i32** %inout, align 8 - store i32* %deref, i32** getelementptr inbounds (%foo2, %foo2* @foo2_instance, i32 0, i32 0), align 8 - %deref1 = load i32*, i32** %inout, align 8 - %load_inout = load i32, i32* %deref1, align 4 - store i32 %load_inout, i32* getelementptr inbounds (%foo2, %foo2* @foo2_instance, i32 0, i32 1), align 4 + %deref = load i32*, i32** %inout, align [filtered] + store i32* %deref, i32** getelementptr inbounds (%foo2, %foo2* @foo2_instance, i32 0, i32 0), align [filtered] + %deref1 = load i32*, i32** %inout, align [filtered] + %load_inout = load i32, i32* %deref1, align [filtered] + store i32 %load_inout, i32* getelementptr inbounds (%foo2, %foo2* @foo2_instance, i32 0, i32 1), align [filtered] call void @foo2(%foo2* @foo2_instance) ret void } @@ -38,7 +37,7 @@ entry: define void @prg(%prg* %0) { entry: %baz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32* %baz, i32** getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 8 + store i32* %baz, i32** getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] call void @foo(%foo* @foo_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointer_and_array_access_to_in_out.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointer_and_array_access_to_in_out.snap index b2cce2ddcd..f864e76b00 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointer_and_array_access_to_in_out.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointer_and_array_access_to_in_out.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,22 +9,22 @@ target triple = "[filtered]" define i16 @main(i16** %0, i16* %1) { entry: - %main = alloca i16, align 2 - %a = alloca i16**, align 8 - store i16** %0, i16*** %a, align 8 - %b = alloca i16*, align 8 - store i16* %1, i16** %b, align 8 - %c = alloca i16, align 2 - store i16 0, i16* %c, align 2 - store i16 0, i16* %main, align 2 - %deref = load i16**, i16*** %a, align 8 - %deref1 = load i16*, i16** %deref, align 8 - %load_tmpVar = load i16, i16* %deref1, align 2 - store i16 %load_tmpVar, i16* %c, align 2 - %deref2 = load i16*, i16** %b, align 8 + %main = alloca i16, align [filtered] + %a = alloca i16**, align [filtered] + store i16** %0, i16*** %a, align [filtered] + %b = alloca i16*, align [filtered] + store i16* %1, i16** %b, align [filtered] + %c = alloca i16, align [filtered] + store i16 0, i16* %c, align [filtered] + store i16 0, i16* %main, align [filtered] + %deref = load i16**, i16*** %a, align [filtered] + %deref1 = load i16*, i16** %deref, align [filtered] + %load_tmpVar = load i16, i16* %deref1, align [filtered] + store i16 %load_tmpVar, i16* %c, align [filtered] + %deref2 = load i16*, i16** %b, align [filtered] %tmpVar = getelementptr inbounds i16, i16* %deref2, i32 0 - %load_tmpVar3 = load i16, i16* %tmpVar, align 2 - store i16 %load_tmpVar3, i16* %c, align 2 - %main_ret = load i16, i16* %main, align 2 + %load_tmpVar3 = load i16, i16* %tmpVar, align [filtered] + store i16 %load_tmpVar3, i16* %c, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointers_generated.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointers_generated.snap index c34eb17bb6..c04d062f58 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointers_generated.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__pointers_generated.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,21 +16,21 @@ entry: %X = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %pX = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %rX = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - store i8* null, i8** %pX, align 8 - store i8* null, i8** %rX, align 8 - store i8* %X, i8** %pX, align 8 - store i8* %X, i8** %rX, align 8 - %deref = load i8*, i8** %pX, align 8 - %load_tmpVar = load i8, i8* %deref, align 1 - store i8 %load_tmpVar, i8* %X, align 1 - %deref1 = load i8*, i8** %rX, align 8 - %load_tmpVar2 = load i8, i8* %deref1, align 1 - store i8 %load_tmpVar2, i8* %X, align 1 - %deref3 = load i8*, i8** %pX, align 8 - %load_X = load i8, i8* %X, align 1 - store i8 %load_X, i8* %deref3, align 1 - %deref4 = load i8*, i8** %rX, align 8 - %load_X5 = load i8, i8* %X, align 1 - store i8 %load_X5, i8* %deref4, align 1 + store i8* null, i8** %pX, align [filtered] + store i8* null, i8** %rX, align [filtered] + store i8* %X, i8** %pX, align [filtered] + store i8* %X, i8** %rX, align [filtered] + %deref = load i8*, i8** %pX, align [filtered] + %load_tmpVar = load i8, i8* %deref, align [filtered] + store i8 %load_tmpVar, i8* %X, align [filtered] + %deref1 = load i8*, i8** %rX, align [filtered] + %load_tmpVar2 = load i8, i8* %deref1, align [filtered] + store i8 %load_tmpVar2, i8* %X, align [filtered] + %deref3 = load i8*, i8** %pX, align [filtered] + %load_X = load i8, i8* %X, align [filtered] + store i8 %load_X, i8* %deref3, align [filtered] + %deref4 = load i8*, i8** %rX, align [filtered] + %load_X5 = load i8, i8* %X, align [filtered] + store i8 %load_X5, i8* %deref4, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_and_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_and_statement.snap index 63e46e7312..c7aad8329e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_and_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_and_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,12 +15,12 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] %1 = icmp ne i8 %load_x, 0 br i1 %1, label %2, label %4 2: ; preds = %entry - %load_y = load i8, i8* %y, align 1 + %load_y = load i8, i8* %y, align [filtered] %3 = icmp ne i8 %load_y, 0 br label %4 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_bool_variables_and_references_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_bool_variables_and_references_generates_void_function_and_struct_and_body.snap index 6ce4e9dbbc..f83241f0a3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_bool_variables_and_references_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_bool_variables_and_references_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i8, i8* %x, align 1 - %load_y = load i8, i8* %y, align 1 + %load_x = load i8, i8* %x, align [filtered] + %load_y = load i8, i8* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_boolean_assignment_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_boolean_assignment_generates_void_function_and_struct_and_body.snap index 3a4df17397..cf6d2ff2b0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_boolean_assignment_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_boolean_assignment_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,7 +14,7 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i8 1, i8* %y, align 1 - store i8 0, i8* %y, align 1 + store i8 1, i8* %y, align [filtered] + store i8 0, i8* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_casted_chars_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_casted_chars_assignment.snap index 04ab9a30ce..ff9442fb8c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_casted_chars_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_casted_chars_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,7 +17,7 @@ define void @mainPROG(%mainPROG* %0) { entry: %x = getelementptr inbounds %mainPROG, %mainPROG* %0, i32 0, i32 0 %y = getelementptr inbounds %mainPROG, %mainPROG* %0, i32 0, i32 1 - store i8 65, i8* %x, align 1 - store i16 66, i16* %y, align 2 + store i8 65, i8* %x, align [filtered] + store i16 66, i16* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_chars.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_chars.snap index 9f69a89967..e34ae6024c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_chars.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_chars.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -22,11 +21,11 @@ define void @mainPROG(%mainPROG* %0) { entry: %x = getelementptr inbounds %mainPROG, %mainPROG* %0, i32 0, i32 0 %y = getelementptr inbounds %mainPROG, %mainPROG* %0, i32 0, i32 1 - store i8 97, i8* %x, align 1 - store i8 32, i8* %x, align 1 - store i16 65, i16* %y, align 2 - store i16 32, i16* %y, align 2 - store i16 39, i16* %y, align 2 - store i16 34, i16* %y, align 2 + store i8 97, i8* %x, align [filtered] + store i8 32, i8* %x, align [filtered] + store i16 65, i16* %y, align [filtered] + store i16 32, i16* %y, align [filtered] + store i16 39, i16* %y, align [filtered] + store i16 34, i16* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment.snap index 4bfac75e8b..79bbdac539 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,17 +17,17 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - store i64 56190123000000, i64* %w, align 8 - store i64 56190123000000, i64* %w, align 8 - store i64 100012000000, i64* %x, align 8 - store i64 100012000000, i64* %x, align 8 - store i64 465436800000000000, i64* %y, align 8 - store i64 0, i64* %y, align 8 - store i64 465509714000000000, i64* %z, align 8 - store i64 58804123000000, i64* %z, align 8 - store i64 58804123456789, i64* %z, align 8 - store i64 946757700000000000, i64* %z, align 8 - store i64 946757700000000000, i64* %z, align 8 - store i64 946757708123000000, i64* %z, align 8 + store i64 56190123000000, i64* %w, align [filtered] + store i64 56190123000000, i64* %w, align [filtered] + store i64 100012000000, i64* %x, align [filtered] + store i64 100012000000, i64* %x, align [filtered] + store i64 465436800000000000, i64* %y, align [filtered] + store i64 0, i64* %y, align [filtered] + store i64 465509714000000000, i64* %z, align [filtered] + store i64 58804123000000, i64* %z, align [filtered] + store i64 58804123456789, i64* %z, align [filtered] + store i64 946757700000000000, i64* %z, align [filtered] + store i64 946757700000000000, i64* %z, align [filtered] + store i64 946757708123000000, i64* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment_whit_short_datatype_names.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment_whit_short_datatype_names.snap index 98c6860b9e..a7c23df18f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment_whit_short_datatype_names.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_date_assignment_whit_short_datatype_names.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,14 +17,14 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - store i64 56190123000000, i64* %w, align 8 - store i64 56190123000000, i64* %w, align 8 - store i64 100012000000, i64* %x, align 8 - store i64 100012000000, i64* %x, align 8 - store i64 465436800000000000, i64* %y, align 8 - store i64 0, i64* %y, align 8 - store i64 465509700000000000, i64* %z, align 8 - store i64 58808123000000, i64* %z, align 8 - store i64 58804123456789, i64* %z, align 8 + store i64 56190123000000, i64* %w, align [filtered] + store i64 56190123000000, i64* %w, align [filtered] + store i64 100012000000, i64* %x, align [filtered] + store i64 100012000000, i64* %x, align [filtered] + store i64 465436800000000000, i64* %y, align [filtered] + store i64 0, i64* %y, align [filtered] + store i64 465509700000000000, i64* %z, align [filtered] + store i64 58808123000000, i64* %z, align [filtered] + store i64 58804123456789, i64* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_floats_variable_and_comparison_assignment_generates_correctly.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_floats_variable_and_comparison_assignment_generates_correctly.snap index def45d32d0..4d2eab8fc4 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_floats_variable_and_comparison_assignment_generates_correctly.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_floats_variable_and_comparison_assignment_generates_correctly.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,29 +15,29 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load float, float* %x, align 4 + %load_x = load float, float* %x, align [filtered] %tmpVar = fcmp oeq float %load_x, 1.000000e+00 %1 = zext i1 %tmpVar to i8 - store i8 %1, i8* %y, align 1 - %load_x1 = load float, float* %x, align 4 + store i8 %1, i8* %y, align [filtered] + %load_x1 = load float, float* %x, align [filtered] %tmpVar2 = fcmp ogt float %load_x1, 2.000000e+00 %2 = zext i1 %tmpVar2 to i8 - store i8 %2, i8* %y, align 1 - %load_x3 = load float, float* %x, align 4 + store i8 %2, i8* %y, align [filtered] + %load_x3 = load float, float* %x, align [filtered] %tmpVar4 = fcmp olt float %load_x3, 3.000000e+00 %3 = zext i1 %tmpVar4 to i8 - store i8 %3, i8* %y, align 1 - %load_x5 = load float, float* %x, align 4 + store i8 %3, i8* %y, align [filtered] + %load_x5 = load float, float* %x, align [filtered] %tmpVar6 = fcmp one float %load_x5, 4.000000e+00 %4 = zext i1 %tmpVar6 to i8 - store i8 %4, i8* %y, align 1 - %load_x7 = load float, float* %x, align 4 + store i8 %4, i8* %y, align [filtered] + %load_x7 = load float, float* %x, align [filtered] %tmpVar8 = fcmp oge float %load_x7, 5.000000e+00 %5 = zext i1 %tmpVar8 to i8 - store i8 %5, i8* %y, align 1 - %load_x9 = load float, float* %x, align 4 + store i8 %5, i8* %y, align [filtered] + %load_x9 = load float, float* %x, align [filtered] %tmpVar10 = fcmp ole float %load_x9, 6.000000e+00 %6 = zext i1 %tmpVar10 to i8 - store i8 %6, i8* %y, align 1 + store i8 %6, i8* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_local_temp_var_initialization.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_local_temp_var_initialization.snap index f544c8a888..c4ca1467d1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_local_temp_var_initialization.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_local_temp_var_initialization.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,15 +16,15 @@ target triple = "[filtered]" define void @foo(%foo* %0) { entry: %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %y = alloca i16, align 2 - %z = alloca i16, align 2 - store i16 0, i16* %y, align 2 - store i16 9, i16* %z, align 2 - %load_z = load i16, i16* %z, align 2 + %y = alloca i16, align [filtered] + %z = alloca i16, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 9, i16* %z, align [filtered] + %load_z = load i16, i16* %z, align [filtered] %1 = sext i16 %load_z to i32 %tmpVar = add i32 %1, 1 %2 = trunc i32 %tmpVar to i16 - store i16 %2, i16* %y, align 2 + store i16 %2, i16* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_long_date_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_long_date_assignment.snap index f2fcbf7e1f..fe85d5403c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_long_date_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_long_date_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,13 +17,13 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - store i64 100012006003, i64* %w, align 8 - store i64 100012006003, i64* %w, align 8 - store i64 465436800000000000, i64* %x, align 8 - store i64 0, i64* %x, align 8 - store i64 465509714000000000, i64* %y, align 8 - store i64 58804123456789, i64* %y, align 8 - store i64 56190999999999, i64* %z, align 8 - store i64 56190123456000, i64* %z, align 8 + store i64 100012006003, i64* %w, align [filtered] + store i64 100012006003, i64* %w, align [filtered] + store i64 465436800000000000, i64* %x, align [filtered] + store i64 0, i64* %x, align [filtered] + store i64 465509714000000000, i64* %y, align [filtered] + store i64 58804123456789, i64* %y, align [filtered] + store i64 56190999999999, i64* %z, align [filtered] + store i64 56190123456000, i64* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_combined_expressions_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_combined_expressions_generates_void_function_and_struct_and_body.snap index a9a5d11a9e..a2656a7b91 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_combined_expressions_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_combined_expressions_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,24 +15,24 @@ define void @prg(%prg* %0) { entry: %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_y = load i8, i8* %y, align 1 + %load_y = load i8, i8* %y, align [filtered] %1 = icmp ne i8 %load_y, 0 br i1 %1, label %2, label %3 2: ; preds = %entry - %load_z = load i32, i32* %z, align 4 + %load_z = load i32, i32* %z, align [filtered] %tmpVar = icmp sge i32 %load_z, 5 br label %3 3: ; preds = %2, %entry %4 = phi i1 [ %1, %entry ], [ %tmpVar, %2 ] - %load_z1 = load i32, i32* %z, align 4 + %load_z1 = load i32, i32* %z, align [filtered] %tmpVar2 = icmp sle i32 %load_z1, 6 %tmpVar3 = xor i1 %tmpVar2, true br i1 %tmpVar3, label %7, label %5 5: ; preds = %3 - %load_y4 = load i8, i8* %y, align 1 + %load_y4 = load i8, i8* %y, align [filtered] %6 = icmp ne i8 %load_y4, 0 br label %7 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_expressions_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_expressions_generates_void_function_and_struct_and_body.snap index 6a541e8e96..1ad1d05fb6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_expressions_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_negated_expressions_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,15 +15,15 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] %1 = icmp ne i8 %load_x, 0 %tmpVar = xor i1 %1, true - %load_x1 = load i8, i8* %x, align 1 + %load_x1 = load i8, i8* %x, align [filtered] %2 = icmp ne i8 %load_x1, 0 br i1 %2, label %3, label %5 3: ; preds = %entry - %load_y = load i8, i8* %y, align 1 + %load_y = load i8, i8* %y, align [filtered] %4 = icmp ne i8 %load_y, 0 %tmpVar2 = xor i1 %4, true br label %5 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_or_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_or_statement.snap index 014e146ab7..e7138d64ee 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_or_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_or_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,12 +15,12 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] %1 = icmp ne i8 %load_x, 0 br i1 %1, label %4, label %2 2: ; preds = %entry - %load_y = load i8, i8* %y, align 1 + %load_y = load i8, i8* %y, align [filtered] %3 = icmp ne i8 %load_y, 0 br label %4 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_additions.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_additions.snap index c40b5c61aa..3f28f3a534 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_additions.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_additions.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,11 +16,11 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - store float 1.237500e+01, float* %x, align 4 - store float 2.500000e-01, float* %y, align 4 - %load_x = load float, float* %x, align 4 - %load_y = load float, float* %y, align 4 + store float 1.237500e+01, float* %x, align [filtered] + store float 2.500000e-01, float* %y, align [filtered] + %load_x = load float, float* %x, align [filtered] + %load_y = load float, float* %y, align [filtered] %tmpVar = fadd float %load_x, %load_y - store float %tmpVar, float* %z, align 4 + store float %tmpVar, float* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_assignment.snap index 5591466b75..f1a6260351 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,8 +14,8 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store float 1.562500e-01, float* %y, align 4 - store float 1.000000e+02, float* %y, align 4 - store float 1.000000e+03, float* %y, align 4 + store float 1.562500e-01, float* %y, align [filtered] + store float 1.000000e+02, float* %y, align [filtered] + store float 1.000000e+03, float* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_cast_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_cast_assignment.snap index 793006bdf4..7434fe9838 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_cast_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_real_cast_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,8 +15,8 @@ define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 + %load_x = load i16, i16* %x, align [filtered] %1 = sitofp i16 %load_x to float - store float %1, float* %y, align 4 + store float %1, float* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_signed_combined_expressions.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_signed_combined_expressions.snap index 0f1ac9daf0..a8ee03a5cb 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_signed_combined_expressions.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_signed_combined_expressions.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,12 +15,12 @@ define void @prg(%prg* %0) { entry: %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_z = load i32, i32* %z, align 4 + %load_z = load i32, i32* %z, align [filtered] %tmpVar = add i32 -1, %load_z - %load_z1 = load i32, i32* %z, align 4 + %load_z1 = load i32, i32* %z, align [filtered] %tmpVar2 = sub i32 0, %load_z1 %tmpVar3 = add i32 2, %tmpVar2 - %load_y = load i32, i32* %y, align 4 + %load_y = load i32, i32* %y, align [filtered] %tmpVar4 = sub i32 0, %load_y %tmpVar5 = add i32 %tmpVar4, 3 ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_special_chars_in_string.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_special_chars_in_string.snap index 62fb521e51..6e66e0cff7 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_special_chars_in_string.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_special_chars_in_string.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -23,13 +22,13 @@ entry: %should_replace_ws = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %should_not_replace_ws = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 %1 = bitcast [81 x i8]* %should_replace_s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([41 x i8], [41 x i8]* @utf08_literal_1, i32 0, i32 0), i32 41, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([41 x i8], [41 x i8]* @utf08_literal_1, i32 0, i32 0), i32 41, i1 false) %2 = bitcast [81 x i8]* %should_not_replace_s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([19 x i8], [19 x i8]* @utf08_literal_0, i32 0, i32 0), i32 19, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([19 x i8], [19 x i8]* @utf08_literal_0, i32 0, i32 0), i32 19, i1 false) %3 = bitcast [81 x i16]* %should_replace_ws to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %3, i8* align 2 bitcast ([41 x i16]* @utf16_literal_1 to i8*), i32 82, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] bitcast ([41 x i16]* @utf16_literal_1 to i8*), i32 82, i1 false) %4 = bitcast [81 x i16]* %should_not_replace_ws to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %4, i8* align 2 bitcast ([19 x i16]* @utf16_literal_0 to i8*), i32 38, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %4, i8* align [filtered] bitcast ([19 x i16]* @utf16_literal_0 to i8*), i32 38, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_string_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_string_assignment.snap index 65c413ffe7..3e534ac519 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_string_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_string_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,9 +18,9 @@ entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) %2 = bitcast [81 x i16]* %z to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %2, i8* align 2 bitcast ([18 x i16]* @utf16_literal_0 to i8*), i32 36, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] bitcast ([18 x i16]* @utf16_literal_0 to i8*), i32 36, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_assignment.snap index 985138e91d..d6e39cec1e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,14 +14,14 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i64 0, i64* %y, align 8 - store i64 43200000000000, i64* %y, align 8 - store i64 100000000, i64* %y, align 8 - store i64 100000000, i64* %y, align 8 - store i64 1000000, i64* %y, align 8 - store i64 -1000, i64* %y, align 8 - store i64 1, i64* %y, align 8 - store i64 -86400001000000, i64* %y, align 8 - store i64 8640000001000000, i64* %y, align 8 + store i64 0, i64* %y, align [filtered] + store i64 43200000000000, i64* %y, align [filtered] + store i64 100000000, i64* %y, align [filtered] + store i64 100000000, i64* %y, align [filtered] + store i64 1000000, i64* %y, align [filtered] + store i64 -1000, i64* %y, align [filtered] + store i64 1, i64* %y, align [filtered] + store i64 -86400001000000, i64* %y, align [filtered] + store i64 8640000001000000, i64* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_of_day_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_of_day_assignment.snap index 3b832ddc39..f44eda2e17 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_of_day_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_time_of_day_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,13 +14,13 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i64 0, i64* %y, align 8 - store i64 3600000000000, i64* %y, align 8 - store i64 3600001000000, i64* %y, align 8 - store i64 3661000000000, i64* %y, align 8 - store i64 72900000000000, i64* %y, align 8 - store i64 72900000000000, i64* %y, align 8 - store i64 40260000000000, i64* %y, align 8 - store i64 40260000000000, i64* %y, align 8 + store i64 0, i64* %y, align [filtered] + store i64 3600000000000, i64* %y, align [filtered] + store i64 3600001000000, i64* %y, align [filtered] + store i64 3661000000000, i64* %y, align [filtered] + store i64 72900000000000, i64* %y, align [filtered] + store i64 72900000000000, i64* %y, align [filtered] + store i64 40260000000000, i64* %y, align [filtered] + store i64 40260000000000, i64* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_explicit_parameters_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_explicit_parameters_called_in_program.snap index 5a4ff5bc64..5e3af073dc 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_explicit_parameters_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_explicit_parameters_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -23,8 +22,8 @@ entry: define void @prg(%prg* %0) { entry: - store i8 1, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align 1 - store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 4 + store i8 1, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align [filtered] + store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] call void @foo(%foo* @foo_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_parameters_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_parameters_called_in_program.snap index 87014b1019..8381dcd6af 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_parameters_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_two_parameters_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -23,8 +22,8 @@ entry: define void @prg(%prg* %0) { entry: - store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 4 - store i8 1, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align 1 + store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] + store i8 1, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align [filtered] call void @foo(%foo* @foo_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_inout_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_inout_called_in_program.snap index 13ec1ddeea..22a4ef3594 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_inout_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_inout_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,19 +16,19 @@ target triple = "[filtered]" define void @foo(%foo* %0) { entry: %inout = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %deref = load i32*, i32** %inout, align 8 - %deref1 = load i32*, i32** %inout, align 8 - %load_inout = load i32, i32* %deref1, align 4 + %deref = load i32*, i32** %inout, align [filtered] + %deref1 = load i32*, i32** %inout, align [filtered] + %load_inout = load i32, i32* %deref1, align [filtered] %tmpVar = add i32 %load_inout, 1 - store i32 %tmpVar, i32* %deref, align 4 + store i32 %tmpVar, i32* %deref, align [filtered] ret void } define void @prg(%prg* %0) { entry: %baz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 7, i32* %baz, align 4 - store i32* %baz, i32** getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 8 + store i32 7, i32* %baz, align [filtered] + store i32* %baz, i32** getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] call void @foo(%foo* @foo_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_in_program.snap index c297d79ecd..20443705d8 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -24,9 +23,9 @@ entry: define void @prg(%prg* %0) { entry: %baz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 4 + store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] call void @foo(%foo* @foo_instance) - %1 = load i8, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align 1 - store i8 %1, i8* %baz, align 1 + %1 = load i8, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align [filtered] + store i8 %1, i8* %baz, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_mixed_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_mixed_in_program.snap index c297d79ecd..20443705d8 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_mixed_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_var_out_called_mixed_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -24,9 +23,9 @@ entry: define void @prg(%prg* %0) { entry: %baz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 4 + store i32 2, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] call void @foo(%foo* @foo_instance) - %1 = load i8, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align 1 - store i8 %1, i8* %baz, align 1 + %1 = load i8, i8* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align [filtered] + store i8 %1, i8* %baz, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_addition_literal_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_addition_literal_generates_void_function_and_struct_and_body.snap index 2bc0788d25..54ac0413c2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_addition_literal_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_addition_literal_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,7 +14,7 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x, 7 ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_arithmatic_assignment_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_arithmatic_assignment_generates_void_function_and_struct_and_body.snap index 578c4abbad..b8b6feb58d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_arithmatic_assignment_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_arithmatic_assignment_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,20 +15,20 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x, 1 - store i32 %tmpVar, i32* %y, align 4 - %load_x1 = load i32, i32* %x, align 4 + store i32 %tmpVar, i32* %y, align [filtered] + %load_x1 = load i32, i32* %x, align [filtered] %tmpVar2 = sub i32 %load_x1, 2 - store i32 %tmpVar2, i32* %y, align 4 - %load_x3 = load i32, i32* %x, align 4 + store i32 %tmpVar2, i32* %y, align [filtered] + %load_x3 = load i32, i32* %x, align [filtered] %tmpVar4 = mul i32 %load_x3, 3 - store i32 %tmpVar4, i32* %y, align 4 - %load_x5 = load i32, i32* %x, align 4 + store i32 %tmpVar4, i32* %y, align [filtered] + %load_x5 = load i32, i32* %x, align [filtered] %tmpVar6 = sdiv i32 %load_x5, 4 - store i32 %tmpVar6, i32* %y, align 4 - %load_x7 = load i32, i32* %x, align 4 + store i32 %tmpVar6, i32* %y, align [filtered] + %load_x7 = load i32, i32* %x, align [filtered] %tmpVar8 = srem i32 %load_x7, 5 - store i32 %tmpVar8, i32* %y, align 4 + store i32 %tmpVar8, i32* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_comparison_assignment_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_comparison_assignment_generates_void_function_and_struct_and_body.snap index 1a76e97c33..241b0afcfd 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_comparison_assignment_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_and_comparison_assignment_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,29 +15,29 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = icmp eq i32 %load_x, 1 %1 = zext i1 %tmpVar to i8 - store i8 %1, i8* %y, align 1 - %load_x1 = load i32, i32* %x, align 4 + store i8 %1, i8* %y, align [filtered] + %load_x1 = load i32, i32* %x, align [filtered] %tmpVar2 = icmp sgt i32 %load_x1, 2 %2 = zext i1 %tmpVar2 to i8 - store i8 %2, i8* %y, align 1 - %load_x3 = load i32, i32* %x, align 4 + store i8 %2, i8* %y, align [filtered] + %load_x3 = load i32, i32* %x, align [filtered] %tmpVar4 = icmp slt i32 %load_x3, 3 %3 = zext i1 %tmpVar4 to i8 - store i8 %3, i8* %y, align 1 - %load_x5 = load i32, i32* %x, align 4 + store i8 %3, i8* %y, align [filtered] + %load_x5 = load i32, i32* %x, align [filtered] %tmpVar6 = icmp ne i32 %load_x5, 4 %4 = zext i1 %tmpVar6 to i8 - store i8 %4, i8* %y, align 1 - %load_x7 = load i32, i32* %x, align 4 + store i8 %4, i8* %y, align [filtered] + %load_x7 = load i32, i32* %x, align [filtered] %tmpVar8 = icmp sge i32 %load_x7, 5 %5 = zext i1 %tmpVar8 to i8 - store i8 %5, i8* %y, align 1 - %load_x9 = load i32, i32* %x, align 4 + store i8 %5, i8* %y, align [filtered] + %load_x9 = load i32, i32* %x, align [filtered] %tmpVar10 = icmp sle i32 %load_x9, 6 %6 = zext i1 %tmpVar10 to i8 - store i8 %6, i8* %y, align 1 + store i8 %6, i8* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_assignment_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_assignment_generates_void_function_and_struct_and_body.snap index 6a424f10d4..8b5cb51e7f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_assignment_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variable_assignment_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,6 +14,6 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 7, i32* %y, align 4 + store i32 7, i32* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_additions_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_additions_generates_void_function_and_struct_and_body.snap index 699e99e7f5..8bf05a6b9a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_additions_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_additions_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,8 +15,8 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 - %load_y = load i32, i32* %y, align 4 + %load_x = load i32, i32* %x, align [filtered] + %load_y = load i32, i32* %y, align [filtered] %tmpVar = add i32 %load_x, %load_y ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_references_generates_void_function_and_struct_and_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_references_generates_void_function_and_struct_and_body.snap index c581c13ce1..f12ef81148 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_references_generates_void_function_and_struct_and_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_variables_and_references_generates_void_function_and_struct_and_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 - %load_y = load i32, i32* %y, align 4 + %load_x = load i32, i32* %x, align [filtered] + %load_y = load i32, i32* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_xor_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_xor_statement.snap index bb6472a7d3..fdc2763fd0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_xor_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__program_with_xor_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,12 +16,12 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] %1 = icmp ne i8 %load_x, 0 - %load_y = load i8, i8* %y, align 1 + %load_y = load i8, i8* %y, align [filtered] %2 = icmp ne i8 %load_y, 0 %3 = xor i1 %1, %2 %4 = zext i1 %3 to i8 - store i8 %4, i8* %z, align 1 + store i8 %4, i8* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_action_from_fb_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_action_from_fb_called_in_program.snap index dba4041c47..06ce85bfb0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_action_from_fb_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_action_from_fb_called_in_program.snap @@ -22,17 +22,17 @@ entry: define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void } define void @fb__foo(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 - store i32 2, i32* %x, align 4 + store i32 2, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_foreign_action_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_foreign_action_called_in_program.snap index 7a8417bc54..9773448ff9 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_foreign_action_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_foreign_action_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -29,6 +28,6 @@ entry: define void @prg__foo(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 2, i32* %x, align 4 + store i32 2, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_local_action_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_local_action_called_in_program.snap index fd348dbeca..061d0be6aa 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_local_action_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__qualified_local_action_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -22,6 +21,6 @@ entry: define void @prg__foo(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 2, i32* %x, align 4 + store i32 2, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__real_function_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__real_function_called_in_program.snap index d037f5d808..60f742eed6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__real_function_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__real_function_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,10 +13,10 @@ target triple = "[filtered]" define float @foo() { entry: - %foo = alloca float, align 4 - store float 0.000000e+00, float* %foo, align 4 - store float 1.000000e+00, float* %foo, align 4 - %foo_ret = load float, float* %foo, align 4 + %foo = alloca float, align [filtered] + store float 0.000000e+00, float* %foo, align [filtered] + store float 1.000000e+00, float* %foo, align [filtered] + %foo_ret = load float, float* %foo, align [filtered] ret float %foo_ret } @@ -26,6 +25,6 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %call = call float @foo() %1 = fptosi float %call to i32 - store i32 %1, i32* %x, align 4 + store i32 %1, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_qualified_name.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_qualified_name.snap index 9e0745f30a..1efb79b602 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_qualified_name.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_qualified_name.snap @@ -17,8 +17,8 @@ target triple = "[filtered]" define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void } @@ -34,11 +34,11 @@ entry: define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %load_x = load i32, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align 4 - store i32 %load_x, i32* %x, align 4 - %load_y = load i32, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align 4 - store i32 %load_y, i32* %x, align 4 - %load_x1 = load i32, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 2, i32 0), align 4 - store i32 %load_x1, i32* %x, align 4 + %load_x = load i32, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 0), align [filtered] + store i32 %load_x, i32* %x, align [filtered] + %load_y = load i32, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 1), align [filtered] + store i32 %load_y, i32* %x, align [filtered] + %load_x1 = load i32, i32* getelementptr inbounds (%foo, %foo* @foo_instance, i32 0, i32 2, i32 0), align [filtered] + store i32 %load_x1, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_to_reference_assignments_in_function_arguments.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_to_reference_assignments_in_function_arguments.snap index 5479ae3faf..9e888a6294 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_to_reference_assignments_in_function_arguments.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__reference_to_reference_assignments_in_function_arguments.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -31,11 +30,11 @@ entry: define void @main(%main* %0) { entry: - store %STRUCT_params* @global1, %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 8 - store %STRUCT_params* @global2, %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 8 + store %STRUCT_params* @global1, %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + store %STRUCT_params* @global2, %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] call void @prog(%prog* @prog_instance) - store %STRUCT_params* bitcast (i32* @global4 to %STRUCT_params*), %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 8 - store %STRUCT_params* bitcast ([81 x i8]* @global5 to %STRUCT_params*), %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 8 + store %STRUCT_params* bitcast (i32* @global4 to %STRUCT_params*), %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + store %STRUCT_params* bitcast ([81 x i8]* @global5 to %STRUCT_params*), %STRUCT_params** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] call void @prog(%prog* @prog_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__repeat_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__repeat_statement.snap index d2fe88fc4b..92217451b6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__repeat_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__repeat_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,8 +20,8 @@ condition_check: ; preds = %entry, %continue1 br i1 true, label %while_body, label %continue while_body: ; preds = %condition_check - %load_x = load i8, i8* %x, align 1 - %load_x2 = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] + %load_x2 = load i8, i8* %x, align [filtered] %1 = icmp ne i8 %load_x2, 0 br i1 %1, label %condition_body, label %continue1 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function.snap index 96a323b1f3..2855d35347 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,11 +9,11 @@ target triple = "[filtered]" define i16 @smaller_than_ten(i8 %0) { entry: - %smaller_than_ten = alloca i16, align 2 - %n = alloca i8, align 1 - store i8 %0, i8* %n, align 1 - store i16 0, i16* %smaller_than_ten, align 2 - %load_n = load i8, i8* %n, align 1 + %smaller_than_ten = alloca i16, align [filtered] + %n = alloca i8, align [filtered] + store i8 %0, i8* %n, align [filtered] + store i16 0, i16* %smaller_than_ten, align [filtered] + %load_n = load i8, i8* %n, align [filtered] %1 = sext i8 %load_n to i32 %tmpVar = icmp slt i32 %1, 10 %2 = zext i1 %tmpVar to i8 @@ -22,13 +21,13 @@ entry: br i1 %3, label %condition_body, label %continue condition_body: ; preds = %entry - %smaller_than_ten_ret = load i16, i16* %smaller_than_ten, align 2 + %smaller_than_ten_ret = load i16, i16* %smaller_than_ten, align [filtered] ret i16 %smaller_than_ten_ret buffer_block: ; No predecessors! br label %continue continue: ; preds = %buffer_block, %entry - %smaller_than_ten_ret1 = load i16, i16* %smaller_than_ten, align 2 + %smaller_than_ten_ret1 = load i16, i16* %smaller_than_ten, align [filtered] ret i16 %smaller_than_ten_ret1 } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function_block.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function_block.snap index 8dd4a9326e..7d9e0723a6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function_block.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__returning_early_in_function_block.snap @@ -13,10 +13,10 @@ target triple = "[filtered]" define void @abcdef(%abcdef* %0) { entry: - %this = alloca %abcdef*, align 8 - store %abcdef* %0, %abcdef** %this, align 8 + %this = alloca %abcdef*, align [filtered] + store %abcdef* %0, %abcdef** %this, align [filtered] %n = getelementptr inbounds %abcdef, %abcdef* %0, i32 0, i32 0 - %load_n = load i8, i8* %n, align 1 + %load_n = load i8, i8* %n, align [filtered] %1 = sext i8 %load_n to i32 %tmpVar = icmp slt i32 %1, 10 %2 = zext i1 %tmpVar to i8 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_i8_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_i8_statement.snap index dd1dbba306..9c4303b60e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_i8_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_i8_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] switch i8 %load_x, label %else [ i8 1, label %case i8 2, label %case1 @@ -24,19 +23,19 @@ entry: ] case: ; preds = %entry - store i8 1, i8* %y, align 1 + store i8 1, i8* %y, align [filtered] br label %continue case1: ; preds = %entry - store i8 2, i8* %y, align 1 + store i8 2, i8* %y, align [filtered] br label %continue case2: ; preds = %entry - store i8 3, i8* %y, align 1 + store i8 3, i8* %y, align [filtered] br label %continue else: ; preds = %entry - store i8 0, i8* %y, align 1 + store i8 0, i8* %y, align [filtered] br label %continue continue: ; preds = %else, %case2, %case1, %case diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_statement.snap index bda1c655a1..9904ae2862 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__simple_case_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] switch i32 %load_x, label %else [ i32 1, label %case i32 2, label %case1 @@ -24,19 +23,19 @@ entry: ] case: ; preds = %entry - store i32 1, i32* %y, align 4 + store i32 1, i32* %y, align [filtered] br label %continue case1: ; preds = %entry - store i32 2, i32* %y, align 4 + store i32 2, i32* %y, align [filtered] br label %continue case2: ; preds = %entry - store i32 3, i32* %y, align 4 + store i32 3, i32* %y, align [filtered] br label %continue else: ; preds = %entry - store i32 -1, i32* %y, align 4 + store i32 -1, i32* %y, align [filtered] br label %continue continue: ; preds = %else, %case2, %case1, %case diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sizeof_works_in_binary_expression_with_different_size.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sizeof_works_in_binary_expression_with_different_size.snap index 29dffaf5d9..78042cba8e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sizeof_works_in_binary_expression_with_different_size.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sizeof_works_in_binary_expression_with_different_size.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,19 +9,19 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %i = alloca i32, align 4 - %j = alloca i16, align 2 - %arr_ptr = alloca [3 x float]*, align 8 - store i32 0, i32* %i, align 4 - store i16 0, i16* %j, align 2 - store [3 x float]* null, [3 x float]** %arr_ptr, align 8 - store i32 0, i32* %main, align 4 - %load_j = load i16, i16* %j, align 2 + %main = alloca i32, align [filtered] + %i = alloca i32, align [filtered] + %j = alloca i16, align [filtered] + %arr_ptr = alloca [3 x float]*, align [filtered] + store i32 0, i32* %i, align [filtered] + store i16 0, i16* %j, align [filtered] + store [3 x float]* null, [3 x float]** %arr_ptr, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_j = load i16, i16* %j, align [filtered] %0 = zext i16 %load_j to i64 %tmpVar = sub i64 %0, ptrtoint ([3 x float]** getelementptr ([3 x float]*, [3 x float]** null, i32 1) to i64) %1 = trunc i64 %tmpVar to i32 - store i32 %1, i32* %i, align 4 - %main_ret = load i32, i32* %main, align 4 + store i32 %1, i32* %i, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__structs_members_can_be_referenced.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__structs_members_can_be_referenced.snap index 748b21e483..43344ca469 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__structs_members_can_be_referenced.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__structs_members_can_be_referenced.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,6 +17,6 @@ define void @MainProg(%MainProg* %0) { entry: %Cord = getelementptr inbounds %MainProg, %MainProg* %0, i32 0, i32 0 %a = getelementptr inbounds %MyStruct, %MyStruct* %Cord, i32 0, i32 0 - store i32 0, i32* %a, align 4 + store i32 0, i32* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_check_functions.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_check_functions.snap index b57788ef67..f05e673558 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_check_functions.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_check_functions.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,61 +13,61 @@ target triple = "[filtered]" define i32 @CheckRangeSigned(i32 %0, i32 %1, i32 %2) { entry: - %CheckRangeSigned = alloca i32, align 4 - %v = alloca i32, align 4 - store i32 %0, i32* %v, align 4 - %low = alloca i32, align 4 - store i32 %1, i32* %low, align 4 - %up = alloca i32, align 4 - store i32 %2, i32* %up, align 4 - store i32 0, i32* %CheckRangeSigned, align 4 - store i32 -7, i32* %CheckRangeSigned, align 4 - %CheckRangeSigned_ret = load i32, i32* %CheckRangeSigned, align 4 + %CheckRangeSigned = alloca i32, align [filtered] + %v = alloca i32, align [filtered] + store i32 %0, i32* %v, align [filtered] + %low = alloca i32, align [filtered] + store i32 %1, i32* %low, align [filtered] + %up = alloca i32, align [filtered] + store i32 %2, i32* %up, align [filtered] + store i32 0, i32* %CheckRangeSigned, align [filtered] + store i32 -7, i32* %CheckRangeSigned, align [filtered] + %CheckRangeSigned_ret = load i32, i32* %CheckRangeSigned, align [filtered] ret i32 %CheckRangeSigned_ret } define i32 @CheckRangeUnsigned(i32 %0, i32 %1, i32 %2) { entry: - %CheckRangeUnsigned = alloca i32, align 4 - %v = alloca i32, align 4 - store i32 %0, i32* %v, align 4 - %low = alloca i32, align 4 - store i32 %1, i32* %low, align 4 - %up = alloca i32, align 4 - store i32 %2, i32* %up, align 4 - store i32 0, i32* %CheckRangeUnsigned, align 4 - store i32 7, i32* %CheckRangeUnsigned, align 4 - %CheckRangeUnsigned_ret = load i32, i32* %CheckRangeUnsigned, align 4 + %CheckRangeUnsigned = alloca i32, align [filtered] + %v = alloca i32, align [filtered] + store i32 %0, i32* %v, align [filtered] + %low = alloca i32, align [filtered] + store i32 %1, i32* %low, align [filtered] + %up = alloca i32, align [filtered] + store i32 %2, i32* %up, align [filtered] + store i32 0, i32* %CheckRangeUnsigned, align [filtered] + store i32 7, i32* %CheckRangeUnsigned, align [filtered] + %CheckRangeUnsigned_ret = load i32, i32* %CheckRangeUnsigned, align [filtered] ret i32 %CheckRangeUnsigned_ret } define i64 @CheckLRangeSigned(i64 %0, i64 %1, i64 %2) { entry: - %CheckLRangeSigned = alloca i64, align 8 - %v = alloca i64, align 8 - store i64 %0, i64* %v, align 8 - %low = alloca i64, align 8 - store i64 %1, i64* %low, align 8 - %up = alloca i64, align 8 - store i64 %2, i64* %up, align 8 - store i64 0, i64* %CheckLRangeSigned, align 8 - store i64 -77, i64* %CheckLRangeSigned, align 8 - %CheckLRangeSigned_ret = load i64, i64* %CheckLRangeSigned, align 8 + %CheckLRangeSigned = alloca i64, align [filtered] + %v = alloca i64, align [filtered] + store i64 %0, i64* %v, align [filtered] + %low = alloca i64, align [filtered] + store i64 %1, i64* %low, align [filtered] + %up = alloca i64, align [filtered] + store i64 %2, i64* %up, align [filtered] + store i64 0, i64* %CheckLRangeSigned, align [filtered] + store i64 -77, i64* %CheckLRangeSigned, align [filtered] + %CheckLRangeSigned_ret = load i64, i64* %CheckLRangeSigned, align [filtered] ret i64 %CheckLRangeSigned_ret } define i64 @CheckLRangeUnsigned(i64 %0, i64 %1, i64 %2) { entry: - %CheckLRangeUnsigned = alloca i64, align 8 - %v = alloca i64, align 8 - store i64 %0, i64* %v, align 8 - %low = alloca i64, align 8 - store i64 %1, i64* %low, align 8 - %up = alloca i64, align 8 - store i64 %2, i64* %up, align 8 - store i64 0, i64* %CheckLRangeUnsigned, align 8 - store i64 77, i64* %CheckLRangeUnsigned, align 8 - %CheckLRangeUnsigned_ret = load i64, i64* %CheckLRangeUnsigned, align 8 + %CheckLRangeUnsigned = alloca i64, align [filtered] + %v = alloca i64, align [filtered] + store i64 %0, i64* %v, align [filtered] + %low = alloca i64, align [filtered] + store i64 %1, i64* %low, align [filtered] + %up = alloca i64, align [filtered] + store i64 %2, i64* %up, align [filtered] + store i64 0, i64* %CheckLRangeUnsigned, align [filtered] + store i64 77, i64* %CheckLRangeUnsigned, align [filtered] + %CheckLRangeUnsigned_ret = load i64, i64* %CheckLRangeUnsigned, align [filtered] ret i64 %CheckLRangeUnsigned_ret } @@ -86,29 +85,29 @@ entry: %j = getelementptr inbounds %main, %main* %0, i32 0, i32 9 %call = call i32 @CheckRangeUnsigned(i32 1, i32 0, i32 100) %1 = trunc i32 %call to i8 - store i8 %1, i8* %a, align 1 + store i8 %1, i8* %a, align [filtered] %call1 = call i32 @CheckRangeSigned(i32 1, i32 -100, i32 100) %2 = trunc i32 %call1 to i8 - store i8 %2, i8* %b, align 1 + store i8 %2, i8* %b, align [filtered] %call2 = call i32 @CheckRangeUnsigned(i32 1, i32 0, i32 100) %3 = trunc i32 %call2 to i8 - store i8 %3, i8* %c, align 1 + store i8 %3, i8* %c, align [filtered] %call3 = call i32 @CheckRangeUnsigned(i32 1, i32 0, i32 100) %4 = trunc i32 %call3 to i16 - store i16 %4, i16* %d, align 2 + store i16 %4, i16* %d, align [filtered] %call4 = call i32 @CheckRangeSigned(i32 1, i32 -100, i32 100) %5 = trunc i32 %call4 to i16 - store i16 %5, i16* %e, align 2 + store i16 %5, i16* %e, align [filtered] %call5 = call i32 @CheckRangeUnsigned(i32 1, i32 0, i32 100) %6 = trunc i32 %call5 to i16 - store i16 %6, i16* %f, align 2 + store i16 %6, i16* %f, align [filtered] %call6 = call i32 @CheckRangeSigned(i32 1, i32 -100, i32 100) - store i32 %call6, i32* %g, align 4 + store i32 %call6, i32* %g, align [filtered] %call7 = call i32 @CheckRangeUnsigned(i32 1, i32 0, i32 100) - store i32 %call7, i32* %h, align 4 + store i32 %call7, i32* %h, align [filtered] %call8 = call i64 @CheckLRangeSigned(i64 1, i64 -100, i64 100) - store i64 %call8, i64* %i, align 8 + store i64 %call8, i64* %i, align [filtered] %call9 = call i64 @CheckLRangeUnsigned(i64 1, i64 0, i64 100) - store i64 %call9, i64* %j, align 8 + store i64 %call9, i64* %j, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_missing.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_missing.snap index c24c891f74..71fc2dda8d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_missing.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_missing.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,23 +13,23 @@ target triple = "[filtered]" define i16 @Check_XX_RangeSigned(i16 %0, i16 %1, i16 %2) { entry: - %Check_XX_RangeSigned = alloca i16, align 2 - %value = alloca i16, align 2 - store i16 %0, i16* %value, align 2 - %lower = alloca i16, align 2 - store i16 %1, i16* %lower, align 2 - %upper = alloca i16, align 2 - store i16 %2, i16* %upper, align 2 - store i16 0, i16* %Check_XX_RangeSigned, align 2 - %load_value = load i16, i16* %value, align 2 - store i16 %load_value, i16* %Check_XX_RangeSigned, align 2 - %Check_XX_RangeSigned_ret = load i16, i16* %Check_XX_RangeSigned, align 2 + %Check_XX_RangeSigned = alloca i16, align [filtered] + %value = alloca i16, align [filtered] + store i16 %0, i16* %value, align [filtered] + %lower = alloca i16, align [filtered] + store i16 %1, i16* %lower, align [filtered] + %upper = alloca i16, align [filtered] + store i16 %2, i16* %upper, align [filtered] + store i16 0, i16* %Check_XX_RangeSigned, align [filtered] + %load_value = load i16, i16* %value, align [filtered] + store i16 %load_value, i16* %Check_XX_RangeSigned, align [filtered] + %Check_XX_RangeSigned_ret = load i16, i16* %Check_XX_RangeSigned, align [filtered] ret i16 %Check_XX_RangeSigned_ret } define void @Main(%Main* %0) { entry: %x = getelementptr inbounds %Main, %Main* %0, i32 0, i32 0 - store i16 7, i16* %x, align 2 + store i16 7, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_on_assigment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_on_assigment.snap index d29b80e3ba..5a3e335d1b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_on_assigment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__sub_range_type_calls_check_function_on_assigment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,17 +13,17 @@ target triple = "[filtered]" define i16 @CheckRangeSigned(i16 %0, i16 %1, i16 %2) { entry: - %CheckRangeSigned = alloca i16, align 2 - %value = alloca i16, align 2 - store i16 %0, i16* %value, align 2 - %lower = alloca i16, align 2 - store i16 %1, i16* %lower, align 2 - %upper = alloca i16, align 2 - store i16 %2, i16* %upper, align 2 - store i16 0, i16* %CheckRangeSigned, align 2 - %load_value = load i16, i16* %value, align 2 - store i16 %load_value, i16* %CheckRangeSigned, align 2 - %CheckRangeSigned_ret = load i16, i16* %CheckRangeSigned, align 2 + %CheckRangeSigned = alloca i16, align [filtered] + %value = alloca i16, align [filtered] + store i16 %0, i16* %value, align [filtered] + %lower = alloca i16, align [filtered] + store i16 %1, i16* %lower, align [filtered] + %upper = alloca i16, align [filtered] + store i16 %2, i16* %upper, align [filtered] + store i16 0, i16* %CheckRangeSigned, align [filtered] + %load_value = load i16, i16* %value, align [filtered] + store i16 %load_value, i16* %CheckRangeSigned, align [filtered] + %CheckRangeSigned_ret = load i16, i16* %CheckRangeSigned, align [filtered] ret i16 %CheckRangeSigned_ret } @@ -32,6 +31,6 @@ define void @Main(%Main* %0) { entry: %x = getelementptr inbounds %Main, %Main* %0, i32 0, i32 0 %call = call i16 @CheckRangeSigned(i16 7, i16 0, i16 100) - store i16 %call, i16* %x, align 2 + store i16 %call, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__time_variables_have_nano_seconds_resolution.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__time_variables_have_nano_seconds_resolution.snap index 6a058af9ab..bf02ec0716 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__time_variables_have_nano_seconds_resolution.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__time_variables_have_nano_seconds_resolution.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,9 +14,9 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i64 1000000, i64* %y, align 8 - store i64 1000, i64* %y, align 8 - store i64 100, i64* %y, align 8 - store i64 8640000001125000, i64* %y, align 8 + store i64 1000000, i64* %y, align [filtered] + store i64 1000, i64* %y, align [filtered] + store i64 100, i64* %y, align [filtered] + store i64 8640000001125000, i64* %y, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__typed_enums_are_used_properly.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__typed_enums_are_used_properly.snap index 480e6f1d72..042fc95b27 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__typed_enums_are_used_properly.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__typed_enums_are_used_properly.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -26,8 +25,8 @@ entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - store i8 6, i8* %x, align 1 - store i16 16, i16* %y, align 2 - store i32 26, i32* %z, align 4 + store i8 6, i8* %x, align [filtered] + store i16 16, i16* %y, align [filtered] + store i32 26, i32* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_const_expression_in_range_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_const_expression_in_range_type.snap index a83b17e002..5b651c4328 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_const_expression_in_range_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_const_expression_in_range_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,28 +15,28 @@ target triple = "[filtered]" define i16 @CheckRangeSigned(i16 %0, i16 %1, i16 %2) { entry: - %CheckRangeSigned = alloca i16, align 2 - %value = alloca i16, align 2 - store i16 %0, i16* %value, align 2 - %lower = alloca i16, align 2 - store i16 %1, i16* %lower, align 2 - %upper = alloca i16, align 2 - store i16 %2, i16* %upper, align 2 - store i16 0, i16* %CheckRangeSigned, align 2 - %load_value = load i16, i16* %value, align 2 - store i16 %load_value, i16* %CheckRangeSigned, align 2 - %CheckRangeSigned_ret = load i16, i16* %CheckRangeSigned, align 2 + %CheckRangeSigned = alloca i16, align [filtered] + %value = alloca i16, align [filtered] + store i16 %0, i16* %value, align [filtered] + %lower = alloca i16, align [filtered] + store i16 %1, i16* %lower, align [filtered] + %upper = alloca i16, align [filtered] + store i16 %2, i16* %upper, align [filtered] + store i16 0, i16* %CheckRangeSigned, align [filtered] + %load_value = load i16, i16* %value, align [filtered] + store i16 %load_value, i16* %CheckRangeSigned, align [filtered] + %CheckRangeSigned_ret = load i16, i16* %CheckRangeSigned, align [filtered] ret i16 %CheckRangeSigned_ret } define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %load_MIN = load i16, i16* @MIN, align 2 + %load_MIN = load i16, i16* @MIN, align [filtered] %1 = sext i16 %load_MIN to i32 %tmpVar = add i32 %1, 1 %2 = trunc i32 %tmpVar to i16 %call = call i16 @CheckRangeSigned(i16 5, i16 0, i16 %2) - store i16 %call, i16* %x, align 2 + store i16 %call, i16* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_global_consts_in_expressions.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_global_consts_in_expressions.snap index e27b700ecc..4eda837ad9 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_global_consts_in_expressions.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__using_global_consts_in_expressions.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,6 +17,6 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - store i32 6, i32* %z, align 4 + store i32 6, i32* %z, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__variable_with_same_name_as_data_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__variable_with_same_name_as_data_type.snap index ce3be26b63..d0e1188a62 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__variable_with_same_name_as_data_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__variable_with_same_name_as_data_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,11 +13,11 @@ target triple = "[filtered]" define i64 @func() { entry: - %func = alloca i64, align 8 - %TIME = alloca i64, align 8 - store i64 0, i64* %TIME, align 8 - store i64 0, i64* %func, align 8 - %func_ret = load i64, i64* %func, align 8 + %func = alloca i64, align [filtered] + %TIME = alloca i64, align [filtered] + store i64 0, i64* %TIME, align [filtered] + store i64 0, i64* %func, align [filtered] + %func_ret = load i64, i64* %func, align [filtered] ret i64 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_loop_with_if_exit.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_loop_with_if_exit.snap index b8f56c206f..fa2f48e5e6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_loop_with_if_exit.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_loop_with_if_exit.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,7 +20,7 @@ condition_check: ; preds = %entry, %continue5 br i1 true, label %while_body, label %continue while_body: ; preds = %condition_check - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = icmp slt i32 %load_x, 20 %1 = zext i1 %tmpVar to i8 %2 = icmp ne i8 %1, 0 @@ -38,10 +37,10 @@ buffer_block: ; No predecessors! br label %continue1 continue1: ; preds = %buffer_block, %while_body - %load_x3 = load i32, i32* %x, align 4 + %load_x3 = load i32, i32* %x, align [filtered] %tmpVar4 = add i32 %load_x3, 1 - store i32 %tmpVar4, i32* %x, align 4 - %load_x6 = load i32, i32* %x, align 4 + store i32 %tmpVar4, i32* %x, align [filtered] + %load_x6 = load i32, i32* %x, align [filtered] %tmpVar7 = icmp sge i32 %load_x6, 10 %3 = zext i1 %tmpVar7 to i8 %4 = icmp ne i8 %3, 0 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_statement.snap index 0022bddeca..9856056549 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,7 +20,7 @@ condition_check: ; preds = %entry, %continue1 br i1 true, label %while_body, label %continue while_body: ; preds = %condition_check - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] %1 = icmp ne i8 %load_x, 0 %tmpVar = xor i1 %1, true br i1 %tmpVar, label %condition_body, label %continue1 @@ -36,6 +35,6 @@ buffer_block: ; No predecessors! br label %continue1 continue1: ; preds = %buffer_block, %while_body - %load_x2 = load i8, i8* %x, align 1 + %load_x2 = load i8, i8* %x, align [filtered] br label %condition_check } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_with_expression_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_with_expression_statement.snap index 603410b9b0..c625f00aef 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_with_expression_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__code_gen_tests__while_with_expression_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/code_gen_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,7 +20,7 @@ condition_check: ; preds = %entry, %continue1 br i1 true, label %while_body, label %continue while_body: ; preds = %condition_check - %load_x = load i8, i8* %x, align 1 + %load_x = load i8, i8* %x, align [filtered] %1 = zext i8 %load_x to i32 %tmpVar = icmp eq i32 %1, 0 %2 = zext i1 %tmpVar to i8 @@ -39,6 +38,6 @@ buffer_block: ; No predecessors! br label %continue1 continue1: ; preds = %buffer_block, %while_body - %load_x3 = load i8, i8* %x, align 1 + %load_x3 = load i8, i8* %x, align [filtered] br label %condition_check } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_number_type_comparing_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_number_type_comparing_test.snap index ebead1266b..8588b80205 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_number_type_comparing_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_number_type_comparing_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,23 +9,23 @@ target triple = "[filtered]" define i16 @baz() { entry: - %baz = alloca i16, align 2 - %x = alloca i16, align 2 - %y = alloca i16, align 2 - store i16 0, i16* %x, align 2 - store i16 0, i16* %y, align 2 - store i16 0, i16* %baz, align 2 - %load_x = load i16, i16* %x, align 2 + %baz = alloca i16, align [filtered] + %x = alloca i16, align [filtered] + %y = alloca i16, align [filtered] + store i16 0, i16* %x, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 0, i16* %baz, align [filtered] + %load_x = load i16, i16* %x, align [filtered] %0 = sext i16 %load_x to i32 %tmpVar = icmp eq i32 %0, 3 - %load_x1 = load i16, i16* %x, align 2 + %load_x1 = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x1 to i32 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %2 = sext i16 %load_y to i32 %tmpVar2 = icmp slt i32 %1, %2 - %load_y3 = load i16, i16* %y, align 2 + %load_y3 = load i16, i16* %y, align [filtered] %3 = sext i16 %load_y3 to i32 %tmpVar4 = icmp sle i32 %3, 0 - %baz_ret = load i16, i16* %baz, align 2 + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_ranged_number_type_comparing_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_ranged_number_type_comparing_test.snap index ebead1266b..8588b80205 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_ranged_number_type_comparing_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__aliased_ranged_number_type_comparing_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,23 +9,23 @@ target triple = "[filtered]" define i16 @baz() { entry: - %baz = alloca i16, align 2 - %x = alloca i16, align 2 - %y = alloca i16, align 2 - store i16 0, i16* %x, align 2 - store i16 0, i16* %y, align 2 - store i16 0, i16* %baz, align 2 - %load_x = load i16, i16* %x, align 2 + %baz = alloca i16, align [filtered] + %x = alloca i16, align [filtered] + %y = alloca i16, align [filtered] + store i16 0, i16* %x, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 0, i16* %baz, align [filtered] + %load_x = load i16, i16* %x, align [filtered] %0 = sext i16 %load_x to i32 %tmpVar = icmp eq i32 %0, 3 - %load_x1 = load i16, i16* %x, align 2 + %load_x1 = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x1 to i32 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %2 = sext i16 %load_y to i32 %tmpVar2 = icmp slt i32 %1, %2 - %load_y3 = load i16, i16* %y, align 2 + %load_y3 = load i16, i16* %y, align [filtered] %3 = sext i16 %load_y3 to i32 %tmpVar4 = icmp sle i32 %3, 0 - %baz_ret = load i16, i16* %baz, align 2 + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_datetime_types.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_datetime_types.snap index 975f1335ad..cf261162f0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_datetime_types.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_datetime_types.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,14 +17,14 @@ entry: %var_time_of_day = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var_date = getelementptr inbounds %main, %main* %0, i32 0, i32 2 %var_date_and_time = getelementptr inbounds %main, %main* %0, i32 0, i32 3 - %load_var_time = load i64, i64* %var_time, align 8 - %load_var_time_of_day = load i64, i64* %var_time_of_day, align 8 + %load_var_time = load i64, i64* %var_time, align [filtered] + %load_var_time_of_day = load i64, i64* %var_time_of_day, align [filtered] %tmpVar = icmp sgt i64 %load_var_time, %load_var_time_of_day br i1 %tmpVar, label %1, label %2 1: ; preds = %entry - %load_var_time_of_day1 = load i64, i64* %var_time_of_day, align 8 - %load_var_date = load i64, i64* %var_date, align 8 + %load_var_time_of_day1 = load i64, i64* %var_time_of_day, align [filtered] + %load_var_date = load i64, i64* %var_date, align [filtered] %tmpVar2 = icmp sgt i64 %load_var_time_of_day1, %load_var_date br label %2 @@ -34,8 +33,8 @@ entry: br i1 %3, label %4, label %5 4: ; preds = %2 - %load_var_date3 = load i64, i64* %var_date, align 8 - %load_var_date_and_time = load i64, i64* %var_date_and_time, align 8 + %load_var_date3 = load i64, i64* %var_date, align [filtered] + %load_var_date_and_time = load i64, i64* %var_date_and_time, align [filtered] %tmpVar4 = icmp sgt i64 %load_var_date3, %load_var_date_and_time br label %5 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instruction_functions_with_different_types.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instruction_functions_with_different_types.snap index 98e6587af7..090113acac 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instruction_functions_with_different_types.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instruction_functions_with_different_types.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,9 +13,9 @@ target triple = "[filtered]" define float @foo() { entry: - %foo = alloca float, align 4 - store float 0.000000e+00, float* %foo, align 4 - %foo_ret = load float, float* %foo, align 4 + %foo = alloca float, align [filtered] + store float 0.000000e+00, float* %foo, align [filtered] + %foo_ret = load float, float* %foo, align [filtered] ret float %foo_ret } @@ -35,94 +34,94 @@ entry: %var_uint = getelementptr inbounds %main, %main* %0, i32 0, i32 10 %var_udint = getelementptr inbounds %main, %main* %0, i32 0, i32 11 %var_ulint = getelementptr inbounds %main, %main* %0, i32 0, i32 12 - store float* %var_real, float** %ptr_float, align 8 - %load_var_sint = load i8, i8* %var_sint, align 1 + store float* %var_real, float** %ptr_float, align [filtered] + %load_var_sint = load i8, i8* %var_sint, align [filtered] %1 = sext i8 %load_var_sint to i32 - %load_var_dint = load i32, i32* %var_dint, align 4 + %load_var_dint = load i32, i32* %var_dint, align [filtered] %tmpVar = icmp eq i32 %1, %load_var_dint %2 = zext i1 %tmpVar to i8 - %load_var_lreal = load double, double* %var_lreal, align 8 + %load_var_lreal = load double, double* %var_lreal, align [filtered] %tmpVar1 = fcmp ogt double 1.050000e+01, %load_var_lreal %3 = zext i1 %tmpVar1 to i8 - %load_var_usint = load i8, i8* %var_usint, align 1 + %load_var_usint = load i8, i8* %var_usint, align [filtered] %4 = zext i8 %load_var_usint to i32 - %load_var_udint = load i32, i32* %var_udint, align 4 + %load_var_udint = load i32, i32* %var_udint, align [filtered] %tmpVar2 = icmp ne i32 %4, %load_var_udint %5 = zext i1 %tmpVar2 to i8 - %load_var_uint = load i16, i16* %var_uint, align 2 + %load_var_uint = load i16, i16* %var_uint, align [filtered] %6 = zext i16 %load_var_uint to i32 %tmpVar3 = icmp sle i32 %6, 40 %7 = zext i1 %tmpVar3 to i8 - %load_var_ulint = load i64, i64* %var_ulint, align 8 + %load_var_ulint = load i64, i64* %var_ulint, align [filtered] %tmpVar4 = icmp sge i64 10, %load_var_ulint %8 = zext i1 %tmpVar4 to i8 - %load_var_sint5 = load i8, i8* %var_sint, align 1 + %load_var_sint5 = load i8, i8* %var_sint, align [filtered] %9 = sext i8 %load_var_sint5 to i32 - %load_var_usint6 = load i8, i8* %var_usint, align 1 + %load_var_usint6 = load i8, i8* %var_usint, align [filtered] %10 = zext i8 %load_var_usint6 to i32 %tmpVar7 = icmp eq i32 %9, %10 %11 = zext i1 %tmpVar7 to i8 - %load_var_uint8 = load i16, i16* %var_uint, align 2 + %load_var_uint8 = load i16, i16* %var_uint, align [filtered] %12 = zext i16 %load_var_uint8 to i64 - %load_var_lint = load i64, i64* %var_lint, align 8 + %load_var_lint = load i64, i64* %var_lint, align [filtered] %tmpVar9 = icmp sle i64 %12, %load_var_lint %13 = zext i1 %tmpVar9 to i8 - %load_var_dint10 = load i32, i32* %var_dint, align 4 + %load_var_dint10 = load i32, i32* %var_dint, align [filtered] %14 = sext i32 %load_var_dint10 to i64 - %load_var_ulint11 = load i64, i64* %var_ulint, align 8 + %load_var_ulint11 = load i64, i64* %var_ulint, align [filtered] %tmpVar12 = icmp sge i64 %14, %load_var_ulint11 %15 = zext i1 %tmpVar12 to i8 - %load_var_lint13 = load i64, i64* %var_lint, align 8 - %load_a = load i16, i16* %a, align 2 + %load_var_lint13 = load i64, i64* %var_lint, align [filtered] + %load_a = load i16, i16* %a, align [filtered] %16 = sext i16 %load_a to i64 %tmpVar14 = icmp slt i64 %load_var_lint13, %16 %17 = zext i1 %tmpVar14 to i8 - %load_a15 = load i16, i16* %a, align 2 + %load_a15 = load i16, i16* %a, align [filtered] %18 = sext i16 %load_a15 to i32 - %load_var_sint16 = load i8, i8* %var_sint, align 1 + %load_var_sint16 = load i8, i8* %var_sint, align [filtered] %19 = sext i8 %load_var_sint16 to i32 %tmpVar17 = icmp sgt i32 %18, %19 %20 = zext i1 %tmpVar17 to i8 - %load_b = load i32, i32* %b, align 4 + %load_b = load i32, i32* %b, align [filtered] %21 = sext i32 %load_b to i64 - %load_var_lint18 = load i64, i64* %var_lint, align 8 + %load_var_lint18 = load i64, i64* %var_lint, align [filtered] %tmpVar19 = icmp slt i64 %21, %load_var_lint18 %22 = zext i1 %tmpVar19 to i8 - %load_b20 = load i32, i32* %b, align 4 + %load_b20 = load i32, i32* %b, align [filtered] %tmpVar21 = icmp ne i32 5, %load_b20 br i1 %tmpVar21, label %23, label %24 23: ; preds = %entry - %load_b22 = load i32, i32* %b, align 4 + %load_b22 = load i32, i32* %b, align [filtered] %tmpVar23 = icmp ne i32 %load_b22, 17 br label %24 24: ; preds = %23, %entry %25 = phi i1 [ %tmpVar21, %entry ], [ %tmpVar23, %23 ] %26 = zext i1 %25 to i8 - %load_ptr_float = load float*, float** %ptr_float, align 8 - %load_var_usint24 = load i8, i8* %var_usint, align 1 + %load_ptr_float = load float*, float** %ptr_float, align [filtered] + %load_var_usint24 = load i8, i8* %var_usint, align [filtered] %27 = zext i8 %load_var_usint24 to i64 %28 = ptrtoint float* %load_ptr_float to i64 %tmpVar25 = icmp sle i64 %28, %27 %29 = zext i1 %tmpVar25 to i8 - %load_a26 = load i16, i16* %a, align 2 + %load_a26 = load i16, i16* %a, align [filtered] %30 = sext i16 %load_a26 to i64 - %load_ptr_float27 = load float*, float** %ptr_float, align 8 + %load_ptr_float27 = load float*, float** %ptr_float, align [filtered] %31 = ptrtoint float* %load_ptr_float27 to i64 %tmpVar28 = icmp eq i64 %30, %31 %32 = zext i1 %tmpVar28 to i8 %call = call float @foo() %tmpVar29 = fcmp one float %call, 4.050000e+01 %33 = zext i1 %tmpVar29 to i8 - %load_var_udint30 = load i32, i32* %var_udint, align 4 + %load_var_udint30 = load i32, i32* %var_udint, align [filtered] %34 = uitofp i32 %load_var_udint30 to float %call31 = call float @foo() %tmpVar32 = fcmp ole float %34, %call31 %35 = zext i1 %tmpVar32 to i8 %call33 = call float @foo() %36 = fpext float %call33 to double - %load_var_lint34 = load i64, i64* %var_lint, align 8 + %load_var_lint34 = load i64, i64* %var_lint, align [filtered] %37 = sitofp i64 %load_var_lint34 to double %tmpVar35 = fcmp oeq double %36, %37 %38 = zext i1 %tmpVar35 to i8 diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instructions_with_different_types.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instructions_with_different_types.snap index 84315f7b56..8a26c3ea96 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instructions_with_different_types.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__compare_instructions_with_different_types.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,9 +13,9 @@ target triple = "[filtered]" define i64 @foo() { entry: - %foo = alloca i64, align 8 - store i64 0, i64* %foo, align 8 - %foo_ret = load i64, i64* %foo, align 8 + %foo = alloca i64, align [filtered] + store i64 0, i64* %foo, align [filtered] + %foo_ret = load i64, i64* %foo, align [filtered] ret i64 %foo_ret } @@ -33,71 +32,71 @@ entry: %var_uint = getelementptr inbounds %main, %main* %0, i32 0, i32 8 %var_udint = getelementptr inbounds %main, %main* %0, i32 0, i32 9 %var_ulint = getelementptr inbounds %main, %main* %0, i32 0, i32 10 - store i16* %var_int, i16** %ptr_int, align 8 - %load_var_sint = load i8, i8* %var_sint, align 1 + store i16* %var_int, i16** %ptr_int, align [filtered] + %load_var_sint = load i8, i8* %var_sint, align [filtered] %1 = sext i8 %load_var_sint to i32 - %load_var_dint = load i32, i32* %var_dint, align 4 + %load_var_dint = load i32, i32* %var_dint, align [filtered] %tmpVar = icmp eq i32 %1, %load_var_dint - %load_var_int = load i16, i16* %var_int, align 2 + %load_var_int = load i16, i16* %var_int, align [filtered] %2 = sext i16 %load_var_int to i32 %tmpVar1 = icmp slt i32 %2, 30 - %load_var_lint = load i64, i64* %var_lint, align 8 + %load_var_lint = load i64, i64* %var_lint, align [filtered] %tmpVar2 = icmp sgt i64 10, %load_var_lint - %load_var_usint = load i8, i8* %var_usint, align 1 + %load_var_usint = load i8, i8* %var_usint, align [filtered] %3 = zext i8 %load_var_usint to i32 - %load_var_udint = load i32, i32* %var_udint, align 4 + %load_var_udint = load i32, i32* %var_udint, align [filtered] %tmpVar3 = icmp ne i32 %3, %load_var_udint - %load_var_uint = load i16, i16* %var_uint, align 2 + %load_var_uint = load i16, i16* %var_uint, align [filtered] %4 = zext i16 %load_var_uint to i32 %tmpVar4 = icmp sle i32 %4, 40 - %load_var_ulint = load i64, i64* %var_ulint, align 8 + %load_var_ulint = load i64, i64* %var_ulint, align [filtered] %tmpVar5 = icmp sge i64 10, %load_var_ulint - %load_var_sint6 = load i8, i8* %var_sint, align 1 + %load_var_sint6 = load i8, i8* %var_sint, align [filtered] %5 = sext i8 %load_var_sint6 to i32 - %load_var_usint7 = load i8, i8* %var_usint, align 1 + %load_var_usint7 = load i8, i8* %var_usint, align [filtered] %6 = zext i8 %load_var_usint7 to i32 %tmpVar8 = icmp eq i32 %5, %6 - %load_var_uint9 = load i16, i16* %var_uint, align 2 + %load_var_uint9 = load i16, i16* %var_uint, align [filtered] %7 = zext i16 %load_var_uint9 to i64 - %load_var_lint10 = load i64, i64* %var_lint, align 8 + %load_var_lint10 = load i64, i64* %var_lint, align [filtered] %tmpVar11 = icmp sle i64 %7, %load_var_lint10 - %load_var_dint12 = load i32, i32* %var_dint, align 4 + %load_var_dint12 = load i32, i32* %var_dint, align [filtered] %8 = sext i32 %load_var_dint12 to i64 - %load_var_ulint13 = load i64, i64* %var_ulint, align 8 + %load_var_ulint13 = load i64, i64* %var_ulint, align [filtered] %tmpVar14 = icmp sge i64 %8, %load_var_ulint13 - %load_var_lint15 = load i64, i64* %var_lint, align 8 - %load_a = load i16, i16* %a, align 2 + %load_var_lint15 = load i64, i64* %var_lint, align [filtered] + %load_a = load i16, i16* %a, align [filtered] %9 = sext i16 %load_a to i64 %tmpVar16 = icmp slt i64 %load_var_lint15, %9 - %load_a17 = load i16, i16* %a, align 2 + %load_a17 = load i16, i16* %a, align [filtered] %10 = sext i16 %load_a17 to i32 - %load_var_sint18 = load i8, i8* %var_sint, align 1 + %load_var_sint18 = load i8, i8* %var_sint, align [filtered] %11 = sext i8 %load_var_sint18 to i32 %tmpVar19 = icmp sgt i32 %10, %11 - %load_b = load i32, i32* %b, align 4 + %load_b = load i32, i32* %b, align [filtered] %12 = sext i32 %load_b to i64 - %load_var_lint20 = load i64, i64* %var_lint, align 8 + %load_var_lint20 = load i64, i64* %var_lint, align [filtered] %tmpVar21 = icmp slt i64 %12, %load_var_lint20 - %load_b22 = load i32, i32* %b, align 4 + %load_b22 = load i32, i32* %b, align [filtered] %tmpVar23 = icmp ne i32 5, %load_b22 - %load_ptr_int = load i16*, i16** %ptr_int, align 8 - %load_var_usint24 = load i8, i8* %var_usint, align 1 + %load_ptr_int = load i16*, i16** %ptr_int, align [filtered] + %load_var_usint24 = load i8, i8* %var_usint, align [filtered] %13 = zext i8 %load_var_usint24 to i64 %14 = ptrtoint i16* %load_ptr_int to i64 %tmpVar25 = icmp sle i64 %14, %13 - %load_a26 = load i16, i16* %a, align 2 + %load_a26 = load i16, i16* %a, align [filtered] %15 = sext i16 %load_a26 to i64 - %load_ptr_int27 = load i16*, i16** %ptr_int, align 8 + %load_ptr_int27 = load i16*, i16** %ptr_int, align [filtered] %16 = ptrtoint i16* %load_ptr_int27 to i64 %tmpVar28 = icmp eq i64 %15, %16 %call = call i64 @foo() %tmpVar29 = icmp ne i64 %call, 40 - %load_var_udint30 = load i32, i32* %var_udint, align 4 + %load_var_udint30 = load i32, i32* %var_udint, align [filtered] %17 = zext i32 %load_var_udint30 to i64 %call31 = call i64 @foo() %tmpVar32 = icmp sle i64 %17, %call31 %call33 = call i64 @foo() - %load_var_lint34 = load i64, i64* %var_lint, align 8 + %load_var_lint34 = load i64, i64* %var_lint, align [filtered] %tmpVar35 = icmp eq i64 %call33, %load_var_lint34 ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_compare_instructions.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_compare_instructions.snap index 2bb84baada..e913366232 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_compare_instructions.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_compare_instructions.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,48 +17,48 @@ entry: %y = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %pt = getelementptr inbounds %main, %main* %0, i32 0, i32 2 %comp = getelementptr inbounds %main, %main* %0, i32 0, i32 3 - store i16* %x, i16** %pt, align 8 - %load_pt = load i16*, i16** %pt, align 8 - %load_pt1 = load i16*, i16** %pt, align 8 + store i16* %x, i16** %pt, align [filtered] + %load_pt = load i16*, i16** %pt, align [filtered] + %load_pt1 = load i16*, i16** %pt, align [filtered] %1 = ptrtoint i16* %load_pt to i64 %2 = ptrtoint i16* %load_pt1 to i64 %tmpVar = icmp eq i64 %1, %2 %3 = zext i1 %tmpVar to i8 - store i8 %3, i8* %comp, align 1 - %load_pt2 = load i16*, i16** %pt, align 8 - %load_y = load i16, i16* %y, align 2 + store i8 %3, i8* %comp, align [filtered] + %load_pt2 = load i16*, i16** %pt, align [filtered] + %load_y = load i16, i16* %y, align [filtered] %4 = sext i16 %load_y to i64 %5 = ptrtoint i16* %load_pt2 to i64 %tmpVar3 = icmp ne i64 %5, %4 %6 = zext i1 %tmpVar3 to i8 - store i8 %6, i8* %comp, align 1 - %load_pt4 = load i16*, i16** %pt, align 8 - %load_pt5 = load i16*, i16** %pt, align 8 + store i8 %6, i8* %comp, align [filtered] + %load_pt4 = load i16*, i16** %pt, align [filtered] + %load_pt5 = load i16*, i16** %pt, align [filtered] %7 = ptrtoint i16* %load_pt4 to i64 %8 = ptrtoint i16* %load_pt5 to i64 %tmpVar6 = icmp slt i64 %7, %8 %9 = zext i1 %tmpVar6 to i8 - store i8 %9, i8* %comp, align 1 - %load_pt7 = load i16*, i16** %pt, align 8 - %load_y8 = load i16, i16* %y, align 2 + store i8 %9, i8* %comp, align [filtered] + %load_pt7 = load i16*, i16** %pt, align [filtered] + %load_y8 = load i16, i16* %y, align [filtered] %10 = sext i16 %load_y8 to i64 %11 = ptrtoint i16* %load_pt7 to i64 %tmpVar9 = icmp sgt i64 %11, %10 %12 = zext i1 %tmpVar9 to i8 - store i8 %12, i8* %comp, align 1 - %load_pt10 = load i16*, i16** %pt, align 8 - %load_pt11 = load i16*, i16** %pt, align 8 + store i8 %12, i8* %comp, align [filtered] + %load_pt10 = load i16*, i16** %pt, align [filtered] + %load_pt11 = load i16*, i16** %pt, align [filtered] %13 = ptrtoint i16* %load_pt10 to i64 %14 = ptrtoint i16* %load_pt11 to i64 %tmpVar12 = icmp sle i64 %13, %14 %15 = zext i1 %tmpVar12 to i8 - store i8 %15, i8* %comp, align 1 - %load_y13 = load i16, i16* %y, align 2 + store i8 %15, i8* %comp, align [filtered] + %load_y13 = load i16, i16* %y, align [filtered] %16 = sext i16 %load_y13 to i64 - %load_pt14 = load i16*, i16** %pt, align 8 + %load_pt14 = load i16*, i16** %pt, align [filtered] %17 = ptrtoint i16* %load_pt14 to i64 %tmpVar15 = icmp sge i64 %16, %17 %18 = zext i1 %tmpVar15 to i8 - store i8 %18, i8* %comp, align 1 + store i8 %18, i8* %comp, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_function_call_compare_instructions.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_function_call_compare_instructions.snap index 22e8294bc2..d74d5ae02e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_function_call_compare_instructions.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__pointer_function_call_compare_instructions.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,9 +13,9 @@ target triple = "[filtered]" define i64 @foo() { entry: - %foo = alloca i64, align 8 - store i64 0, i64* %foo, align 8 - %foo_ret = load i64, i64* %foo, align 8 + %foo = alloca i64, align [filtered] + store i64 0, i64* %foo, align [filtered] + %foo_ret = load i64, i64* %foo, align [filtered] ret i64 %foo_ret } @@ -25,42 +24,42 @@ entry: %pt = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %x = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %comp = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - store i16* %x, i16** %pt, align 8 - %load_pt = load i16*, i16** %pt, align 8 + store i16* %x, i16** %pt, align [filtered] + %load_pt = load i16*, i16** %pt, align [filtered] %call = call i64 @foo() %1 = ptrtoint i16* %load_pt to i64 %tmpVar = icmp eq i64 %1, %call %2 = zext i1 %tmpVar to i8 - store i8 %2, i8* %comp, align 1 - %load_pt1 = load i16*, i16** %pt, align 8 + store i8 %2, i8* %comp, align [filtered] + %load_pt1 = load i16*, i16** %pt, align [filtered] %call2 = call i64 @foo() %3 = ptrtoint i16* %load_pt1 to i64 %tmpVar3 = icmp ne i64 %3, %call2 %4 = zext i1 %tmpVar3 to i8 - store i8 %4, i8* %comp, align 1 - %load_pt4 = load i16*, i16** %pt, align 8 + store i8 %4, i8* %comp, align [filtered] + %load_pt4 = load i16*, i16** %pt, align [filtered] %call5 = call i64 @foo() %5 = ptrtoint i16* %load_pt4 to i64 %tmpVar6 = icmp slt i64 %5, %call5 %6 = zext i1 %tmpVar6 to i8 - store i8 %6, i8* %comp, align 1 - %load_pt7 = load i16*, i16** %pt, align 8 + store i8 %6, i8* %comp, align [filtered] + %load_pt7 = load i16*, i16** %pt, align [filtered] %call8 = call i64 @foo() %7 = ptrtoint i16* %load_pt7 to i64 %tmpVar9 = icmp sgt i64 %7, %call8 %8 = zext i1 %tmpVar9 to i8 - store i8 %8, i8* %comp, align 1 - %load_pt10 = load i16*, i16** %pt, align 8 + store i8 %8, i8* %comp, align [filtered] + %load_pt10 = load i16*, i16** %pt, align [filtered] %call11 = call i64 @foo() %9 = ptrtoint i16* %load_pt10 to i64 %tmpVar12 = icmp sle i64 %9, %call11 %10 = zext i1 %tmpVar12 to i8 - store i8 %10, i8* %comp, align 1 - %load_pt13 = load i16*, i16** %pt, align 8 + store i8 %10, i8* %comp, align [filtered] + %load_pt13 = load i16*, i16** %pt, align [filtered] %call14 = call i64 @foo() %11 = ptrtoint i16* %load_pt13 to i64 %tmpVar15 = icmp sge i64 %11, %call14 %12 = zext i1 %tmpVar15 to i8 - store i8 %12, i8* %comp, align 1 + store i8 %12, i8* %comp, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__ranged_number_type_comparing_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__ranged_number_type_comparing_test.snap index ebead1266b..8588b80205 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__ranged_number_type_comparing_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__ranged_number_type_comparing_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,23 +9,23 @@ target triple = "[filtered]" define i16 @baz() { entry: - %baz = alloca i16, align 2 - %x = alloca i16, align 2 - %y = alloca i16, align 2 - store i16 0, i16* %x, align 2 - store i16 0, i16* %y, align 2 - store i16 0, i16* %baz, align 2 - %load_x = load i16, i16* %x, align 2 + %baz = alloca i16, align [filtered] + %x = alloca i16, align [filtered] + %y = alloca i16, align [filtered] + store i16 0, i16* %x, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 0, i16* %baz, align [filtered] + %load_x = load i16, i16* %x, align [filtered] %0 = sext i16 %load_x to i32 %tmpVar = icmp eq i32 %0, 3 - %load_x1 = load i16, i16* %x, align 2 + %load_x1 = load i16, i16* %x, align [filtered] %1 = sext i16 %load_x1 to i32 - %load_y = load i16, i16* %y, align 2 + %load_y = load i16, i16* %y, align [filtered] %2 = sext i16 %load_y to i32 %tmpVar2 = icmp slt i32 %1, %2 - %load_y3 = load i16, i16* %y, align 2 + %load_y3 = load i16, i16* %y, align [filtered] %3 = sext i16 %load_y3 to i32 %tmpVar4 = icmp sle i32 %3, 0 - %baz_ret = load i16, i16* %baz, align 2 + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_comparison_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_comparison_test.snap index a78c1bb52e..0f7ff8c266 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_comparison_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_comparison_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -13,39 +12,39 @@ target triple = "[filtered]" define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %b = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %b = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [81 x i8]* %b to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %call = call i8 @STRING_EQUAL(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_1, i32 0, i32 0)) - store i8 %call, i8* %result, align 1 + store i8 %call, i8* %result, align [filtered] %2 = bitcast [81 x i8]* %a to i8* %3 = bitcast [81 x i8]* %b to i8* %call1 = call i8 @STRING_EQUAL(i8* %2, i8* %3) - store i8 %call1, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %call1, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_equal_with_constant_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_equal_with_constant_test.snap index e5b92798c0..c2d7a9e3c0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_equal_with_constant_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_equal_with_constant_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -13,39 +12,39 @@ target triple = "[filtered]" define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %b = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %b = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [81 x i8]* %b to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %2 = bitcast [81 x i8]* %a to i8* %call = call i8 @STRING_EQUAL(i8* %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_1, i32 0, i32 0)) - store i8 %call, i8* %result, align 1 + store i8 %call, i8* %result, align [filtered] %3 = bitcast [81 x i8]* %b to i8* %call1 = call i8 @STRING_EQUAL(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0), i8* %3) - store i8 %call1, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %call1, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_or_equal_with_constant_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_or_equal_with_constant_test.snap index 5d66343c85..25a72e70a6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_or_equal_with_constant_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_or_equal_with_constant_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,48 +11,48 @@ target triple = "[filtered]" define i8 @STRING_GREATER(i8* %0, i8* %1) { entry: - %STRING_GREATER = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_GREATER = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_GREATER, align 1 - %STRING_GREATER_ret = load i8, i8* %STRING_GREATER, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_GREATER, align [filtered] + %STRING_GREATER_ret = load i8, i8* %STRING_GREATER, align [filtered] ret i8 %STRING_GREATER_ret } define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %b = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %b = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [81 x i8]* %b to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %2 = bitcast [81 x i8]* %a to i8* %call = call i8 @STRING_EQUAL(i8* %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0)) %3 = icmp ne i8 %call, 0 @@ -68,8 +67,8 @@ entry: 7: ; preds = %4, %entry %8 = phi i1 [ %3, %entry ], [ %6, %4 ] %9 = zext i1 %8 to i8 - store i8 %9, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %9, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_with_constant_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_with_constant_test.snap index 5e8888cf23..42385dcf86 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_with_constant_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_greater_with_constant_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,33 +11,33 @@ target triple = "[filtered]" define i8 @STRING_GREATER(i8* %0, i8* %1) { entry: - %STRING_GREATER = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_GREATER = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_GREATER, align 1 - %STRING_GREATER_ret = load i8, i8* %STRING_GREATER, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_GREATER, align [filtered] + %STRING_GREATER_ret = load i8, i8* %STRING_GREATER, align [filtered] ret i8 %STRING_GREATER_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %1 = bitcast [81 x i8]* %a to i8* %call = call i8 @STRING_GREATER(i8* %1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0)) - store i8 %call, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %call, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_less_with_constant_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_less_with_constant_test.snap index d99024bc6f..30efdf242f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_less_with_constant_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_less_with_constant_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,33 +11,33 @@ target triple = "[filtered]" define i8 @STRING_LESS(i8* %0, i8* %1) { entry: - %STRING_LESS = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_LESS = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_LESS, align 1 - %STRING_LESS_ret = load i8, i8* %STRING_LESS, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_LESS, align [filtered] + %STRING_LESS_ret = load i8, i8* %STRING_LESS, align [filtered] ret i8 %STRING_LESS_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %1 = bitcast [81 x i8]* %a to i8* %call = call i8 @STRING_LESS(i8* %1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0)) - store i8 %call, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %call, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_not_equal_with_constant_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_not_equal_with_constant_test.snap index 93dc818a6e..bb30e65830 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_not_equal_with_constant_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_not_equal_with_constant_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,36 +11,36 @@ target triple = "[filtered]" define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %1 = bitcast [81 x i8]* %a to i8* %call = call i8 @STRING_EQUAL(i8* %1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0)) %2 = icmp ne i8 %call, 0 %tmpVar = xor i1 %2, true %3 = zext i1 %tmpVar to i8 - store i8 %3, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %3, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_smaller_or_equal_with_constant_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_smaller_or_equal_with_constant_test.snap index 95e590d5bf..4e3d249ca2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_smaller_or_equal_with_constant_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__compare_instructions_tests__string_smaller_or_equal_with_constant_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/compare_instructions_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,48 +11,48 @@ target triple = "[filtered]" define i8 @STRING_LESS(i8* %0, i8* %1) { entry: - %STRING_LESS = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_LESS = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_LESS, align 1 - %STRING_LESS_ret = load i8, i8* %STRING_LESS, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_LESS, align [filtered] + %STRING_LESS_ret = load i8, i8* %STRING_LESS, align [filtered] ret i8 %STRING_LESS_ret } define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - %a = alloca [81 x i8], align 1 - %b = alloca [81 x i8], align 1 - %result = alloca i8, align 1 + %baz = alloca i16, align [filtered] + %a = alloca [81 x i8], align [filtered] + %b = alloca [81 x i8], align [filtered] + %result = alloca i8, align [filtered] %0 = bitcast [81 x i8]* %a to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [81 x i8]* %b to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store i8 0, i8* %result, align 1 - store i16 0, i16* %baz, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store i8 0, i8* %result, align [filtered] + store i16 0, i16* %baz, align [filtered] %2 = bitcast [81 x i8]* %a to i8* %call = call i8 @STRING_EQUAL(i8* %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0)) %3 = icmp ne i8 %call, 0 @@ -68,8 +67,8 @@ entry: 7: ; preds = %4, %entry %8 = phi i1 [ %3, %entry ], [ %6, %4 ] %9 = zext i1 %8 to i8 - store i8 %9, i8* %result, align 1 - %baz_ret = load i16, i16* %baz, align 2 + store i8 %9, i8* %result, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_array_variable.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_array_variable.snap index dc6e405fac..a0217e5b22 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_array_variable.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_array_variable.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/constants_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,7 +16,7 @@ define void @main(%main* %0) { entry: %arr = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %1 = bitcast [4 x i16]* %arr to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast ([4 x i16]* @const_arr to i8*), i64 ptrtoint ([4 x i16]* getelementptr ([4 x i16], [4 x i16]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast ([4 x i16]* @const_arr to i8*), i64 ptrtoint ([4 x i16]* getelementptr ([4 x i16], [4 x i16]* null, i32 1) to i64), i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_string_variable.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_string_variable.snap index 27329fb55e..91ba871b72 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_string_variable.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_string_variable.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/constants_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,7 +16,7 @@ define void @main(%main* %0) { entry: %str = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %1 = bitcast [81 x i8]* %str to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([81 x i8], [81 x i8]* @const_str, i32 0, i32 0), i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([81 x i8], [81 x i8]* @const_str, i32 0, i32 0), i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_struct_variable.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_struct_variable.snap index 21412d7c01..ae9cbdcc32 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_struct_variable.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__constants_tests__assigning_const_struct_variable.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/constants_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,7 +18,7 @@ define void @main(%main* %0) { entry: %strct = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %1 = bitcast %Point* %strct to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 bitcast (%Point* @const_strct to i8*), i64 ptrtoint (%Point* getelementptr (%Point, %Point* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] bitcast (%Point* @const_strct to i8*), i64 ptrtoint (%Point* getelementptr (%Point, %Point* null, i32 1) to i64), i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap index 6fe7d77396..daad42631a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap @@ -17,9 +17,9 @@ target triple = "[filtered]" define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 - %deref = load %myStruct*, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] + %deref = load %myStruct*, %myStruct** %self, align [filtered] %b = getelementptr inbounds %myStruct, %myStruct* %deref, i32 0, i32 1 call void @__init_mystruct2(%myStruct2* %b) ret void @@ -27,16 +27,16 @@ entry: define void @__init_mystruct2(%myStruct2* %0) { entry: - %self = alloca %myStruct2*, align 8 - store %myStruct2* %0, %myStruct2** %self, align 8 + %self = alloca %myStruct2*, align [filtered] + store %myStruct2* %0, %myStruct2** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 - %deref = load %myStruct*, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] + %deref = load %myStruct*, %myStruct** %self, align [filtered] %b = getelementptr inbounds %myStruct, %myStruct* %deref, i32 0, i32 1 call void @__user_init_myStruct2(%myStruct2* %b) ret void @@ -44,8 +44,8 @@ entry: define void @__user_init_myStruct2(%myStruct2* %0) { entry: - %self = alloca %myStruct2*, align 8 - store %myStruct2* %0, %myStruct2** %self, align 8 + %self = alloca %myStruct2*, align [filtered] + store %myStruct2* %0, %myStruct2** %self, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap index c331905c23..892ca523bd 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap @@ -16,15 +16,15 @@ target triple = "[filtered]" define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__bitaccess_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__bitaccess_assignment.snap index 4b2293d2d9..f89f69774d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__bitaccess_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__bitaccess_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,29 +9,29 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %a = alloca i8, align 1 - %b = alloca i16, align 2 - store i8 0, i8* %a, align 1 - store i16 1, i16* %b, align 2 - store i16 0, i16* %main, align 2 - %0 = load i8, i8* %a, align 1 + %main = alloca i16, align [filtered] + %a = alloca i8, align [filtered] + %b = alloca i16, align [filtered] + store i8 0, i8* %a, align [filtered] + store i16 1, i16* %b, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = load i8, i8* %a, align [filtered] %erase = and i8 %0, -3 %or = or i8 %erase, 2 - store i8 %or, i8* %a, align 1 - %1 = load i8, i8* %a, align 1 + store i8 %or, i8* %a, align [filtered] + %1 = load i8, i8* %a, align [filtered] %erase1 = and i8 %1, -5 %or2 = or i8 %erase1, 0 - store i8 %or2, i8* %a, align 1 - %2 = load i8, i8* %a, align 1 - %load_b = load i16, i16* %b, align 2 + store i8 %or2, i8* %a, align [filtered] + %2 = load i8, i8* %a, align [filtered] + %load_b = load i16, i16* %b, align [filtered] %3 = trunc i16 %load_b to i8 %shift = shl i8 1, %3 %invert = xor i8 %shift, -1 %erase3 = and i8 %2, %invert %value = shl i8 0, %3 %or4 = or i8 %erase3, %value - store i8 %or4, i8* %a, align 1 - %main_ret = load i16, i16* %main, align 2 + store i8 %or4, i8* %a, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__byteaccess_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__byteaccess_assignment.snap index e48f28c90a..7e8c36820e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__byteaccess_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__byteaccess_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %b = alloca i16, align 2 - store i16 0, i16* %b, align 2 - store i16 0, i16* %main, align 2 - %0 = load i16, i16* %b, align 2 + %main = alloca i16, align [filtered] + %b = alloca i16, align [filtered] + store i16 0, i16* %b, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = load i16, i16* %b, align [filtered] %erase = and i16 %0, -256 %or = or i16 %erase, 2 - store i16 %or, i16* %b, align 2 - %main_ret = load i16, i16* %main, align 2 + store i16 %or, i16* %b, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__chained_bit_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__chained_bit_assignment.snap index 252078d715..fcacf09dd7 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__chained_bit_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__chained_bit_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %d = alloca i64, align 8 - store i64 0, i64* %d, align 8 - store i16 0, i16* %main, align 2 - %0 = load i64, i64* %d, align 8 + %main = alloca i16, align [filtered] + %d = alloca i64, align [filtered] + store i64 0, i64* %d, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = load i64, i64* %d, align [filtered] %erase = and i64 %0, -8589934593 %or = or i64 %erase, 8589934592 - store i64 %or, i64* %d, align 8 - %main_ret = load i16, i16* %main, align 2 + store i64 %or, i64* %d, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__dwordaccess_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__dwordaccess_assignment.snap index 81a282dc6a..f92caebfd0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__dwordaccess_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__dwordaccess_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %d = alloca i64, align 8 - store i64 0, i64* %d, align 8 - store i16 0, i16* %main, align 2 - %0 = load i64, i64* %d, align 8 + %main = alloca i16, align [filtered] + %d = alloca i64, align [filtered] + store i64 0, i64* %d, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = load i64, i64* %d, align [filtered] %erase = and i64 %0, -4294967296 %or = or i64 %erase, 11259375 - store i64 %or, i64* %d, align 8 - %main_ret = load i16, i16* %main, align 2 + store i64 %or, i64* %d, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__lwordaccess_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__lwordaccess_assignment.snap index 5fd655f9cd..47c9e772e1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__lwordaccess_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__lwordaccess_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %d = alloca i64, align 8 - store i64 0, i64* %d, align 8 - store i16 0, i16* %main, align 2 - %0 = load i64, i64* %d, align 8 + %main = alloca i16, align [filtered] + %d = alloca i64, align [filtered] + store i64 0, i64* %d, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = load i64, i64* %d, align [filtered] %erase = and i64 %0, poison %or = or i64 %erase, poison - store i64 %or, i64* %d, align 8 - %main_ret = load i16, i16* %main, align 2 + store i64 %or, i64* %d, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__qualified_reference_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__qualified_reference_assignment.snap index a362bf19fa..1748706877 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__qualified_reference_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__qualified_reference_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,22 +13,22 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %str = alloca %myStruct, align 8 + %main = alloca i16, align [filtered] + %str = alloca %myStruct, align [filtered] %0 = bitcast %myStruct* %str to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%myStruct, %myStruct* @__myStruct__init, i32 0, i32 0), i64 ptrtoint (%myStruct* getelementptr (%myStruct, %myStruct* null, i32 1) to i64), i1 false) - store i16 0, i16* %main, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds (%myStruct, %myStruct* @__myStruct__init, i32 0, i32 0), i64 ptrtoint (%myStruct* getelementptr (%myStruct, %myStruct* null, i32 1) to i64), i1 false) + store i16 0, i16* %main, align [filtered] %x = getelementptr inbounds %myStruct, %myStruct* %str, i32 0, i32 0 - %1 = load i8, i8* %x, align 1 + %1 = load i8, i8* %x, align [filtered] %erase = and i8 %1, -2 %or = or i8 %erase, 0 - store i8 %or, i8* %x, align 1 + store i8 %or, i8* %x, align [filtered] %x1 = getelementptr inbounds %myStruct, %myStruct* %str, i32 0, i32 0 - %2 = load i8, i8* %x1, align 1 + %2 = load i8, i8* %x1, align [filtered] %erase2 = and i8 %2, -3 %or3 = or i8 %erase2, 2 - store i8 %or3, i8* %x1, align 1 - %main_ret = load i16, i16* %main, align 2 + store i8 %or3, i8* %x1, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__wordaccess_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__wordaccess_assignment.snap index 2e9a2e7920..0f13959a8a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__wordaccess_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__directaccess_test__wordaccess_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/directaccess_test.rs expression: prog -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,14 +9,14 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - %c = alloca i32, align 4 - store i32 0, i32* %c, align 4 - store i16 0, i16* %main, align 2 - %0 = load i32, i32* %c, align 4 + %main = alloca i16, align [filtered] + %c = alloca i32, align [filtered] + store i32 0, i32* %c, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = load i32, i32* %c, align [filtered] %erase = and i32 %0, -65536 %or = or i32 %erase, 256 - store i32 %or, i32* %c, align 4 - %main_ret = load i16, i16* %main, align 2 + store i32 %or, i32* %c, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__access_string_via_byte_array.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__access_string_via_byte_array.snap index dc00a25e2c..92f8b8e38b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__access_string_via_byte_array.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__access_string_via_byte_array.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,8 +17,8 @@ entry: %ptr = getelementptr inbounds %baz, %baz* %0, i32 0, i32 1 %bytes = getelementptr inbounds %baz, %baz* %0, i32 0, i32 2 %1 = bitcast [11 x i8]* %str to i8* - store i8* %1, i8** %ptr, align 8 + store i8* %1, i8** %ptr, align [filtered] %2 = bitcast [11 x i8]* %str to [10 x i8]* - store [10 x i8]* %2, [10 x i8]** %bytes, align 8 + store [10 x i8]* %2, [10 x i8]** %bytes, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__allowed_assignable_types.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__allowed_assignable_types.snap index 8e5bdf249c..811ada1e59 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__allowed_assignable_types.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__allowed_assignable_types.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,24 +17,24 @@ entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %y = getelementptr inbounds %main, %main* %0, i32 0, i32 2 %z = getelementptr inbounds %main, %main* %0, i32 0, i32 3 - store i16 0, i16* %v, align 2 + store i16 0, i16* %v, align [filtered] %tmpVar = getelementptr inbounds [2 x i16], [2 x i16]* %x, i32 0, i32 0 - store i16 1, i16* %tmpVar, align 2 - %deref = load i16*, i16** %y, align 8 - store i16 2, i16* %deref, align 2 - %deref1 = load i16*, i16** %y, align 8 - %1 = load i16, i16* %deref1, align 2 + store i16 1, i16* %tmpVar, align [filtered] + %deref = load i16*, i16** %y, align [filtered] + store i16 2, i16* %deref, align [filtered] + %deref1 = load i16*, i16** %y, align [filtered] + %1 = load i16, i16* %deref1, align [filtered] %erase = and i16 %1, -3 %or = or i16 %erase, 6 - store i16 %or, i16* %deref1, align 2 - %deref2 = load [2 x i16]*, [2 x i16]** %z, align 8 + store i16 %or, i16* %deref1, align [filtered] + %deref2 = load [2 x i16]*, [2 x i16]** %z, align [filtered] %tmpVar3 = getelementptr inbounds [2 x i16], [2 x i16]* %deref2, i32 0, i32 0 - store i16 4, i16* %tmpVar3, align 2 - %deref4 = load [2 x i16]*, [2 x i16]** %z, align 8 + store i16 4, i16* %tmpVar3, align [filtered] + %deref4 = load [2 x i16]*, [2 x i16]** %z, align [filtered] %tmpVar5 = getelementptr inbounds [2 x i16], [2 x i16]* %deref4, i32 0, i32 1 - %2 = load i16, i16* %tmpVar5, align 2 + %2 = load i16, i16* %tmpVar5, align [filtered] %erase6 = and i16 %2, -3 %or7 = or i16 %erase6, 10 - store i16 %or7, i16* %tmpVar5, align 2 + store i16 %or7, i16* %tmpVar5, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_float.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_float.snap index 2701661b9b..7ac0bd6e92 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_float.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_float.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,24 +9,24 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %x2 = alloca float, align 4 - %x3 = alloca float, align 4 - %l1 = alloca double, align 8 - store float 0.000000e+00, float* %x1, align 4 - store float 0.000000e+00, float* %x2, align 4 - store float 0.000000e+00, float* %x3, align 4 - store double 0.000000e+00, double* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 - %load_x2 = load float, float* %x2, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %x2 = alloca float, align [filtered] + %x3 = alloca float, align [filtered] + %l1 = alloca double, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store float 0.000000e+00, float* %x2, align [filtered] + store float 0.000000e+00, float* %x3, align [filtered] + store double 0.000000e+00, double* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] + %load_x2 = load float, float* %x2, align [filtered] %tmpVar = fadd float %load_x1, %load_x2 - %load_x3 = load float, float* %x3, align 4 + %load_x3 = load float, float* %x3, align [filtered] %tmpVar1 = fadd float %tmpVar, %load_x3 %0 = fpext float %tmpVar1 to double - %load_l1 = load double, double* %l1, align 8 + %load_l1 = load double, double* %l1, align [filtered] %tmpVar2 = fadd double %0, %load_l1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_ints.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_ints.snap index 59b07c0016..37bf314d96 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_ints.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_ints.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,29 +9,29 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca i32, align 4 - %x2 = alloca i32, align 4 - %x3 = alloca i32, align 4 - %l1 = alloca i64, align 8 - %s1 = alloca i8, align 1 - store i32 0, i32* %x1, align 4 - store i32 0, i32* %x2, align 4 - store i32 0, i32* %x3, align 4 - store i64 0, i64* %l1, align 8 - store i8 0, i8* %s1, align 1 - store i32 0, i32* %main, align 4 - %load_x1 = load i32, i32* %x1, align 4 - %load_x2 = load i32, i32* %x2, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca i32, align [filtered] + %x2 = alloca i32, align [filtered] + %x3 = alloca i32, align [filtered] + %l1 = alloca i64, align [filtered] + %s1 = alloca i8, align [filtered] + store i32 0, i32* %x1, align [filtered] + store i32 0, i32* %x2, align [filtered] + store i32 0, i32* %x3, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i8 0, i8* %s1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load i32, i32* %x1, align [filtered] + %load_x2 = load i32, i32* %x2, align [filtered] %tmpVar = add i32 %load_x1, %load_x2 - %load_x3 = load i32, i32* %x3, align 4 + %load_x3 = load i32, i32* %x3, align [filtered] %tmpVar1 = add i32 %tmpVar, %load_x3 %0 = sext i32 %tmpVar1 to i64 - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %tmpVar2 = add i64 %0, %load_l1 - %load_s1 = load i8, i8* %s1, align 1 + %load_s1 = load i8, i8* %s1, align [filtered] %1 = sext i8 %load_s1 to i64 %tmpVar3 = add i64 %tmpVar2, %1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_mixed.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_mixed.snap index 16a3273906..2c97339886 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_mixed.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_add_mixed.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,25 +9,25 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %x2 = alloca float, align 4 - %x3 = alloca float, align 4 - %l1 = alloca i64, align 8 - store float 0.000000e+00, float* %x1, align 4 - store float 0.000000e+00, float* %x2, align 4 - store float 0.000000e+00, float* %x3, align 4 - store i64 0, i64* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 - %load_x2 = load float, float* %x2, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %x2 = alloca float, align [filtered] + %x3 = alloca float, align [filtered] + %l1 = alloca i64, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store float 0.000000e+00, float* %x2, align [filtered] + store float 0.000000e+00, float* %x3, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] + %load_x2 = load float, float* %x2, align [filtered] %tmpVar = fadd float %load_x1, %load_x2 - %load_x3 = load float, float* %x3, align 4 + %load_x3 = load float, float* %x3, align [filtered] %tmpVar1 = fadd float %tmpVar, %load_x3 %0 = fpext float %tmpVar1 to double - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %1 = sitofp i64 %load_l1 to double %tmpVar2 = fadd double %0, %1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_float.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_float.snap index 1a160e4012..47894b1147 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_float.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_float.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,16 +9,16 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %l1 = alloca double, align 8 - store float 0.000000e+00, float* %x1, align 4 - store double 0.000000e+00, double* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %l1 = alloca double, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store double 0.000000e+00, double* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] %0 = fpext float %load_x1 to double - %load_l1 = load double, double* %l1, align 8 + %load_l1 = load double, double* %l1, align [filtered] %tmpVar = fdiv double %0, %load_l1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_ints.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_ints.snap index c69b088046..e4aa6a880c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_ints.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_ints.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,16 +9,16 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca i32, align 4 - %l1 = alloca i64, align 8 - store i32 0, i32* %x1, align 4 - store i64 0, i64* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load i32, i32* %x1, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca i32, align [filtered] + %l1 = alloca i64, align [filtered] + store i32 0, i32* %x1, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load i32, i32* %x1, align [filtered] %0 = sext i32 %load_x1 to i64 - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %tmpVar = sdiv i64 %0, %load_l1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_mixed.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_mixed.snap index eaf59af3bf..4bf77d85e6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_mixed.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_div_mixed.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,17 +9,17 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %l1 = alloca i64, align 8 - store float 0.000000e+00, float* %x1, align 4 - store i64 0, i64* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %l1 = alloca i64, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] %0 = fpext float %load_x1 to double - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %1 = sitofp i64 %load_l1 to double %tmpVar = fdiv double %0, %1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux.snap index 54bbdcdd38..6382f69b00 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,7 +18,7 @@ entry: %c = getelementptr inbounds %main, %main* %0, i32 0, i32 2 %d = getelementptr inbounds %main, %main* %0, i32 0, i32 3 %e = getelementptr inbounds %main, %main* %0, i32 0, i32 4 - %1 = alloca i32, align 4 + %1 = alloca i32, align [filtered] switch i32 3, label %continue_block [ i32 0, label %2 i32 1, label %3 @@ -28,27 +27,27 @@ entry: ] 2: ; preds = %entry - %load_b = load i32, i32* %b, align 4 - store i32 %load_b, i32* %1, align 4 + %load_b = load i32, i32* %b, align [filtered] + store i32 %load_b, i32* %1, align [filtered] br label %continue_block 3: ; preds = %entry - %load_c = load i32, i32* %c, align 4 - store i32 %load_c, i32* %1, align 4 + %load_c = load i32, i32* %c, align [filtered] + store i32 %load_c, i32* %1, align [filtered] br label %continue_block 4: ; preds = %entry - %load_d = load i32, i32* %d, align 4 - store i32 %load_d, i32* %1, align 4 + %load_d = load i32, i32* %d, align [filtered] + store i32 %load_d, i32* %1, align [filtered] br label %continue_block 5: ; preds = %entry - %load_e = load i32, i32* %e, align 4 - store i32 %load_e, i32* %1, align 4 + %load_e = load i32, i32* %e, align [filtered] + store i32 %load_e, i32* %1, align [filtered] br label %continue_block continue_block: ; preds = %entry, %5, %4, %3, %2 - %6 = load i32, i32* %1, align 4 - store i32 %6, i32* %a, align 4 + %6 = load i32, i32* %1, align [filtered] + store i32 %6, i32* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux_with_aggregate_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux_with_aggregate_type.snap index fafbbbb858..054b234041 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux_with_aggregate_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_mux_with_aggregate_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,7 +18,7 @@ target triple = "[filtered]" define void @main(%main* %0) { entry: %str1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %1 = alloca [81 x i8], align 1 + %1 = alloca [81 x i8], align [filtered] switch i32 3, label %continue_block [ i32 0, label %2 i32 1, label %4 @@ -29,28 +28,28 @@ entry: 2: ; preds = %entry %3 = bitcast [81 x i8]* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_2, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_2, i32 0, i32 0), i32 6, i1 false) br label %continue_block 4: ; preds = %entry %5 = bitcast [81 x i8]* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %5, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %5, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) br label %continue_block 6: ; preds = %entry %7 = bitcast [81 x i8]* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %7, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %7, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) br label %continue_block 8: ; preds = %entry %9 = bitcast [81 x i8]* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %9, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_3, i32 0, i32 0), i32 4, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %9, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_3, i32 0, i32 0), i32 4, i1 false) br label %continue_block continue_block: ; preds = %entry, %8, %6, %4, %2 %10 = bitcast [81 x i8]* %str1 to i8* %11 = bitcast [81 x i8]* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %10, i8* align 1 %11, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %10, i8* align [filtered] %11, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_sel_as_expression.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_sel_as_expression.snap index 8c256a2997..6cf93b94bc 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_sel_as_expression.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_sel_as_expression.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,10 +16,10 @@ entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %c = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_b = load i32, i32* %b, align 4 - %load_c = load i32, i32* %c, align 4 + %load_b = load i32, i32* %b, align [filtered] + %load_c = load i32, i32* %c, align [filtered] %1 = select i1 true, i32 %load_c, i32 %load_b %tmpVar = add i32 %1, 10 - store i32 %tmpVar, i32* %a, align 4 + store i32 %tmpVar, i32* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_upper_bound_expr.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_upper_bound_expr.snap index 074c65ee68..1e2b21dc5a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_upper_bound_expr.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_function_call_upper_bound_expr.snap @@ -18,37 +18,37 @@ define void @main(%main* %0) { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %auto_deref = load [16 x i32], [16 x i32]* %a, align 4 + %auto_deref = load [16 x i32], [16 x i32]* %a, align [filtered] %outer_arr_gep = getelementptr inbounds [16 x i32], [16 x i32]* %a, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [8 x i32] [i32 0, i32 1, i32 1, i32 2, i32 2, i32 3, i32 3, i32 4], [2 x i32]* %vla_dimensions_gep, align 4 - store i32* %outer_arr_gep, i32** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [8 x i32] [i32 0, i32 1, i32 1, i32 2, i32 2, i32 3, i32 3, i32 4], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i32* %outer_arr_gep, i32** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i32 @foo(%__foo_vla* %vla_struct_ptr) - store i32 %call, i32* %b, align 4 + store i32 %call, i32* %b, align [filtered] ret void } define i32 @foo(%__foo_vla* %0) { entry: - %foo = alloca i32, align 4 - %vla = alloca %__foo_vla*, align 8 - store %__foo_vla* %0, %__foo_vla** %vla, align 8 - store i32 0, i32* %foo, align 4 - %deref = load %__foo_vla*, %__foo_vla** %vla, align 8 + %foo = alloca i32, align [filtered] + %vla = alloca %__foo_vla*, align [filtered] + store %__foo_vla* %0, %__foo_vla** %vla, align [filtered] + store i32 0, i32* %foo, align [filtered] + %deref = load %__foo_vla*, %__foo_vla** %vla, align [filtered] %dim = getelementptr inbounds %__foo_vla, %__foo_vla* %deref, i32 0, i32 1 %1 = getelementptr inbounds [2 x i32], [2 x i32]* %dim, i32 0, i32 7 - %2 = load i32, i32* %1, align 4 - store i32 %2, i32* %foo, align 4 - %deref1 = load %__foo_vla*, %__foo_vla** %vla, align 8 + %2 = load i32, i32* %1, align [filtered] + store i32 %2, i32* %foo, align [filtered] + %deref1 = load %__foo_vla*, %__foo_vla** %vla, align [filtered] %dim2 = getelementptr inbounds %__foo_vla, %__foo_vla* %deref1, i32 0, i32 1 %3 = getelementptr inbounds [2 x i32], [2 x i32]* %dim2, i32 0, i32 7 - %4 = load i32, i32* %3, align 4 - store i32 %4, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %4 = load i32, i32* %3, align [filtered] + store i32 %4, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_float.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_float.snap index 6ddf786f11..2b37eeda38 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_float.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_float.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,24 +9,24 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %x2 = alloca float, align 4 - %x3 = alloca float, align 4 - %l1 = alloca double, align 8 - store float 0.000000e+00, float* %x1, align 4 - store float 0.000000e+00, float* %x2, align 4 - store float 0.000000e+00, float* %x3, align 4 - store double 0.000000e+00, double* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 - %load_x2 = load float, float* %x2, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %x2 = alloca float, align [filtered] + %x3 = alloca float, align [filtered] + %l1 = alloca double, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store float 0.000000e+00, float* %x2, align [filtered] + store float 0.000000e+00, float* %x3, align [filtered] + store double 0.000000e+00, double* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] + %load_x2 = load float, float* %x2, align [filtered] %tmpVar = fmul float %load_x1, %load_x2 - %load_x3 = load float, float* %x3, align 4 + %load_x3 = load float, float* %x3, align [filtered] %tmpVar1 = fmul float %tmpVar, %load_x3 %0 = fpext float %tmpVar1 to double - %load_l1 = load double, double* %l1, align 8 + %load_l1 = load double, double* %l1, align [filtered] %tmpVar2 = fmul double %0, %load_l1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_ints.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_ints.snap index cfd9cb9b50..6539b06b3b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_ints.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_ints.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,29 +9,29 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca i32, align 4 - %x2 = alloca i32, align 4 - %x3 = alloca i32, align 4 - %l1 = alloca i64, align 8 - %s1 = alloca i8, align 1 - store i32 0, i32* %x1, align 4 - store i32 0, i32* %x2, align 4 - store i32 0, i32* %x3, align 4 - store i64 0, i64* %l1, align 8 - store i8 0, i8* %s1, align 1 - store i32 0, i32* %main, align 4 - %load_x1 = load i32, i32* %x1, align 4 - %load_x2 = load i32, i32* %x2, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca i32, align [filtered] + %x2 = alloca i32, align [filtered] + %x3 = alloca i32, align [filtered] + %l1 = alloca i64, align [filtered] + %s1 = alloca i8, align [filtered] + store i32 0, i32* %x1, align [filtered] + store i32 0, i32* %x2, align [filtered] + store i32 0, i32* %x3, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i8 0, i8* %s1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load i32, i32* %x1, align [filtered] + %load_x2 = load i32, i32* %x2, align [filtered] %tmpVar = mul i32 %load_x1, %load_x2 - %load_x3 = load i32, i32* %x3, align 4 + %load_x3 = load i32, i32* %x3, align [filtered] %tmpVar1 = mul i32 %tmpVar, %load_x3 %0 = sext i32 %tmpVar1 to i64 - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %tmpVar2 = mul i64 %0, %load_l1 - %load_s1 = load i8, i8* %s1, align 1 + %load_s1 = load i8, i8* %s1, align [filtered] %1 = sext i8 %load_s1 to i64 %tmpVar3 = mul i64 %tmpVar2, %1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_mixed.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_mixed.snap index 3dca542687..1428036800 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_mixed.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_mul_mixed.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,25 +9,25 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %x2 = alloca float, align 4 - %x3 = alloca float, align 4 - %l1 = alloca i64, align 8 - store float 0.000000e+00, float* %x1, align 4 - store float 0.000000e+00, float* %x2, align 4 - store float 0.000000e+00, float* %x3, align 4 - store i64 0, i64* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 - %load_x2 = load float, float* %x2, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %x2 = alloca float, align [filtered] + %x3 = alloca float, align [filtered] + %l1 = alloca i64, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store float 0.000000e+00, float* %x2, align [filtered] + store float 0.000000e+00, float* %x3, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] + %load_x2 = load float, float* %x2, align [filtered] %tmpVar = fmul float %load_x1, %load_x2 - %load_x3 = load float, float* %x3, align 4 + %load_x3 = load float, float* %x3, align [filtered] %tmpVar1 = fmul float %tmpVar, %load_x3 %0 = fpext float %tmpVar1 to double - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %1 = sitofp i64 %load_l1 to double %tmpVar2 = fmul double %0, %1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_float.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_float.snap index 3f77b3c1b2..0317b3f29b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_float.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_float.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,16 +9,16 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %l1 = alloca double, align 8 - store float 0.000000e+00, float* %x1, align 4 - store double 0.000000e+00, double* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %l1 = alloca double, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store double 0.000000e+00, double* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] %0 = fpext float %load_x1 to double - %load_l1 = load double, double* %l1, align 8 + %load_l1 = load double, double* %l1, align [filtered] %tmpVar = fsub double %0, %load_l1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_ints.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_ints.snap index 53dbc27765..8ee9e8ae82 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_ints.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_ints.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,16 +9,16 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca i32, align 4 - %l1 = alloca i64, align 8 - store i32 0, i32* %x1, align 4 - store i64 0, i64* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load i32, i32* %x1, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca i32, align [filtered] + %l1 = alloca i64, align [filtered] + store i32 0, i32* %x1, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load i32, i32* %x1, align [filtered] %0 = sext i32 %load_x1 to i64 - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %tmpVar = sub i64 %0, %load_l1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_mixed.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_mixed.snap index 474d64aae7..415b300e4d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_mixed.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__builtin_sub_mixed.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,17 +9,17 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca float, align 4 - %l1 = alloca i64, align 8 - store float 0.000000e+00, float* %x1, align 4 - store i64 0, i64* %l1, align 8 - store i32 0, i32* %main, align 4 - %load_x1 = load float, float* %x1, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca float, align [filtered] + %l1 = alloca i64, align [filtered] + store float 0.000000e+00, float* %x1, align [filtered] + store i64 0, i64* %l1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_x1 = load float, float* %x1, align [filtered] %0 = fpext float %load_x1 to double - %load_l1 = load i64, i64* %l1, align 8 + %load_l1 = load i64, i64* %l1, align [filtered] %1 = sitofp i64 %load_l1 to double %tmpVar = fsub double %0, %1 - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__calling_strings_in_function_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__calling_strings_in_function_return.snap index e66c9de104..6be624c2fa 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__calling_strings_in_function_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__calling_strings_in_function_return.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,24 +14,24 @@ target triple = "[filtered]" define void @func(i8* %0) { entry: - %func = alloca i8*, align 8 - store i8* %0, i8** %func, align 8 - %deref = load i8*, i8** %func, align 8 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %func = alloca i8*, align [filtered] + store i8* %0, i8** %func, align [filtered] + %deref = load i8*, i8** %func, align [filtered] + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) ret void } define void @main(%main* %0) { entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %__func0 = alloca [81 x i8], align 1 + %__func0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__func0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__func0 to i8* call void @func(i8* %2) %3 = bitcast [81 x i8]* %x to i8* %4 = bitcast [81 x i8]* %__func0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_between_pointer_types.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_between_pointer_types.snap index 65efa9a8b2..b32fc32c6a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_between_pointer_types.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_between_pointer_types.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,6 +16,6 @@ entry: %ptr_x = getelementptr inbounds %baz, %baz* %0, i32 0, i32 0 %y = getelementptr inbounds %baz, %baz* %0, i32 0, i32 1 %1 = bitcast i16* %y to i8* - store i8* %1, i8** %ptr_x, align 8 + store i8* %1, i8** %ptr_x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_lword_to_pointer.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_lword_to_pointer.snap index f5abb26bb9..c2444bef36 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_lword_to_pointer.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_lword_to_pointer.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,15 +9,15 @@ target triple = "[filtered]" define i16 @baz() { entry: - %baz = alloca i16, align 2 - %ptr_x = alloca i16*, align 8 - %y = alloca i64, align 8 - store i16* null, i16** %ptr_x, align 8 - store i64 0, i64* %y, align 8 - store i16 0, i16* %baz, align 2 - %load_y = load i64, i64* %y, align 8 + %baz = alloca i16, align [filtered] + %ptr_x = alloca i16*, align [filtered] + %y = alloca i64, align [filtered] + store i16* null, i16** %ptr_x, align [filtered] + store i64 0, i64* %y, align [filtered] + store i16 0, i16* %baz, align [filtered] + %load_y = load i64, i64* %y, align [filtered] %0 = inttoptr i64 %load_y to i16* - store i16* %0, i16** %ptr_x, align 8 - %baz_ret = load i16, i16* %baz, align 2 + store i16* %0, i16** %ptr_x, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_pointer_to_lword.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_pointer_to_lword.snap index b3924c389a..68255271f2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_pointer_to_lword.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__cast_pointer_to_lword.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,15 +9,15 @@ target triple = "[filtered]" define i16 @baz() { entry: - %baz = alloca i16, align 2 - %ptr_x = alloca i16*, align 8 - %y = alloca i64, align 8 - store i16* null, i16** %ptr_x, align 8 - store i64 0, i64* %y, align 8 - store i16 0, i16* %baz, align 2 - %load_ptr_x = load i16*, i16** %ptr_x, align 8 + %baz = alloca i16, align [filtered] + %ptr_x = alloca i16*, align [filtered] + %y = alloca i64, align [filtered] + store i16* null, i16** %ptr_x, align [filtered] + store i64 0, i64* %y, align [filtered] + store i16 0, i16* %baz, align [filtered] + %load_ptr_x = load i16*, i16** %ptr_x, align [filtered] %0 = ptrtoint i16* %load_ptr_x to i64 - store i64 %0, i64* %y, align 8 - %baz_ret = load i16, i16* %baz, align 2 + store i64 %0, i64* %y, align [filtered] + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__compare_date_time_literals.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__compare_date_time_literals.snap index d2434cc9bd..fd1c4fe23f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__compare_date_time_literals.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__compare_date_time_literals.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,29 +13,29 @@ target triple = "[filtered]" define void @main(%main* %0) { entry: - %cmp1 = alloca i8, align 1 - %cmp2 = alloca i8, align 1 - %cmp3 = alloca i8, align 1 - %cmp4 = alloca i8, align 1 - %cmp5 = alloca i8, align 1 - %cmp6 = alloca i8, align 1 - %cmp7 = alloca i8, align 1 - %cmp8 = alloca i8, align 1 - store i8 0, i8* %cmp1, align 1 - store i8 0, i8* %cmp2, align 1 - store i8 0, i8* %cmp3, align 1 - store i8 0, i8* %cmp4, align 1 - store i8 0, i8* %cmp5, align 1 - store i8 0, i8* %cmp6, align 1 - store i8 0, i8* %cmp7, align 1 - store i8 0, i8* %cmp8, align 1 - store i8 0, i8* %cmp1, align 1 - store i8 1, i8* %cmp2, align 1 - store i8 0, i8* %cmp3, align 1 - store i8 1, i8* %cmp4, align 1 - store i8 0, i8* %cmp5, align 1 - store i8 1, i8* %cmp6, align 1 - store i8 0, i8* %cmp7, align 1 - store i8 1, i8* %cmp8, align 1 + %cmp1 = alloca i8, align [filtered] + %cmp2 = alloca i8, align [filtered] + %cmp3 = alloca i8, align [filtered] + %cmp4 = alloca i8, align [filtered] + %cmp5 = alloca i8, align [filtered] + %cmp6 = alloca i8, align [filtered] + %cmp7 = alloca i8, align [filtered] + %cmp8 = alloca i8, align [filtered] + store i8 0, i8* %cmp1, align [filtered] + store i8 0, i8* %cmp2, align [filtered] + store i8 0, i8* %cmp3, align [filtered] + store i8 0, i8* %cmp4, align [filtered] + store i8 0, i8* %cmp5, align [filtered] + store i8 0, i8* %cmp6, align [filtered] + store i8 0, i8* %cmp7, align [filtered] + store i8 0, i8* %cmp8, align [filtered] + store i8 0, i8* %cmp1, align [filtered] + store i8 1, i8* %cmp2, align [filtered] + store i8 0, i8* %cmp3, align [filtered] + store i8 1, i8* %cmp4, align [filtered] + store i8 0, i8* %cmp5, align [filtered] + store i8 1, i8* %cmp6, align [filtered] + store i8 0, i8* %cmp7, align [filtered] + store i8 1, i8* %cmp8, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__max_int.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__max_int.snap index 72e6e9d7f0..7b72409f22 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__max_int.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__max_int.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,27 +9,27 @@ target triple = "[filtered]" define i16 @main() { entry: - %main = alloca i16, align 2 - store i16 0, i16* %main, align 2 - %0 = alloca [7 x i16], align 2 + %main = alloca i16, align [filtered] + store i16 0, i16* %main, align [filtered] + %0 = alloca [7 x i16], align [filtered] %1 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 0 - store i16 5, i16* %1, align 2 + store i16 5, i16* %1, align [filtered] %2 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 1 - store i16 2, i16* %2, align 2 + store i16 2, i16* %2, align [filtered] %3 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 2 - store i16 1, i16* %3, align 2 + store i16 1, i16* %3, align [filtered] %4 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 3 - store i16 3, i16* %4, align 2 + store i16 3, i16* %4, align [filtered] %5 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 4 - store i16 4, i16* %5, align 2 + store i16 4, i16* %5, align [filtered] %6 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 5 - store i16 7, i16* %6, align 2 + store i16 7, i16* %6, align [filtered] %7 = getelementptr inbounds [7 x i16], [7 x i16]* %0, i32 0, i32 6 - store i16 -1, i16* %7, align 2 + store i16 -1, i16* %7, align [filtered] %8 = bitcast [7 x i16]* %0 to i16* %call = call i16 @MAX__INT(i32 7, i16* %8) - store i16 %call, i16* %main, align 2 - %main_ret = load i16, i16* %main, align 2 + store i16 %call, i16* %main, align [filtered] + %main_ret = load i16, i16* %main, align [filtered] ret i16 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__nested_call_statements.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__nested_call_statements.snap index eec1c96c3a..e45fdda1ce 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__nested_call_statements.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__nested_call_statements.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,11 +13,11 @@ target triple = "[filtered]" define i32 @foo(i32 %0) { entry: - %foo = alloca i32, align 4 - %a = alloca i32, align 4 - store i32 %0, i32* %a, align 4 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %a = alloca i32, align [filtered] + store i32 %0, i32* %a, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics.snap index 9c16959f23..c0daa0980b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,49 +16,49 @@ entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %y = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %pt = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - store i16* %x, i16** %pt, align 8 - %load_pt = load i16*, i16** %pt, align 8 + store i16* %x, i16** %pt, align [filtered] + %load_pt = load i16*, i16** %pt, align [filtered] %access___main_pt = getelementptr inbounds i16, i16* %load_pt, i32 1 - store i16* %access___main_pt, i16** %pt, align 8 - %load_pt1 = load i16*, i16** %pt, align 8 + store i16* %access___main_pt, i16** %pt, align [filtered] + %load_pt1 = load i16*, i16** %pt, align [filtered] %access___main_pt2 = getelementptr inbounds i16, i16* %load_pt1, i32 1 %access___main_pt3 = getelementptr inbounds i16, i16* %access___main_pt2, i32 1 - store i16* %access___main_pt3, i16** %pt, align 8 - %load_pt4 = load i16*, i16** %pt, align 8 + store i16* %access___main_pt3, i16** %pt, align [filtered] + %load_pt4 = load i16*, i16** %pt, align [filtered] %access___main_pt5 = getelementptr inbounds i16, i16* %load_pt4, i32 1 - store i16* %access___main_pt5, i16** %pt, align 8 - %load_pt6 = load i16*, i16** %pt, align 8 - %load_y = load i16, i16* %y, align 2 + store i16* %access___main_pt5, i16** %pt, align [filtered] + %load_pt6 = load i16*, i16** %pt, align [filtered] + %load_y = load i16, i16* %y, align [filtered] %1 = sub i16 0, %load_y %access___main_pt7 = getelementptr inbounds i16, i16* %load_pt6, i16 %1 - store i16* %access___main_pt7, i16** %pt, align 8 - %load_pt8 = load i16*, i16** %pt, align 8 + store i16* %access___main_pt7, i16** %pt, align [filtered] + %load_pt8 = load i16*, i16** %pt, align [filtered] %access___main_pt9 = getelementptr inbounds i16, i16* %load_pt8, i32 1 %access___main_pt10 = getelementptr inbounds i16, i16* %access___main_pt9, i32 1 - store i16* %access___main_pt10, i16** %pt, align 8 - %load_pt11 = load i16*, i16** %pt, align 8 - %load_y12 = load i16, i16* %y, align 2 + store i16* %access___main_pt10, i16** %pt, align [filtered] + %load_pt11 = load i16*, i16** %pt, align [filtered] + %load_y12 = load i16, i16* %y, align [filtered] %2 = sub i16 0, %load_y12 %access___main_pt13 = getelementptr inbounds i16, i16* %load_pt11, i16 %2 %access___main_pt14 = getelementptr inbounds i16, i16* %access___main_pt13, i32 -1 - store i16* %access___main_pt14, i16** %pt, align 8 - %load_pt15 = load i16*, i16** %pt, align 8 + store i16* %access___main_pt14, i16** %pt, align [filtered] + %load_pt15 = load i16*, i16** %pt, align [filtered] %access___main_pt16 = getelementptr inbounds i16, i16* %load_pt15, i32 2 - store i16* %access___main_pt16, i16** %pt, align 8 - %load_y17 = load i16, i16* %y, align 2 - %load_pt18 = load i16*, i16** %pt, align 8 + store i16* %access___main_pt16, i16** %pt, align [filtered] + %load_y17 = load i16, i16* %y, align [filtered] + %load_pt18 = load i16*, i16** %pt, align [filtered] %access___main_pt19 = getelementptr inbounds i16, i16* %load_pt18, i16 %load_y17 - %load_y20 = load i16, i16* %y, align 2 + %load_y20 = load i16, i16* %y, align [filtered] %3 = sub i16 0, %load_y20 %access___main_pt21 = getelementptr inbounds i16, i16* %access___main_pt19, i16 %3 - store i16* %access___main_pt21, i16** %pt, align 8 - %load_y22 = load i16, i16* %y, align 2 + store i16* %access___main_pt21, i16** %pt, align [filtered] + %load_y22 = load i16, i16* %y, align [filtered] %4 = sext i16 %load_y22 to i32 - %load_y23 = load i16, i16* %y, align 2 + %load_y23 = load i16, i16* %y, align [filtered] %5 = sext i16 %load_y23 to i32 %tmpVar = add i32 %4, %5 - %load_pt24 = load i16*, i16** %pt, align 8 + %load_pt24 = load i16*, i16** %pt, align [filtered] %access___main_pt25 = getelementptr inbounds i16, i16* %load_pt24, i32 %tmpVar - store i16* %access___main_pt25, i16** %pt, align 8 + store i16* %access___main_pt25, i16** %pt, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics_function_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics_function_call.snap index c629ccd91b..49e99f96f3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics_function_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointer_arithmetics_function_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,9 +13,9 @@ target triple = "[filtered]" define i64 @foo() { entry: - %foo = alloca i64, align 8 - store i64 0, i64* %foo, align 8 - %foo_ret = load i64, i64* %foo, align 8 + %foo = alloca i64, align [filtered] + store i64 0, i64* %foo, align [filtered] + %foo_ret = load i64, i64* %foo, align [filtered] ret i64 %foo_ret } @@ -24,10 +23,10 @@ define void @main(%main* %0) { entry: %pt = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %x = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - store i16* %x, i16** %pt, align 8 - %load_pt = load i16*, i16** %pt, align 8 + store i16* %x, i16** %pt, align [filtered] + %load_pt = load i16*, i16** %pt, align [filtered] %call = call i64 @foo() %access___main_pt = getelementptr inbounds i16, i16* %load_pt, i64 %call - store i16* %access___main_pt, i16** %pt, align 8 + store i16* %access___main_pt, i16** %pt, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointers_in_function_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointers_in_function_return.snap index 8df22cc5ee..f483f21961 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointers_in_function_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__pointers_in_function_return.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,8 +9,8 @@ target triple = "[filtered]" define i16* @func() { entry: - %func = alloca i16*, align 8 - store i16* null, i16** %func, align 8 - %func_ret = load i16*, i16** %func, align 8 + %func = alloca i16*, align [filtered] + store i16* null, i16** %func, align [filtered] + %func_ret = load i16*, i16** %func, align [filtered] ret i16* %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__strings_in_function_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__strings_in_function_return.snap index 8c555e4de0..9de0248ec9 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__strings_in_function_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__strings_in_function_return.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,15 +11,15 @@ target triple = "[filtered]" define void @func(i8* %0, [81 x i8]* %1) { entry: - %func = alloca i8*, align 8 - store i8* %0, i8** %func, align 8 - %myout = alloca [81 x i8]*, align 8 - store [81 x i8]* %1, [81 x i8]** %myout, align 8 - %deref = load i8*, i8** %func, align 8 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) - %deref1 = load [81 x i8]*, [81 x i8]** %myout, align 8 + %func = alloca i8*, align [filtered] + store i8* %0, i8** %func, align [filtered] + %myout = alloca [81 x i8]*, align [filtered] + store [81 x i8]* %1, [81 x i8]** %myout, align [filtered] + %deref = load i8*, i8** %func, align [filtered] + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + %deref1 = load [81 x i8]*, [81 x i8]** %myout, align [filtered] %2 = bitcast [81 x i8]* %deref1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__structs_in_function_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__structs_in_function_return.snap index d77b542920..60f6702da1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__structs_in_function_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__structs_in_function_return.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,9 +13,9 @@ target triple = "[filtered]" define void @func(%myStruct* %0, %myStruct* %1) { entry: - %func = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %func, align 8 - %xxx = alloca %myStruct*, align 8 - store %myStruct* %1, %myStruct** %xxx, align 8 + %func = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %func, align [filtered] + %xxx = alloca %myStruct*, align [filtered] + store %myStruct* %1, %myStruct** %xxx, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__type_mix_in_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__type_mix_in_call.snap index 043ac4293a..0414d1c322 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__type_mix_in_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__type_mix_in_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,19 +9,19 @@ target triple = "[filtered]" define i16 @foo(i16 %0) { entry: - %foo = alloca i16, align 2 - %in = alloca i16, align 2 - store i16 %0, i16* %in, align 2 - store i16 0, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %foo = alloca i16, align [filtered] + %in = alloca i16, align [filtered] + store i16 %0, i16* %in, align [filtered] + store i16 0, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i16 @baz() { entry: - %baz = alloca i16, align 2 - store i16 0, i16* %baz, align 2 + %baz = alloca i16, align [filtered] + store i16 0, i16* %baz, align [filtered] %call = call i16 @foo(i16 1) - %baz_ret = load i16, i16* %baz, align 2 + %baz_ret = load i16, i16* %baz, align [filtered] ret i16 %baz_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unary_expressions_can_be_real.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unary_expressions_can_be_real.snap index 86debc2c1c..122d8d9d21 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unary_expressions_can_be_real.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unary_expressions_can_be_real.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,9 +15,9 @@ define void @prg(%prg* %0) { entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - store float -2.000000e+00, float* %b, align 4 - %load_b = load float, float* %b, align 4 + store float -2.000000e+00, float* %b, align [filtered] + %load_b = load float, float* %b, align [filtered] %tmpVar = fneg float %load_b - store float %tmpVar, float* %a, align 4 + store float %tmpVar, float* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unnecessary_casts_between_pointer_types.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unnecessary_casts_between_pointer_types.snap index f79941fd0f..782abd5f00 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unnecessary_casts_between_pointer_types.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__expression_tests__unnecessary_casts_between_pointer_types.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/expression_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,8 +17,8 @@ entry: %b = getelementptr inbounds %baz, %baz* %0, i32 0, i32 1 %si = getelementptr inbounds %baz, %baz* %0, i32 0, i32 2 %mb = getelementptr inbounds %baz, %baz* %0, i32 0, i32 3 - store i8* %b, i8** %ptr, align 8 - store i8* %si, i8** %ptr, align 8 - store i8* %mb, i8** %ptr, align 8 + store i8* %b, i8** %ptr, align [filtered] + store i8* %si, i8** %ptr, align [filtered] + store i8* %mb, i8** %ptr, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__argument_fed_by_ref_then_by_val.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__argument_fed_by_ref_then_by_val.snap index feada78fd2..8f9684c896 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__argument_fed_by_ref_then_by_val.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__argument_fed_by_ref_then_by_val.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,39 +9,39 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [5 x i32], align 4 + %main = alloca i32, align [filtered] + %arr = alloca [5 x i32], align [filtered] %0 = bitcast [5 x i32]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] %1 = bitcast [5 x i32]* %arr to i32* %call = call i32 @fn_by_ref(i32* %1) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @fn_by_ref(i32* %0) { entry: - %fn_by_ref = alloca i32, align 4 - %arg_by_ref = alloca i32*, align 8 - store i32* %0, i32** %arg_by_ref, align 8 - store i32 0, i32* %fn_by_ref, align 4 - %deref = load i32*, i32** %arg_by_ref, align 8 + %fn_by_ref = alloca i32, align [filtered] + %arg_by_ref = alloca i32*, align [filtered] + store i32* %0, i32** %arg_by_ref, align [filtered] + store i32 0, i32* %fn_by_ref, align [filtered] + %deref = load i32*, i32** %arg_by_ref, align [filtered] %call = call i32 @fn_by_val(i32* %deref) - %fn_by_ref_ret = load i32, i32* %fn_by_ref, align 4 + %fn_by_ref_ret = load i32, i32* %fn_by_ref, align [filtered] ret i32 %fn_by_ref_ret } define i32 @fn_by_val(i32* %0) { entry: - %fn_by_val = alloca i32, align 4 - %arg_by_val = alloca [5 x i32], align 4 + %fn_by_val = alloca i32, align [filtered] + %arg_by_val = alloca [5 x i32], align [filtered] %bitcast = bitcast [5 x i32]* %arg_by_val to i32* %1 = bitcast i32* %bitcast to i8* %2 = bitcast i32* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) - store i32 0, i32* %fn_by_val, align 4 - %fn_by_val_ret = load i32, i32* %fn_by_val, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) + store i32 0, i32* %fn_by_val, align [filtered] + %fn_by_val_ret = load i32, i32* %fn_by_val, align [filtered] ret i32 %fn_by_val_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__autocast_argument_literals_for_function_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__autocast_argument_literals_for_function_call.snap index 525fbc99b6..10a92e0d82 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__autocast_argument_literals_for_function_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__autocast_argument_literals_for_function_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,39 +13,39 @@ target triple = "[filtered]" define i32 @func(i8* %0, i16* %1, i32* %2, i64* %3, float* %4, double* %5) { entry: - %func = alloca i32, align 4 - %byInt1 = alloca i8*, align 8 - store i8* %0, i8** %byInt1, align 8 - %byInt2 = alloca i16*, align 8 - store i16* %1, i16** %byInt2, align 8 - %byInt3 = alloca i32*, align 8 - store i32* %2, i32** %byInt3, align 8 - %byInt4 = alloca i64*, align 8 - store i64* %3, i64** %byInt4, align 8 - %byReal1 = alloca float*, align 8 - store float* %4, float** %byReal1, align 8 - %byReal2 = alloca double*, align 8 - store double* %5, double** %byReal2, align 8 - store i32 0, i32* %func, align 4 - store i32 1, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + %func = alloca i32, align [filtered] + %byInt1 = alloca i8*, align [filtered] + store i8* %0, i8** %byInt1, align [filtered] + %byInt2 = alloca i16*, align [filtered] + store i16* %1, i16** %byInt2, align [filtered] + %byInt3 = alloca i32*, align [filtered] + store i32* %2, i32** %byInt3, align [filtered] + %byInt4 = alloca i64*, align [filtered] + store i64* %3, i64** %byInt4, align [filtered] + %byReal1 = alloca float*, align [filtered] + store float* %4, float** %byReal1, align [filtered] + %byReal2 = alloca double*, align [filtered] + store double* %5, double** %byReal2, align [filtered] + store i32 0, i32* %func, align [filtered] + store i32 1, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } define void @main(%main* %0) { entry: - %1 = alloca i8, align 1 - store i8 1, i8* %1, align 1 - %2 = alloca i16, align 2 - store i16 2, i16* %2, align 2 - %3 = alloca i32, align 4 - store i32 3, i32* %3, align 4 - %4 = alloca i64, align 8 - store i64 4, i64* %4, align 8 - %5 = alloca float, align 4 - store float 5.000000e+00, float* %5, align 4 - %6 = alloca double, align 8 - store double 6.000000e+00, double* %6, align 8 + %1 = alloca i8, align [filtered] + store i8 1, i8* %1, align [filtered] + %2 = alloca i16, align [filtered] + store i16 2, i16* %2, align [filtered] + %3 = alloca i32, align [filtered] + store i32 3, i32* %3, align [filtered] + %4 = alloca i64, align [filtered] + store i64 4, i64* %4, align [filtered] + %5 = alloca float, align [filtered] + store float 5.000000e+00, float* %5, align [filtered] + %6 = alloca double, align [filtered] + store double 6.000000e+00, double* %6, align [filtered] %call = call i32 @func(i8* %1, i16* %2, i32* %3, i64* %4, float* %5, double* %6) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__bitcast_argument_references_for_function_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__bitcast_argument_references_for_function_call.snap index 90a480f3f8..743dd15f88 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__bitcast_argument_references_for_function_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__bitcast_argument_references_for_function_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,49 +13,49 @@ target triple = "[filtered]" define i8 @fn_sint(i8* %0, i8* %1) { entry: - %fn_sint = alloca i8, align 1 - %in_ref = alloca i8*, align 8 - store i8* %0, i8** %in_ref, align 8 - %in_out = alloca i8*, align 8 - store i8* %1, i8** %in_out, align 8 - store i8 0, i8* %fn_sint, align 1 - %fn_sint_ret = load i8, i8* %fn_sint, align 1 + %fn_sint = alloca i8, align [filtered] + %in_ref = alloca i8*, align [filtered] + store i8* %0, i8** %in_ref, align [filtered] + %in_out = alloca i8*, align [filtered] + store i8* %1, i8** %in_out, align [filtered] + store i8 0, i8* %fn_sint, align [filtered] + %fn_sint_ret = load i8, i8* %fn_sint, align [filtered] ret i8 %fn_sint_ret } define i64 @fn_lint(i64* %0, i64* %1) { entry: - %fn_lint = alloca i64, align 8 - %in_ref = alloca i64*, align 8 - store i64* %0, i64** %in_ref, align 8 - %in_out = alloca i64*, align 8 - store i64* %1, i64** %in_out, align 8 - store i64 0, i64* %fn_lint, align 8 - %fn_lint_ret = load i64, i64* %fn_lint, align 8 + %fn_lint = alloca i64, align [filtered] + %in_ref = alloca i64*, align [filtered] + store i64* %0, i64** %in_ref, align [filtered] + %in_out = alloca i64*, align [filtered] + store i64* %1, i64** %in_out, align [filtered] + store i64 0, i64* %fn_lint, align [filtered] + %fn_lint_ret = load i64, i64* %fn_lint, align [filtered] ret i64 %fn_lint_ret } define i64 @fn_real(float* %0, float* %1) { entry: - %fn_real = alloca i64, align 8 - %in_ref = alloca float*, align 8 - store float* %0, float** %in_ref, align 8 - %in_out = alloca float*, align 8 - store float* %1, float** %in_out, align 8 - store i64 0, i64* %fn_real, align 8 - %fn_real_ret = load i64, i64* %fn_real, align 8 + %fn_real = alloca i64, align [filtered] + %in_ref = alloca float*, align [filtered] + store float* %0, float** %in_ref, align [filtered] + %in_out = alloca float*, align [filtered] + store float* %1, float** %in_out, align [filtered] + store i64 0, i64* %fn_real, align [filtered] + %fn_real_ret = load i64, i64* %fn_real, align [filtered] ret i64 %fn_real_ret } define i64 @fn_lreal(double* %0, double* %1) { entry: - %fn_lreal = alloca i64, align 8 - %in_ref = alloca double*, align 8 - store double* %0, double** %in_ref, align 8 - %in_out = alloca double*, align 8 - store double* %1, double** %in_out, align 8 - store i64 0, i64* %fn_lreal, align 8 - %fn_lreal_ret = load i64, i64* %fn_lreal, align 8 + %fn_lreal = alloca i64, align [filtered] + %in_ref = alloca double*, align [filtered] + store double* %0, double** %in_ref, align [filtered] + %in_out = alloca double*, align [filtered] + store double* %1, double** %in_out, align [filtered] + store i64 0, i64* %fn_lreal, align [filtered] + %fn_lreal_ret = load i64, i64* %fn_lreal, align [filtered] ret i64 %fn_lreal_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_call_with_array_access.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_call_with_array_access.snap index 0dec905aa7..9d9ae8f4a3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_call_with_array_access.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_call_with_array_access.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,25 +9,25 @@ target triple = "[filtered]" define void @foo(i32* %0) { entry: - %foo = alloca i32*, align 8 - store i32* %0, i32** %foo, align 8 - %deref = load i32*, i32** %foo, align 8 - store [5 x i32] [i32 5, i32 4, i32 3, i32 2, i32 1], i32* %deref, align 4 + %foo = alloca i32*, align [filtered] + store i32* %0, i32** %foo, align [filtered] + %deref = load i32*, i32** %foo, align [filtered] + store [5 x i32] [i32 5, i32 4, i32 3, i32 2, i32 1], i32* %deref, align [filtered] ret void } define void @main() { entry: - %value = alloca i32, align 4 - store i32 0, i32* %value, align 4 - %__foo0 = alloca [5 x i32], align 4 + %value = alloca i32, align [filtered] + store i32 0, i32* %value, align [filtered] + %__foo0 = alloca [5 x i32], align [filtered] %0 = bitcast [5 x i32]* %__foo0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([5 x i32]* getelementptr ([5 x i32], [5 x i32]* null, i32 1) to i64), i1 false) %1 = bitcast [5 x i32]* %__foo0 to i32* call void @foo(i32* %1) %tmpVar = getelementptr inbounds [5 x i32], [5 x i32]* %__foo0, i32 0, i32 2 - %load_tmpVar = load i32, i32* %tmpVar, align 4 - store i32 %load_tmpVar, i32* %value, align 4 + %load_tmpVar = load i32, i32* %tmpVar, align [filtered] + store i32 %load_tmpVar, i32* %value, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_ref_sized_string_varargs_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_ref_sized_string_varargs_called_in_program.snap index 1fa8f783e4..4c8efb7316 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_ref_sized_string_varargs_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_ref_sized_string_varargs_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -20,15 +19,15 @@ declare i32 @foo(i32, i8**) define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %1 = alloca [3 x i8*], align 8 + %1 = alloca [3 x i8*], align [filtered] %2 = getelementptr inbounds [3 x i8*], [3 x i8*]* %1, i32 0, i32 0 - store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0), i8** %2, align 8 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0), i8** %2, align [filtered] %3 = getelementptr inbounds [3 x i8*], [3 x i8*]* %1, i32 0, i32 1 - store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_1, i32 0, i32 0), i8** %3, align 8 + store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_1, i32 0, i32 0), i8** %3, align [filtered] %4 = getelementptr inbounds [3 x i8*], [3 x i8*]* %1, i32 0, i32 2 - store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @utf08_literal_2, i32 0, i32 0), i8** %4, align 8 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @utf08_literal_2, i32 0, i32 0), i8** %4, align [filtered] %5 = bitcast [3 x i8*]* %1 to i8** %call = call i32 @foo(i32 3, i8** %5) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_sized_varargs_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_sized_varargs_called_in_program.snap index 5d9d141964..2ec3f21c26 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_sized_varargs_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_sized_varargs_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,17 +16,17 @@ declare i32 @foo(i32, i32*) define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x, 1 - %1 = alloca [3 x i32], align 4 + %1 = alloca [3 x i32], align [filtered] %2 = getelementptr inbounds [3 x i32], [3 x i32]* %1, i32 0, i32 0 - store i32 0, i32* %2, align 4 + store i32 0, i32* %2, align [filtered] %3 = getelementptr inbounds [3 x i32], [3 x i32]* %1, i32 0, i32 1 - store i32 3, i32* %3, align 4 + store i32 3, i32* %3, align [filtered] %4 = getelementptr inbounds [3 x i32], [3 x i32]* %1, i32 0, i32 2 - store i32 %tmpVar, i32* %4, align 4 + store i32 %tmpVar, i32* %4, align [filtered] %5 = bitcast [3 x i32]* %1 to i32* %call = call i32 @foo(i32 3, i32* %5) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_varargs_called_in_program.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_varargs_called_in_program.snap index e470407064..5dbc266ee2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_varargs_called_in_program.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__function_with_varargs_called_in_program.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,9 +16,9 @@ declare i32 @foo(...) define void @prg(%prg* %0) { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %tmpVar = add i32 %load_x, 1 %call = call i32 (...) @foo(i1 false, i32 3, i32 %tmpVar) - store i32 %call, i32* %x, align 4 + store i32 %call, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__literal_string_argument_passed_by_ref.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__literal_string_argument_passed_by_ref.snap index 9e5bcb70fa..852452532d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__literal_string_argument_passed_by_ref.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__literal_string_argument_passed_by_ref.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,14 +17,14 @@ declare void @func(i8*, i8*) define void @main(%main* %0) { entry: %res = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %__func0 = alloca [81 x i8], align 1 + %__func0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__func0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__func0 to i8* call void @func(i8* %2, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0)) %3 = bitcast [81 x i8]* %res to i8* %4 = bitcast [81 x i8]* %__func0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__member_variables_in_body.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__member_variables_in_body.snap index 2f802f5e93..cef24617e9 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__member_variables_in_body.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__member_variables_in_body.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,37 +9,37 @@ target triple = "[filtered]" define i32 @func(i16 %0, i8* %1, i64* %2) { entry: - %func = alloca i32, align 4 - %i = alloca i16, align 2 - store i16 %0, i16* %i, align 2 - %io = alloca i8*, align 8 - store i8* %1, i8** %io, align 8 - %o = alloca i64*, align 8 - store i64* %2, i64** %o, align 8 - %v = alloca i16, align 2 - %vt = alloca i16, align 2 - store i16 1, i16* %v, align 2 - store i16 2, i16* %vt, align 2 - store i32 0, i32* %func, align 4 - %load_i = load i16, i16* %i, align 2 + %func = alloca i32, align [filtered] + %i = alloca i16, align [filtered] + store i16 %0, i16* %i, align [filtered] + %io = alloca i8*, align [filtered] + store i8* %1, i8** %io, align [filtered] + %o = alloca i64*, align [filtered] + store i64* %2, i64** %o, align [filtered] + %v = alloca i16, align [filtered] + %vt = alloca i16, align [filtered] + store i16 1, i16* %v, align [filtered] + store i16 2, i16* %vt, align [filtered] + store i32 0, i32* %func, align [filtered] + %load_i = load i16, i16* %i, align [filtered] %3 = sext i16 %load_i to i32 - %deref = load i8*, i8** %io, align 8 - %load_io = load i8, i8* %deref, align 1 + %deref = load i8*, i8** %io, align [filtered] + %load_io = load i8, i8* %deref, align [filtered] %4 = sext i8 %load_io to i32 %tmpVar = mul i32 %3, %4 %5 = sext i32 %tmpVar to i64 - %deref1 = load i64*, i64** %o, align 8 - %load_o = load i64, i64* %deref1, align 8 + %deref1 = load i64*, i64** %o, align [filtered] + %load_o = load i64, i64* %deref1, align [filtered] %tmpVar2 = sub i64 %5, %load_o - %load_v = load i16, i16* %v, align 2 + %load_v = load i16, i16* %v, align [filtered] %6 = sext i16 %load_v to i32 - %load_vt = load i16, i16* %vt, align 2 + %load_vt = load i16, i16* %vt, align [filtered] %7 = sext i16 %load_vt to i32 %tmpVar3 = mul i32 %6, %7 %8 = sext i32 %tmpVar3 to i64 %tmpVar4 = add i64 %tmpVar2, %8 %9 = trunc i64 %tmpVar4 to i32 - store i32 %9, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + store i32 %9, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__on_functions_var_output_should_be_passed_as_a_pointer.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__on_functions_var_output_should_be_passed_as_a_pointer.snap index e934c71356..3b4950a15d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__on_functions_var_output_should_be_passed_as_a_pointer.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__on_functions_var_output_should_be_passed_as_a_pointer.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,13 +9,13 @@ target triple = "[filtered]" define i32 @bump(i8* %0) { entry: - %bump = alloca i32, align 4 - %v = alloca i8*, align 8 - store i8* %0, i8** %v, align 8 - store i32 0, i32* %bump, align 4 - store i32 1, i32* %bump, align 4 - %deref = load i8*, i8** %v, align 8 - store i8 2, i8* %deref, align 1 - %bump_ret = load i32, i32* %bump, align 4 + %bump = alloca i32, align [filtered] + %v = alloca i8*, align [filtered] + store i8* %0, i8** %v, align [filtered] + store i32 0, i32* %bump, align [filtered] + store i32 1, i32* %bump, align [filtered] + %deref = load i8*, i8** %v, align [filtered] + store i8 2, i8* %deref, align [filtered] + %bump_ret = load i32, i32* %bump, align [filtered] ret i32 %bump_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function.snap index 21477f52bf..b3b6ddb3a0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,13 +14,13 @@ target triple = "[filtered]" define i32 @func(i8* %0) { entry: - %func = alloca i32, align 4 - %x = alloca [6 x i8], align 1 + %func = alloca i32, align [filtered] + %x = alloca [6 x i8], align [filtered] %bitcast = bitcast [6 x i8]* %x to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 6, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 5, i1 false) - store i32 0, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 5, i1 false) + store i32 0, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function_as_reference.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function_as_reference.snap index af0187d1e3..d373316fc9 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function_as_reference.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_a_string_to_a_function_as_reference.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,11 +14,11 @@ target triple = "[filtered]" define i32 @func(i8* %0) { entry: - %func = alloca i32, align 4 - %x = alloca i8*, align 8 - store i8* %0, i8** %x, align 8 - store i32 0, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + %func = alloca i32, align [filtered] + %x = alloca i8*, align [filtered] + store i8* %0, i8** %x, align [filtered] + store i32 0, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_arguments_to_functions_by_ref_and_val.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_arguments_to_functions_by_ref_and_val.snap index 65022ed504..12038d034d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_arguments_to_functions_by_ref_and_val.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__passing_arguments_to_functions_by_ref_and_val.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,39 +13,39 @@ target triple = "[filtered]" define i32 @func(i16* %0, i32* %1, i16 %2, i32 %3) { entry: - %func = alloca i32, align 4 - %byRef1 = alloca i16*, align 8 - store i16* %0, i16** %byRef1, align 8 - %byRef2 = alloca i32*, align 8 - store i32* %1, i32** %byRef2, align 8 - %byVal1 = alloca i16, align 2 - store i16 %2, i16* %byVal1, align 2 - %byVal2 = alloca i32, align 4 - store i32 %3, i32* %byVal2, align 4 - store i32 0, i32* %func, align 4 - %deref = load i16*, i16** %byRef1, align 8 - %load_byRef1 = load i16, i16* %deref, align 2 + %func = alloca i32, align [filtered] + %byRef1 = alloca i16*, align [filtered] + store i16* %0, i16** %byRef1, align [filtered] + %byRef2 = alloca i32*, align [filtered] + store i32* %1, i32** %byRef2, align [filtered] + %byVal1 = alloca i16, align [filtered] + store i16 %2, i16* %byVal1, align [filtered] + %byVal2 = alloca i32, align [filtered] + store i32 %3, i32* %byVal2, align [filtered] + store i32 0, i32* %func, align [filtered] + %deref = load i16*, i16** %byRef1, align [filtered] + %load_byRef1 = load i16, i16* %deref, align [filtered] %4 = sext i16 %load_byRef1 to i32 - %deref1 = load i32*, i32** %byRef2, align 8 - %load_byRef2 = load i32, i32* %deref1, align 4 + %deref1 = load i32*, i32** %byRef2, align [filtered] + %load_byRef2 = load i32, i32* %deref1, align [filtered] %tmpVar = mul i32 %4, %load_byRef2 - %load_byVal1 = load i16, i16* %byVal1, align 2 + %load_byVal1 = load i16, i16* %byVal1, align [filtered] %5 = sext i16 %load_byVal1 to i32 %tmpVar2 = mul i32 %tmpVar, %5 - %deref3 = load i32*, i32** %byRef2, align 8 - %load_byRef24 = load i32, i32* %deref3, align 4 + %deref3 = load i32*, i32** %byRef2, align [filtered] + %load_byRef24 = load i32, i32* %deref3, align [filtered] %tmpVar5 = mul i32 %tmpVar2, %load_byRef24 - store i32 %tmpVar5, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + store i32 %tmpVar5, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } define void @main(%main* %0) { entry: - %1 = alloca i16, align 2 - store i16 1, i16* %1, align 2 - %2 = alloca i32, align 4 - store i32 2, i32* %2, align 4 + %1 = alloca i16, align [filtered] + store i16 1, i16* %1, align [filtered] + %2 = alloca i32, align [filtered] + store i32 2, i32* %2, align [filtered] %call = call i32 @func(i16* %1, i32* %2, i16 3, i32 4) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__return_variable_in_nested_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__return_variable_in_nested_call.snap index fac468d1b3..bdea575f75 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__return_variable_in_nested_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__return_variable_in_nested_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: codegen(src) -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,25 +9,25 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x1 = alloca i32, align 4 - %x2 = alloca i32, align 4 - store i32 0, i32* %x1, align 4 - store i32 0, i32* %x2, align 4 - store i32 0, i32* %main, align 4 + %main = alloca i32, align [filtered] + %x1 = alloca i32, align [filtered] + %x2 = alloca i32, align [filtered] + store i32 0, i32* %x1, align [filtered] + store i32 0, i32* %x2, align [filtered] + store i32 0, i32* %main, align [filtered] %0 = ptrtoint i32* %main to i64 %call = call i32 @SMC_Read(i64 %0) - store i32 %call, i32* %x1, align 4 - %main_ret = load i32, i32* %main, align 4 + store i32 %call, i32* %x1, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @SMC_Read(i64 %0) { entry: - %SMC_Read = alloca i32, align 4 - %ValAddr = alloca i64, align 8 - store i64 %0, i64* %ValAddr, align 8 - store i32 0, i32* %SMC_Read, align 4 - %SMC_Read_ret = load i32, i32* %SMC_Read, align 4 + %SMC_Read = alloca i32, align [filtered] + %ValAddr = alloca i64, align [filtered] + store i64 %0, i64* %ValAddr, align [filtered] + store i32 0, i32* %SMC_Read, align [filtered] + %SMC_Read_ret = load i32, i32* %SMC_Read, align [filtered] ret i32 %SMC_Read_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__simple_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__simple_call.snap index 1e6ec2c6f9..909cbcffcf 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__simple_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__simple_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,21 +13,21 @@ target triple = "[filtered]" define i32 @func(i32 %0) { entry: - %func = alloca i32, align 4 - %x = alloca i32, align 4 - store i32 %0, i32* %x, align 4 - store i32 0, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + %func = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + store i32 %0, i32* %x, align [filtered] + store i32 0, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } define void @main(%main* %0) { entry: %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %load_a = load i32, i32* %a, align 4 + %load_a = load i32, i32* %a, align [filtered] %call = call i32 @func(i32 %load_a) %call1 = call i32 @func(i32 1) - %load_a2 = load i32, i32* %a, align 4 + %load_a2 = load i32, i32* %a, align [filtered] %tmpVar = add i32 1, %load_a2 %call3 = call i32 @func(i32 %tmpVar) ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__var_output_in_function_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__var_output_in_function_call.snap index 102eab2916..63cebac9b4 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__var_output_in_function_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__function_tests__var_output_in_function_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/function_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,14 +13,14 @@ target triple = "[filtered]" define i32 @func(i16* %0) { entry: - %func = alloca i32, align 4 - %o = alloca i16*, align 8 - store i16* %0, i16** %o, align 8 - store i32 0, i32* %func, align 4 - %deref = load i16*, i16** %o, align 8 - store i16 6, i16* %deref, align 2 - store i32 4, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + %func = alloca i32, align [filtered] + %o = alloca i16*, align [filtered] + store i16* %0, i16** %o, align [filtered] + store i32 0, i32* %func, align [filtered] + %deref = load i16*, i16** %o, align [filtered] + store i16 6, i16* %deref, align [filtered] + store i32 4, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__any_real_function_called_with_ints.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__any_real_function_called_with_ints.snap index 75db1b553c..98df689a5c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__any_real_function_called_with_ints.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__any_real_function_called_with_ints.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/generics_test.rs expression: codegen(src) -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,11 +13,11 @@ target triple = "[filtered]" define float @foo__REAL(float %0) { entry: - %foo__REAL = alloca float, align 4 - %in1 = alloca float, align 4 - store float %0, float* %in1, align 4 - store float 0.000000e+00, float* %foo__REAL, align 4 - %foo__REAL_ret = load float, float* %foo__REAL, align 4 + %foo__REAL = alloca float, align [filtered] + %in1 = alloca float, align [filtered] + store float %0, float* %in1, align [filtered] + store float 0.000000e+00, float* %foo__REAL, align [filtered] + %foo__REAL_ret = load float, float* %foo__REAL, align [filtered] ret float %foo__REAL_ret } @@ -32,30 +31,30 @@ entry: %res_uint = getelementptr inbounds %prg, %prg* %0, i32 0, i32 5 %res_udint = getelementptr inbounds %prg, %prg* %0, i32 0, i32 6 %res_ulint = getelementptr inbounds %prg, %prg* %0, i32 0, i32 7 - %v_dint = alloca i32, align 4 - %v_udint = alloca i32, align 4 - store i32 1, i32* %v_dint, align 4 - store i32 1, i32* %v_udint, align 4 + %v_dint = alloca i32, align [filtered] + %v_udint = alloca i32, align [filtered] + store i32 1, i32* %v_dint, align [filtered] + store i32 1, i32* %v_udint, align [filtered] %call = call float @foo__REAL(float 1.000000e+00) - store float %call, float* %res_sint, align 4 + store float %call, float* %res_sint, align [filtered] %call1 = call float @foo__REAL(float 1.000000e+00) - store float %call1, float* %res_int, align 4 - %load_v_dint = load i32, i32* %v_dint, align 4 + store float %call1, float* %res_int, align [filtered] + %load_v_dint = load i32, i32* %v_dint, align [filtered] %1 = sitofp i32 %load_v_dint to float %call2 = call float @foo__REAL(float %1) - store float %call2, float* %res_dint, align 4 + store float %call2, float* %res_dint, align [filtered] %call3 = call double @foo__LREAL(double 1.000000e+00) - store double %call3, double* %res_lint, align 8 + store double %call3, double* %res_lint, align [filtered] %call4 = call float @foo__REAL(float 1.000000e+00) - store float %call4, float* %res_usint, align 4 + store float %call4, float* %res_usint, align [filtered] %call5 = call float @foo__REAL(float 1.000000e+00) - store float %call5, float* %res_uint, align 4 - %load_v_udint = load i32, i32* %v_udint, align 4 + store float %call5, float* %res_uint, align [filtered] + %load_v_udint = load i32, i32* %v_udint, align [filtered] %2 = sitofp i32 %load_v_udint to float %call6 = call float @foo__REAL(float %2) - store float %call6, float* %res_udint, align 4 + store float %call6, float* %res_udint, align [filtered] %call7 = call double @foo__LREAL(double 1.000000e+00) - store double %call7, double* %res_ulint, align 8 + store double %call7, double* %res_ulint, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_call_gets_cast_to_biggest_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_call_gets_cast_to_biggest_type.snap index cb83c6d237..8fc170e882 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_call_gets_cast_to_biggest_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_call_gets_cast_to_biggest_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/generics_test.rs expression: codegen(src) -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,21 +9,21 @@ target triple = "[filtered]" define double @main() { entry: - %main = alloca double, align 8 - store double 0.000000e+00, double* %main, align 8 - %0 = alloca [4 x double], align 8 + %main = alloca double, align [filtered] + store double 0.000000e+00, double* %main, align [filtered] + %0 = alloca [4 x double], align [filtered] %1 = getelementptr inbounds [4 x double], [4 x double]* %0, i32 0, i32 0 - store double 5.000000e+00, double* %1, align 8 + store double 5.000000e+00, double* %1, align [filtered] %2 = getelementptr inbounds [4 x double], [4 x double]* %0, i32 0, i32 1 - store double 1.000000e+00, double* %2, align 8 + store double 1.000000e+00, double* %2, align [filtered] %3 = getelementptr inbounds [4 x double], [4 x double]* %0, i32 0, i32 2 - store double 1.500000e+00, double* %3, align 8 + store double 1.500000e+00, double* %3, align [filtered] %4 = getelementptr inbounds [4 x double], [4 x double]* %0, i32 0, i32 3 - store double 1.200000e+00, double* %4, align 8 + store double 1.200000e+00, double* %4, align [filtered] %5 = bitcast [4 x double]* %0 to double* %call = call double @MAX__LREAL(i32 4, double* %5) - store double %call, double* %main, align 8 - %main_ret = load double, double* %main, align 8 + store double %call, double* %main, align [filtered] + %main_ret = load double, double* %main, align [filtered] ret double %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_codegen_with_aggregate_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_codegen_with_aggregate_return.snap index 378dda5c86..d087f86077 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_codegen_with_aggregate_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_codegen_with_aggregate_return.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/generics_test.rs expression: prg -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,24 +11,24 @@ target triple = "[filtered]" define void @main(i8* %0) { entry: - %main = alloca i8*, align 8 - store i8* %0, i8** %main, align 8 - %l = alloca i32, align 4 - %p = alloca i32, align 4 - store i32 0, i32* %l, align 4 - store i32 0, i32* %p, align 4 - store i32 4, i32* %l, align 4 - store i32 6, i32* %p, align 4 - %__MID0 = alloca [81 x i8], align 1 + %main = alloca i8*, align [filtered] + store i8* %0, i8** %main, align [filtered] + %l = alloca i32, align [filtered] + %p = alloca i32, align [filtered] + store i32 0, i32* %l, align [filtered] + store i32 0, i32* %p, align [filtered] + store i32 4, i32* %l, align [filtered] + store i32 6, i32* %p, align [filtered] + %__MID0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__MID0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__MID0 to i8* - %load_l = load i32, i32* %l, align 4 - %load_p = load i32, i32* %p, align 4 + %load_l = load i32, i32* %l, align [filtered] + %load_p = load i32, i32* %p, align [filtered] call void @MID__STRING(i8* %2, i8* getelementptr inbounds ([212 x i8], [212 x i8]* @utf08_literal_0, i32 0, i32 0), i32 %load_l, i32 %load_p) - %deref = load i8*, i8** %main, align 8 + %deref = load i8*, i8** %main, align [filtered] %3 = bitcast [81 x i8]* %__MID0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 %3, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] %3, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_call_generates_real_type_call.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_call_generates_real_type_call.snap index a98d98700e..2c558de7d2 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_call_generates_real_type_call.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_call_generates_real_type_call.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/generics_test.rs expression: prg -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,13 +13,13 @@ target triple = "[filtered]" define i32 @MAX__DINT(i32 %0, i32 %1) { entry: - %MAX__DINT = alloca i32, align 4 - %in1 = alloca i32, align 4 - store i32 %0, i32* %in1, align 4 - %in2 = alloca i32, align 4 - store i32 %1, i32* %in2, align 4 - store i32 0, i32* %MAX__DINT, align 4 - %MAX__DINT_ret = load i32, i32* %MAX__DINT, align 4 + %MAX__DINT = alloca i32, align [filtered] + %in1 = alloca i32, align [filtered] + store i32 %0, i32* %in1, align [filtered] + %in2 = alloca i32, align [filtered] + store i32 %1, i32* %in2, align [filtered] + store i32 0, i32* %MAX__DINT, align [filtered] + %MAX__DINT_ret = load i32, i32* %MAX__DINT, align [filtered] ret i32 %MAX__DINT_ret } @@ -29,8 +28,8 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %call = call i32 @MAX__DINT(i32 1, i32 2) - %load_a = load i16, i16* %a, align 2 - %load_b = load i16, i16* %b, align 2 + %load_a = load i16, i16* %a, align [filtered] + %load_b = load i16, i16* %b, align [filtered] %call1 = call i16 @MAX__INT(i16 %load_a, i16 %load_b) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_with_aggregate_return.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_with_aggregate_return.snap index d197ef7cb1..96c79e163e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_with_aggregate_return.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_function_with_aggregate_return.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/generics_test.rs expression: codegen(src) -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,12 +13,12 @@ declare void @TO_STRING__WSTRING(i8*, i16*) define void @main() { entry: - %__TO_STRING0 = alloca [1025 x i8], align 1 + %__TO_STRING0 = alloca [1025 x i8], align [filtered] %0 = bitcast [1025 x i8]* %__TO_STRING0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([1025 x i8]* getelementptr ([1025 x i8], [1025 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([1025 x i8]* getelementptr ([1025 x i8], [1025 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [1025 x i8]* %__TO_STRING0 to i8* call void @TO_STRING__WSTRING(i8* %1, i16* getelementptr inbounds ([6 x i16], [6 x i16]* @utf16_literal_0, i32 0, i32 0)) - %load___TO_STRING0 = load [1025 x i8], [1025 x i8]* %__TO_STRING0, align 1 + %load___TO_STRING0 = load [1025 x i8], [1025 x i8]* %__TO_STRING0, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_output_parameter.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_output_parameter.snap index ebf73b64db..4c8c5c02b1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_output_parameter.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__generics_test__generic_output_parameter.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/generics_test.rs expression: codegen(src) -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,13 +13,13 @@ target triple = "[filtered]" define i16 @foo__INT(i64 %0, i16* %1) { entry: - %foo__INT = alloca i16, align 2 - %in1 = alloca i64, align 8 - store i64 %0, i64* %in1, align 8 - %out1 = alloca i16*, align 8 - store i16* %1, i16** %out1, align 8 - store i16 0, i16* %foo__INT, align 2 - %foo__INT_ret = load i16, i16* %foo__INT, align 2 + %foo__INT = alloca i16, align [filtered] + %in1 = alloca i64, align [filtered] + store i64 %0, i64* %in1, align [filtered] + %out1 = alloca i16*, align [filtered] + store i16* %1, i16** %out1, align [filtered] + store i16 0, i16* %foo__INT, align [filtered] + %foo__INT_ret = load i16, i16* %foo__INT, align [filtered] ret i16 %foo__INT_ret } @@ -29,8 +28,8 @@ entry: %theInt = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %iResult = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %data = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_data = load i64, i64* %data, align 8 + %load_data = load i64, i64* %data, align [filtered] %call = call i16 @foo__INT(i64 %load_data, i16* %theInt) - store i16 %call, i16* %iResult, align 2 + store i16 %call, i16* %iResult, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__enum_referenced_in_fb_nested.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__enum_referenced_in_fb_nested.snap index 27d6d9e1ea..57eba87a1f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__enum_referenced_in_fb_nested.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__enum_referenced_in_fb_nested.snap @@ -22,8 +22,8 @@ target triple = "[filtered]" define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] %x = getelementptr inbounds %fb, %fb* %0, i32 0, i32 0 ret void } @@ -56,8 +56,8 @@ target triple = "[filtered]" define void @fb2(%fb2* %0) { entry: - %this = alloca %fb2*, align 8 - store %fb2* %0, %fb2** %this, align 8 + %this = alloca %fb2*, align [filtered] + store %fb2* %0, %fb2** %this, align [filtered] %x = getelementptr inbounds %fb2, %fb2* %0, i32 0, i32 0 ret void } @@ -75,7 +75,7 @@ target triple = "[filtered]" define void @fb3(%fb3* %0) { entry: - %this = alloca %fb3*, align 8 - store %fb3* %0, %fb3** %this, align 8 + %this = alloca %fb3*, align [filtered] + store %fb3* %0, %fb3** %this, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__function_defined_in_external_file.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__function_defined_in_external_file.snap index 4cceb85d29..86b9d526ca 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__function_defined_in_external_file.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__function_defined_in_external_file.snap @@ -9,9 +9,9 @@ target triple = "[filtered]" define i32 @func() { entry: - %func = alloca i32, align 4 - store i32 0, i32* %func, align 4 - %func_ret = load i32, i32* %func, align 4 + %func = alloca i32, align [filtered] + store i32 0, i32* %func, align [filtered] + %func_ret = load i32, i32* %func, align [filtered] ret i32 %func_ret } @@ -26,8 +26,8 @@ target triple = "[filtered]" define void @fb(%fb* %0) { entry: - %this = alloca %fb*, align 8 - store %fb* %0, %fb** %this, align 8 + %this = alloca %fb*, align [filtered] + store %fb* %0, %fb** %this, align [filtered] ret void } @@ -79,7 +79,7 @@ target triple = "[filtered]" define void @prog(%prog* %0) { entry: %myFb = getelementptr inbounds %prog, %prog* %0, i32 0, i32 0 - %load_a = load i32, i32* getelementptr inbounds (%prg.5, %prg.5* @prg_instance, i32 0, i32 0), align 4 + %load_a = load i32, i32* getelementptr inbounds (%prg.5, %prg.5* @prg_instance, i32 0, i32 0), align [filtered] call void @prg2(%prg2.6* @prg2_instance) %call = call i32 @func() call void @fb(%fb.4* %myFb) diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__global_value_from_different_file.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__global_value_from_different_file.snap index 283683de58..167fd89937 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__global_value_from_different_file.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__multifile_codegen_tests__global_value_from_different_file.snap @@ -34,6 +34,6 @@ target triple = "[filtered]" define void @prog(%prog* %0) { entry: - store i32 7, i32* @x, align 4 + store i32 7, i32* @x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_input_param.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_input_param.snap index 99a636d224..c8765dbcc7 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_input_param.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_input_param.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @fb_t(%fb_t* %0) { entry: - %this = alloca %fb_t*, align 8 - store %fb_t* %0, %fb_t** %this, align 8 + %this = alloca %fb_t*, align [filtered] + store %fb_t* %0, %fb_t** %this, align [filtered] %in1 = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 0 %in2 = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 1 ret void @@ -26,7 +26,7 @@ define void @main(%main* %0) { entry: %fb = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %1 = getelementptr inbounds %fb_t, %fb_t* %fb, i32 0, i32 0 - store i32 1, i32* %1, align 4 + store i32 1, i32* %1, align [filtered] call void @fb_t(%fb_t* %fb) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_output_param.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_output_param.snap index d45989586b..c8173acfd1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_output_param.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__fb_accepts_empty_statement_as_output_param.snap @@ -15,8 +15,8 @@ target triple = "[filtered]" define void @fb_t(%fb_t* %0) { entry: - %this = alloca %fb_t*, align 8 - store %fb_t* %0, %fb_t** %this, align 8 + %this = alloca %fb_t*, align [filtered] + store %fb_t* %0, %fb_t** %this, align [filtered] %out1 = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 0 %out2 = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 1 ret void @@ -28,7 +28,7 @@ entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 1 call void @fb_t(%fb_t* %fb) %1 = getelementptr inbounds %fb_t, %fb_t* %fb, i32 0, i32 0 - %2 = load i32, i32* %1, align 4 - store i32 %2, i32* %x, align 4 + %2 = load i32, i32* %1, align [filtered] + store i32 %2, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_input_param.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_input_param.snap index 996c6c2162..7bd00e06d6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_input_param.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_input_param.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,17 +13,17 @@ target triple = "[filtered]" define void @foo(i32 %0, i32 %1) { entry: - %in1 = alloca i32, align 4 - store i32 %0, i32* %in1, align 4 - %in2 = alloca i32, align 4 - store i32 %1, i32* %in2, align 4 + %in1 = alloca i32, align [filtered] + store i32 %0, i32* %in1, align [filtered] + %in2 = alloca i32, align [filtered] + store i32 %1, i32* %in2, align [filtered] ret void } define void @main(%main* %0) { entry: - %1 = alloca i32, align 4 - %2 = load i32, i32* %1, align 4 + %1 = alloca i32, align [filtered] + %2 = load i32, i32* %1, align [filtered] call void @foo(i32 1, i32 %2) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_output_param.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_output_param.snap index 2050373d0b..8a3f7b7e90 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_output_param.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_accepts_empty_statement_as_output_param.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,17 +13,17 @@ target triple = "[filtered]" define void @foo(i32* %0, i32* %1) { entry: - %out1 = alloca i32*, align 8 - store i32* %0, i32** %out1, align 8 - %out2 = alloca i32*, align 8 - store i32* %1, i32** %out2, align 8 + %out1 = alloca i32*, align [filtered] + store i32* %0, i32** %out1, align [filtered] + %out2 = alloca i32*, align [filtered] + store i32* %1, i32** %out2, align [filtered] ret void } define void @main(%main* %0) { entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %1 = alloca i32, align 4 + %1 = alloca i32, align [filtered] call void @foo(i32* %x, i32* %1) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_all_parameters_assigned.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_all_parameters_assigned.snap index 21551b4f2d..c76895b8ba 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_all_parameters_assigned.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_all_parameters_assigned.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,11 +30,11 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %var2, i32* %var3) - %load_var11 = load i32, i32* %var1, align 4 + %load_var11 = load i32, i32* %var1, align [filtered] %call2 = call i32 @foo(i32 %load_var11, i32* %var2, i32* %var3) - %load_var13 = load i32, i32* %var1, align 4 + %load_var13 = load i32, i32* %var1, align [filtered] %call4 = call i32 @foo(i32 %load_var13, i32* %var2, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_default_value_parameter_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_default_value_parameter_type.snap index e2a53ca670..619f245d5f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_default_value_parameter_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_default_value_parameter_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,17 +13,17 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2, i32* %3) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %output2 = alloca i32*, align 8 - store i32* %2, i32** %output2, align 8 - %inout1 = alloca i32*, align 8 - store i32* %3, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %output2 = alloca i32*, align [filtered] + store i32* %2, i32** %output2, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %3, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -33,10 +32,10 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %1 = alloca i32, align 4 - store i32 20, i32* %1, align 4 - %2 = alloca i32, align 4 - store i32 20, i32* %2, align 4 + %1 = alloca i32, align [filtered] + store i32 20, i32* %1, align [filtered] + %2 = alloca i32, align [filtered] + store i32 20, i32* %2, align [filtered] %call = call i32 @foo(i32 20, i32* %2, i32* %1, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_inout_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_inout_assignment.snap index 44be2ae990..e9d394a580 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_inout_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_inout_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,8 +30,8 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - %1 = alloca i32, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] + %1 = alloca i32, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %var2, i32* %1) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_input_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_input_assignment.snap index 6d0ed49d4b..daefcf2180 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_input_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_input_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,8 +30,8 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %1 = alloca i32, align 4 - %2 = load i32, i32* %1, align 4 + %1 = alloca i32, align [filtered] + %2 = load i32, i32* %1, align [filtered] %call = call i32 @foo(i32 %2, i32* %var2, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_assignment.snap index 7d28ee1b65..e5e8ad6767 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,8 +30,8 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - %1 = alloca i32, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] + %1 = alloca i32, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %1, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_default_value_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_default_value_assignment.snap index d708f1bac8..579a7bc8c3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_default_value_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_empty_output_default_value_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,9 +30,9 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - %1 = alloca i32, align 4 - store i32 3, i32* %1, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] + %1 = alloca i32, align [filtered] + store i32 3, i32* %1, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %1, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_inout_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_inout_assignment.snap index 44be2ae990..e9d394a580 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_inout_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_inout_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,8 +30,8 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - %1 = alloca i32, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] + %1 = alloca i32, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %var2, i32* %1) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_assignment.snap index 6d0ed49d4b..daefcf2180 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,8 +30,8 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %1 = alloca i32, align 4 - %2 = load i32, i32* %1, align 4 + %1 = alloca i32, align [filtered] + %2 = load i32, i32* %1, align [filtered] %call = call i32 @foo(i32 %2, i32* %var2, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_default_value_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_default_value_assignment.snap index e9d3e257f2..a2821c59e4 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_default_value_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_input_default_value_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_assignment.snap index 7d28ee1b65..e5e8ad6767 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,8 +30,8 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - %1 = alloca i32, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] + %1 = alloca i32, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %1, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_default_value_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_default_value_assignment.snap index d708f1bac8..579a7bc8c3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_default_value_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__function_missing_output_default_value_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,15 +13,15 @@ target triple = "[filtered]" define i32 @foo(i32 %0, i32* %1, i32* %2) { entry: - %foo = alloca i32, align 4 - %input1 = alloca i32, align 4 - store i32 %0, i32* %input1, align 4 - %output1 = alloca i32*, align 8 - store i32* %1, i32** %output1, align 8 - %inout1 = alloca i32*, align 8 - store i32* %2, i32** %inout1, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %input1 = alloca i32, align [filtered] + store i32 %0, i32* %input1, align [filtered] + %output1 = alloca i32*, align [filtered] + store i32* %1, i32** %output1, align [filtered] + %inout1 = alloca i32*, align [filtered] + store i32* %2, i32** %inout1, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -31,9 +30,9 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - %1 = alloca i32, align 4 - store i32 3, i32* %1, align 4 + %load_var1 = load i32, i32* %var1, align [filtered] + %1 = alloca i32, align [filtered] + store i32 3, i32* %1, align [filtered] %call = call i32 @foo(i32 %load_var1, i32* %1, i32* %var3) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__parameters_behind_function_block_pointer_are_assigned_to.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__parameters_behind_function_block_pointer_are_assigned_to.snap index 51152f767a..bb1f05fc7e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__parameters_behind_function_block_pointer_are_assigned_to.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__parameters_behind_function_block_pointer_are_assigned_to.snap @@ -17,18 +17,18 @@ define void @main(%main* %0) { entry: %file = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %FileOpen = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - store %file_t* %file, %file_t** %FileOpen, align 8 - %deref = load %file_t*, %file_t** %FileOpen, align 8 + store %file_t* %file, %file_t** %FileOpen, align [filtered] + %deref = load %file_t*, %file_t** %FileOpen, align [filtered] %1 = getelementptr inbounds %file_t, %file_t* %deref, i32 0, i32 1 - store i8 1, i8* %1, align 1 + store i8 1, i8* %1, align [filtered] call void @file_t(%file_t* %deref) ret void } define void @file_t(%file_t* %0) { entry: - %this = alloca %file_t*, align 8 - store %file_t* %0, %file_t** %this, align 8 + %this = alloca %file_t*, align [filtered] + store %file_t* %0, %file_t** %this, align [filtered] %var1 = getelementptr inbounds %file_t, %file_t* %0, i32 0, i32 0 %var2 = getelementptr inbounds %file_t, %file_t* %0, i32 0, i32 1 ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_input_param.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_input_param.snap index b5aa9e86e2..7a8331bba5 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_input_param.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_input_param.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -23,7 +22,7 @@ entry: define void @main(%main* %0) { entry: - store i32 1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 + store i32 1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] call void @prog(%prog* @prog_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_output_param.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_output_param.snap index bb95e0d9c9..9b7c94306a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_output_param.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_accepts_empty_statement_as_output_param.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,8 +17,8 @@ define void @prog(%prog* %0) { entry: %out1 = getelementptr inbounds %prog, %prog* %0, i32 0, i32 0 %out2 = getelementptr inbounds %prog, %prog* %0, i32 0, i32 1 - store i32 1, i32* %out1, align 4 - store i32 2, i32* %out2, align 4 + store i32 1, i32* %out1, align [filtered] + store i32 2, i32* %out2, align [filtered] ret void } @@ -27,7 +26,7 @@ define void @main(%main* %0) { entry: %x = getelementptr inbounds %main, %main* %0, i32 0, i32 0 call void @prog(%prog* @prog_instance) - %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 - store i32 %1, i32* %x, align 4 + %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + store i32 %1, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_explicit.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_explicit.snap index b8f45d9250..9e0754db19 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_explicit.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_explicit.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -27,17 +26,17 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 - store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align 8 + %load_var1 = load i32, i32* %var1, align [filtered] + store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align [filtered] call void @prog(%prog* @prog_instance) - %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 4 - store i32 %1, i32* %var2, align 4 - store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align 8 - %load_var11 = load i32, i32* %var1, align 4 - store i32 %load_var11, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 + %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] + store i32 %1, i32* %var2, align [filtered] + store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align [filtered] + %load_var11 = load i32, i32* %var1, align [filtered] + store i32 %load_var11, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] call void @prog(%prog* @prog_instance) - %2 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 4 - store i32 %2, i32* %var2, align 4 + %2 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] + store i32 %2, i32* %var2, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_implicit.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_implicit.snap index 563aabc17e..3f7ff1f65b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_implicit.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_all_parameters_assigned_implicit.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -27,11 +26,11 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 - store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align 8 + %load_var1 = load i32, i32* %var1, align [filtered] + store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align [filtered] call void @prog(%prog* @prog_instance) - %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 4 - store i32 %1, i32* %var2, align 4 + %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] + store i32 %1, i32* %var2, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_empty_inout_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_empty_inout_assignment.snap index 69741f706a..1acb3e1999 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_empty_inout_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_empty_inout_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -27,12 +26,12 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 - %empty_varinout = alloca i32, align 4 - store i32* %empty_varinout, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align 8 + %load_var1 = load i32, i32* %var1, align [filtered] + store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + %empty_varinout = alloca i32, align [filtered] + store i32* %empty_varinout, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align [filtered] call void @prog(%prog* @prog_instance) - %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 4 - store i32 %1, i32* %var2, align 4 + %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] + store i32 %1, i32* %var2, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_input_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_input_assignment.snap index 0382383b7d..4c698a5150 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_input_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_input_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -27,9 +26,9 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align 8 + store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align [filtered] call void @prog(%prog* @prog_instance) - %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align 4 - store i32 %1, i32* %var2, align 4 + %1 = load i32, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1), align [filtered] + store i32 %1, i32* %var2, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_output_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_output_assignment.snap index 6993817fdb..ccc6591462 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_output_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__program_missing_output_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/parameters_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -27,9 +26,9 @@ entry: %var1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %var2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %var3 = getelementptr inbounds %main, %main* %0, i32 0, i32 2 - %load_var1 = load i32, i32* %var1, align 4 - store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align 4 - store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align 8 + %load_var1 = load i32, i32* %var1, align [filtered] + store i32 %load_var1, i32* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0), align [filtered] + store i32* %var3, i32** getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 2), align [filtered] call void @prog(%prog* @prog_instance) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__var_in_out_params_can_be_out_of_order.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__var_in_out_params_can_be_out_of_order.snap index 7bbe91b29a..53e107af55 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__var_in_out_params_can_be_out_of_order.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__parameters_tests__var_in_out_params_can_be_out_of_order.snap @@ -19,28 +19,28 @@ entry: %out1 = getelementptr inbounds %mainProg, %mainProg* %0, i32 0, i32 1 %out2 = getelementptr inbounds %mainProg, %mainProg* %0, i32 0, i32 2 %1 = getelementptr inbounds %fb_t, %fb_t* %fb, i32 0, i32 4 - store i8* %out1, i8** %1, align 8 + store i8* %out1, i8** %1, align [filtered] %2 = getelementptr inbounds %fb_t, %fb_t* %fb, i32 0, i32 2 - store i8* %out2, i8** %2, align 8 + store i8* %out2, i8** %2, align [filtered] call void @fb_t(%fb_t* %fb) %3 = getelementptr inbounds %fb_t, %fb_t* %fb, i32 0, i32 2 - store i8* %out1, i8** %3, align 8 + store i8* %out1, i8** %3, align [filtered] %4 = getelementptr inbounds %fb_t, %fb_t* %fb, i32 0, i32 4 - store i8* %out2, i8** %4, align 8 + store i8* %out2, i8** %4, align [filtered] call void @fb_t(%fb_t* %fb) - %load_out2 = load i8, i8* %out2, align 1 - %load_out1 = load i8, i8* %out1, align 1 + %load_out2 = load i8, i8* %out2, align [filtered] + %load_out1 = load i8, i8* %out1, align [filtered] call void @fb_t__foo(%fb_t* %fb) - %load_out21 = load i8, i8* %out2, align 1 - %load_out12 = load i8, i8* %out1, align 1 + %load_out21 = load i8, i8* %out2, align [filtered] + %load_out12 = load i8, i8* %out1, align [filtered] call void @fb_t__foo(%fb_t* %fb) ret void } define void @fb_t(%fb_t* %0) { entry: - %this = alloca %fb_t*, align 8 - store %fb_t* %0, %fb_t** %this, align 8 + %this = alloca %fb_t*, align [filtered] + store %fb_t* %0, %fb_t** %this, align [filtered] %myVar = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 0 %myInput = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 1 %myInOut = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 2 @@ -51,16 +51,16 @@ entry: define void @fb_t__foo(%fb_t* %0) { entry: - %this = alloca %fb_t*, align 8 - store %fb_t* %0, %fb_t** %this, align 8 + %this = alloca %fb_t*, align [filtered] + store %fb_t* %0, %fb_t** %this, align [filtered] %myVar = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 0 %myInput = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 1 %myInOut = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 2 %myOut = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 3 %myOtherInOut = getelementptr inbounds %fb_t, %fb_t* %0, i32 0, i32 4 - %deref = load i8*, i8** %myInOut, align 8 - %deref1 = load i8*, i8** %myOtherInOut, align 8 - %load_myOtherInOut = load i8, i8* %deref1, align 1 - store i8 %load_myOtherInOut, i8* %deref, align 1 + %deref = load i8*, i8** %myInOut, align [filtered] + %deref1 = load i8*, i8** %myOtherInOut, align [filtered] + %load_myOtherInOut = load i8, i8* %deref1, align [filtered] + store i8 %load_myOtherInOut, i8* %deref, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__bitaccess_generated_as_rsh_and_trunc_i1.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__bitaccess_generated_as_rsh_and_trunc_i1.snap index a1721ecb4d..7311175399 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__bitaccess_generated_as_rsh_and_trunc_i1.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__bitaccess_generated_as_rsh_and_trunc_i1.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,15 +16,15 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %shift = lshr i32 %load_x, 2 %1 = trunc i32 %shift to i8 %2 = and i8 %1, 1 - store i8 %2, i8* %a, align 1 - %load_y = load i32, i32* %y, align 4 + store i8 %2, i8* %a, align [filtered] + %load_y = load i32, i32* %y, align [filtered] %shift1 = ashr i32 %load_y, 4 %3 = trunc i32 %shift1 to i8 %4 = and i8 %3, 1 - store i8 %4, i8* %a, align 1 + store i8 %4, i8* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__byteaccess_generated_as_rsh_and_trunc_i8.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__byteaccess_generated_as_rsh_and_trunc_i8.snap index 8d8d7b33e7..7cf7d12bfe 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__byteaccess_generated_as_rsh_and_trunc_i8.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__byteaccess_generated_as_rsh_and_trunc_i8.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,17 +16,17 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %shift = lshr i32 %load_x, 0 %1 = trunc i32 %shift to i8 - store i8 %1, i8* %a, align 1 - %load_x1 = load i32, i32* %x, align 4 + store i8 %1, i8* %a, align [filtered] + %load_x1 = load i32, i32* %x, align [filtered] %shift2 = lshr i32 %load_x1, 8 %2 = trunc i32 %shift2 to i8 - store i8 %2, i8* %a, align 1 - %load_y = load i32, i32* %y, align 4 + store i8 %2, i8* %a, align [filtered] + %load_y = load i32, i32* %y, align [filtered] %shift3 = ashr i32 %load_y, 24 %3 = trunc i32 %shift3 to i8 - store i8 %3, i8* %a, align 1 + store i8 %3, i8* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__dwordaccess_generated_as_rsh_and_trunc_i32.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__dwordaccess_generated_as_rsh_and_trunc_i32.snap index 41d653b221..ea9708792c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__dwordaccess_generated_as_rsh_and_trunc_i32.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__dwordaccess_generated_as_rsh_and_trunc_i32.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,17 +16,17 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_x = load i64, i64* %x, align 8 + %load_x = load i64, i64* %x, align [filtered] %shift = lshr i64 %load_x, 0 %1 = trunc i64 %shift to i32 - store i32 %1, i32* %a, align 4 - %load_x1 = load i64, i64* %x, align 8 + store i32 %1, i32* %a, align [filtered] + %load_x1 = load i64, i64* %x, align [filtered] %shift2 = lshr i64 %load_x1, 32 %2 = trunc i64 %shift2 to i32 - store i32 %2, i32* %a, align 4 - %load_y = load i64, i64* %y, align 8 + store i32 %2, i32* %a, align [filtered] + %load_y = load i64, i64* %y, align [filtered] %shift3 = ashr i64 %load_y, 32 %3 = trunc i64 %shift3 to i32 - store i32 %3, i32* %a, align 4 + store i32 %3, i32* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__floating_point_type_casting.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__floating_point_type_casting.snap index 6cd27b6247..7084bff300 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__floating_point_type_casting.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__floating_point_type_casting.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -10,26 +9,26 @@ target triple = "[filtered]" define i32 @fn() { entry: - %fn = alloca i32, align 4 - %a = alloca float, align 4 - %b = alloca float, align 4 - %c = alloca float, align 4 - %d = alloca double, align 8 - %e = alloca double, align 8 - %f = alloca double, align 8 - store float 3.000000e+00, float* %a, align 4 - store float 3.500000e+00, float* %b, align 4 - store float 3.500000e+00, float* %c, align 4 - store double 3.000000e+00, double* %d, align 8 - store double 3.500000e+00, double* %e, align 8 - store double 3.500000e+00, double* %f, align 8 - store i32 0, i32* %fn, align 4 - store float 3.000000e+00, float* %a, align 4 - store float 3.500000e+00, float* %b, align 4 - store float 3.500000e+00, float* %c, align 4 - store double 3.000000e+00, double* %d, align 8 - store double 3.500000e+00, double* %e, align 8 - store double 3.500000e+00, double* %f, align 8 - %fn_ret = load i32, i32* %fn, align 4 + %fn = alloca i32, align [filtered] + %a = alloca float, align [filtered] + %b = alloca float, align [filtered] + %c = alloca float, align [filtered] + %d = alloca double, align [filtered] + %e = alloca double, align [filtered] + %f = alloca double, align [filtered] + store float 3.000000e+00, float* %a, align [filtered] + store float 3.500000e+00, float* %b, align [filtered] + store float 3.500000e+00, float* %c, align [filtered] + store double 3.000000e+00, double* %d, align [filtered] + store double 3.500000e+00, double* %e, align [filtered] + store double 3.500000e+00, double* %f, align [filtered] + store i32 0, i32* %fn, align [filtered] + store float 3.000000e+00, float* %a, align [filtered] + store float 3.500000e+00, float* %b, align [filtered] + store float 3.500000e+00, float* %c, align [filtered] + store double 3.000000e+00, double* %d, align [filtered] + store double 3.500000e+00, double* %e, align [filtered] + store double 3.500000e+00, double* %f, align [filtered] + %fn_ret = load i32, i32* %fn, align [filtered] ret i32 %fn_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_aliased_string.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_aliased_string.snap index b09d8adf8c..10f085d50f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_aliased_string.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_aliased_string.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,27 +11,27 @@ declare void @CONCAT(i8*, i8*, i8*) define i8 @LIST_ADD(i8* %0, i8* %1) { entry: - %LIST_ADD = alloca i8, align 1 - %INS = alloca [1001 x i8], align 1 + %LIST_ADD = alloca i8, align [filtered] + %INS = alloca [1001 x i8], align [filtered] %bitcast = bitcast [1001 x i8]* %INS to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1001, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1000, i1 false) - %sx = alloca [2 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1001, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1000, i1 false) + %sx = alloca [2 x i8], align [filtered] %bitcast1 = bitcast [2 x i8]* %sx to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 2, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1, i1 false) - store i8 0, i8* %LIST_ADD, align 1 - %__CONCAT0 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 2, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1, i1 false) + store i8 0, i8* %LIST_ADD, align [filtered] + %__CONCAT0 = alloca [1025 x i8], align [filtered] %2 = bitcast [1025 x i8]* %__CONCAT0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([1025 x i8]* getelementptr ([1025 x i8], [1025 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([1025 x i8]* getelementptr ([1025 x i8], [1025 x i8]* null, i32 1) to i64), i1 false) %3 = bitcast [1025 x i8]* %__CONCAT0 to i8* %4 = bitcast [2 x i8]* %sx to i8* %5 = bitcast [1001 x i8]* %INS to i8* call void @CONCAT(i8* %3, i8* %4, i8* %5) %6 = bitcast [1001 x i8]* %INS to i8* %7 = bitcast [1025 x i8]* %__CONCAT0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %6, i8* align 1 %7, i32 1000, i1 false) - %LIST_ADD_ret = load i8, i8* %LIST_ADD, align 1 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %6, i8* align [filtered] %7, i32 1000, i1 false) + %LIST_ADD_ret = load i8, i8* %LIST_ADD, align [filtered] ret i8 %LIST_ADD_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_string.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_string.snap index b09d8adf8c..10f085d50f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_string.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__function_result_assignment_on_string.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -12,27 +11,27 @@ declare void @CONCAT(i8*, i8*, i8*) define i8 @LIST_ADD(i8* %0, i8* %1) { entry: - %LIST_ADD = alloca i8, align 1 - %INS = alloca [1001 x i8], align 1 + %LIST_ADD = alloca i8, align [filtered] + %INS = alloca [1001 x i8], align [filtered] %bitcast = bitcast [1001 x i8]* %INS to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1001, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1000, i1 false) - %sx = alloca [2 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1001, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1000, i1 false) + %sx = alloca [2 x i8], align [filtered] %bitcast1 = bitcast [2 x i8]* %sx to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 2, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1, i1 false) - store i8 0, i8* %LIST_ADD, align 1 - %__CONCAT0 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 2, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1, i1 false) + store i8 0, i8* %LIST_ADD, align [filtered] + %__CONCAT0 = alloca [1025 x i8], align [filtered] %2 = bitcast [1025 x i8]* %__CONCAT0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([1025 x i8]* getelementptr ([1025 x i8], [1025 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([1025 x i8]* getelementptr ([1025 x i8], [1025 x i8]* null, i32 1) to i64), i1 false) %3 = bitcast [1025 x i8]* %__CONCAT0 to i8* %4 = bitcast [2 x i8]* %sx to i8* %5 = bitcast [1001 x i8]* %INS to i8* call void @CONCAT(i8* %3, i8* %4, i8* %5) %6 = bitcast [1001 x i8]* %INS to i8* %7 = bitcast [1025 x i8]* %__CONCAT0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %6, i8* align 1 %7, i32 1000, i1 false) - %LIST_ADD_ret = load i8, i8* %LIST_ADD, align 1 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %6, i8* align [filtered] %7, i32 1000, i1 false) + %LIST_ADD_ret = load i8, i8* %LIST_ADD, align [filtered] ret i8 %LIST_ADD_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__nested_bitwise_access.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__nested_bitwise_access.snap index 17cd18851d..11c001017b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__nested_bitwise_access.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__nested_bitwise_access.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ define void @prg(%prg* %0) { entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i64, i64* %x, align 8 + %load_x = load i64, i64* %x, align [filtered] %shift = lshr i64 %load_x, 32 %1 = trunc i64 %shift to i32 %shift1 = lshr i32 %1, 16 @@ -25,6 +24,6 @@ entry: %3 = trunc i16 %shift2 to i8 %shift3 = lshr i8 %3, 1 %4 = and i8 %shift3, 1 - store i8 %4, i8* %a, align 1 + store i8 %4, i8* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__variable_based_bitwise_access.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__variable_based_bitwise_access.snap index 67d8d31730..6a41867d5c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__variable_based_bitwise_access.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__variable_based_bitwise_access.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,17 +17,17 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 - %load_x = load i16, i16* %x, align 2 - %load_y = load i16, i16* %y, align 2 + %load_x = load i16, i16* %x, align [filtered] + %load_y = load i16, i16* %y, align [filtered] %shift = ashr i16 %load_x, %load_y %1 = trunc i16 %shift to i8 %2 = and i8 %1, 1 - store i8 %2, i8* %a, align 1 - %load_x1 = load i16, i16* %x, align 2 - %load_y2 = load i16, i16* %y, align 2 + store i8 %2, i8* %a, align [filtered] + %load_x1 = load i16, i16* %x, align [filtered] + %load_y2 = load i16, i16* %y, align [filtered] %3 = mul i16 %load_y2, 8 %shift3 = ashr i16 %load_x1, %3 %4 = trunc i16 %shift3 to i8 - store i8 %4, i8* %b, align 1 + store i8 %4, i8* %b, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__wordaccess_generated_as_rsh_and_trunc_i16.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__wordaccess_generated_as_rsh_and_trunc_i16.snap index 6b101f4f96..3ef10dfa4a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__wordaccess_generated_as_rsh_and_trunc_i16.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__statement_codegen_test__wordaccess_generated_as_rsh_and_trunc_i16.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/statement_codegen_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,17 +16,17 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_x = load i32, i32* %x, align 4 + %load_x = load i32, i32* %x, align [filtered] %shift = lshr i32 %load_x, 0 %1 = trunc i32 %shift to i16 - store i16 %1, i16* %a, align 2 - %load_x1 = load i32, i32* %x, align 4 + store i16 %1, i16* %a, align [filtered] + %load_x1 = load i32, i32* %x, align [filtered] %shift2 = lshr i32 %load_x1, 16 %2 = trunc i32 %shift2 to i16 - store i16 %2, i16* %a, align 2 - %load_y = load i32, i32* %y, align 4 + store i16 %2, i16* %a, align [filtered] + %load_y = load i32, i32* %y, align [filtered] %shift3 = ashr i32 %load_y, 16 %3 = trunc i32 %shift3 to i16 - store i16 %3, i16* %a, align 2 + store i16 %3, i16* %a, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__casted_string_assignment_uses_memcpy.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__casted_string_assignment_uses_memcpy.snap index 126b22f3f9..5c2ba67c3d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__casted_string_assignment_uses_memcpy.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__casted_string_assignment_uses_memcpy.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,13 +18,13 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %a to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 80, i1 false) %2 = bitcast [81 x i8]* %a to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 80, i1 false) %3 = bitcast [81 x i16]* %b to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %3, i8* align 2 bitcast ([4 x i16]* @utf16_literal_0 to i8*), i32 160, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] bitcast ([4 x i16]* @utf16_literal_0 to i8*), i32 160, i1 false) %4 = bitcast [81 x i16]* %b to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %4, i8* align 2 bitcast ([4 x i16]* @utf16_literal_0 to i8*), i32 160, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %4, i8* align [filtered] bitcast ([4 x i16]* @utf16_literal_0 to i8*), i32 160, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returning_generic_string_should_return_by_ref.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returning_generic_string_should_return_by_ref.snap index 6c19513703..8ed5d95be1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returning_generic_string_should_return_by_ref.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returning_generic_string_should_return_by_ref.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,16 +14,16 @@ target triple = "[filtered]" define void @MID__STRING(i8* %0, i8* %1, i32 %2, i32 %3) { entry: - %MID__STRING = alloca i8*, align 8 - store i8* %0, i8** %MID__STRING, align 8 - %IN = alloca i8*, align 8 - store i8* %1, i8** %IN, align 8 - %L = alloca i32, align 4 - store i32 %2, i32* %L, align 4 - %P = alloca i32, align 4 - store i32 %3, i32* %P, align 4 - %deref = load i8*, i8** %MID__STRING, align 8 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) + %MID__STRING = alloca i8*, align [filtered] + store i8* %0, i8** %MID__STRING, align [filtered] + %IN = alloca i8*, align [filtered] + store i8* %1, i8** %IN, align [filtered] + %L = alloca i32, align [filtered] + store i32 %2, i32* %L, align [filtered] + %P = alloca i32, align [filtered] + store i32 %3, i32* %P, align [filtered] + %deref = load i8*, i8** %MID__STRING, align [filtered] + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) ret void } @@ -32,15 +31,15 @@ define void @main(%main* %0) { entry: %fmt = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %x = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %__MID0 = alloca [81 x i8], align 1 + %__MID0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__MID0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__MID0 to i8* %3 = bitcast [61 x i8]* %fmt to i8* call void @MID__STRING(i8* %2, i8* %3, i32 1, i32 2) %4 = bitcast [81 x i8]* %x to i8* %5 = bitcast [81 x i8]* %__MID0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %4, i8* align 1 %5, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %4, i8* align [filtered] %5, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returns_a_literal_string.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returns_a_literal_string.snap index 90eb2240f3..7dd168ba44 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returns_a_literal_string.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_returns_a_literal_string.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: program -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,24 +14,24 @@ target triple = "[filtered]" define void @ret(i8* %0) { entry: - %ret = alloca i8*, align 8 - store i8* %0, i8** %ret, align 8 - %deref = load i8*, i8** %ret, align 8 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) + %ret = alloca i8*, align [filtered] + store i8* %0, i8** %ret, align [filtered] + %deref = load i8*, i8** %ret, align [filtered] + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([4 x i8], [4 x i8]* @utf08_literal_0, i32 0, i32 0), i32 4, i1 false) ret void } define void @main(%main* %0) { entry: %str = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %__ret0 = alloca [81 x i8], align 1 + %__ret0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__ret0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__ret0 to i8* call void @ret(i8* %2) %3 = bitcast [81 x i8]* %str to i8* %4 = bitcast [81 x i8]* %__ret0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_takes_string_paramter_and_returns_string.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_takes_string_paramter_and_returns_string.snap index bd58250aa9..c5685839eb 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_takes_string_paramter_and_returns_string.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_takes_string_paramter_and_returns_string.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: program -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,29 +14,29 @@ target triple = "[filtered]" define void @read_string(i8* %0, i8* %1) { entry: - %read_string = alloca i8*, align 8 - store i8* %0, i8** %read_string, align 8 - %to_read = alloca [81 x i8], align 1 + %read_string = alloca i8*, align [filtered] + store i8* %0, i8** %read_string, align [filtered] + %to_read = alloca [81 x i8], align [filtered] %bitcast = bitcast [81 x i8]* %to_read to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 81, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %1, i64 80, i1 false) - %deref = load i8*, i8** %read_string, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 81, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %1, i64 80, i1 false) + %deref = load i8*, i8** %read_string, align [filtered] %2 = bitcast [81 x i8]* %to_read to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 %2, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] %2, i32 80, i1 false) ret void } define void @main(%main* %0) { entry: %text1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - %__read_string0 = alloca [81 x i8], align 1 + %__read_string0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__read_string0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__read_string0 to i8* call void @read_string(i8* %2, i8* getelementptr inbounds ([154 x i8], [154 x i8]* @utf08_literal_0, i32 0, i32 0)) %3 = bitcast [81 x i8]* %text1 to i8* %4 = bitcast [81 x i8]* %__read_string0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 80, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_var_constant_strings_should_be_collected_as_literals.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_var_constant_strings_should_be_collected_as_literals.snap index 9a84df2baa..e267269f41 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_var_constant_strings_should_be_collected_as_literals.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__function_var_constant_strings_should_be_collected_as_literals.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,19 +14,19 @@ target triple = "[filtered]" define i64 @FSTRING_TO_DT() { entry: - %FSTRING_TO_DT = alloca i64, align 8 - %ignore = alloca [2 x i8], align 1 - %fchar = alloca [2 x i8], align 1 + %FSTRING_TO_DT = alloca i64, align [filtered] + %ignore = alloca [2 x i8], align [filtered] + %fchar = alloca [2 x i8], align [filtered] %0 = bitcast [2 x i8]* %ignore to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.ignore__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.ignore__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [2 x i8]* %fchar to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.fchar__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) - store i64 0, i64* %FSTRING_TO_DT, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.fchar__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + store i64 0, i64* %FSTRING_TO_DT, align [filtered] %2 = bitcast [2 x i8]* %fchar to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0), i32 1, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_0, i32 0, i32 0), i32 1, i1 false) %3 = bitcast [2 x i8]* %ignore to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_1, i32 0, i32 0), i32 1, i1 false) - %FSTRING_TO_DT_ret = load i64, i64* %FSTRING_TO_DT, align 8 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @utf08_literal_1, i32 0, i32 0), i32 1, i1 false) + %FSTRING_TO_DT_ret = load i64, i64* %FSTRING_TO_DT, align [filtered] ret i64 %FSTRING_TO_DT_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_string_output.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_string_output.snap index eda1adb316..44d9b05b33 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_string_output.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_string_output.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,9 +20,9 @@ entry: %output1 = getelementptr inbounds %prog, %prog* %0, i32 0, i32 0 %output2 = getelementptr inbounds %prog, %prog* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %output1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([7 x i8], [7 x i8]* @utf08_literal_0, i32 0, i32 0), i32 7, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([7 x i8], [7 x i8]* @utf08_literal_0, i32 0, i32 0), i32 7, i1 false) %2 = bitcast [81 x i16]* %output2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %2, i8* align 2 bitcast ([8 x i16]* @utf16_literal_0 to i8*), i32 16, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] bitcast ([8 x i16]* @utf16_literal_0 to i8*), i32 16, i1 false) ret void } @@ -33,9 +32,9 @@ entry: %y = getelementptr inbounds %main, %main* %0, i32 0, i32 1 call void @prog(%prog* @prog_instance) %1 = bitcast [7 x i8]* %x to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 0, i32 0), i32 6, i1 false) %2 = bitcast [8 x i16]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %2, i8* align 2 bitcast ([81 x i16]* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1) to i8*), i32 14, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] bitcast ([81 x i16]* getelementptr inbounds (%prog, %prog* @prog_instance, i32 0, i32 1) to i8*), i32 14, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_casted_string_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_casted_string_assignment.snap index ded08f4b7a..20d671279c 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_casted_string_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_casted_string_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -21,9 +20,9 @@ entry: %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 80, i1 false) %2 = bitcast [81 x i16]* %z to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %2, i8* align 2 bitcast ([18 x i16]* @utf16_literal_1 to i8*), i32 160, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] bitcast ([18 x i16]* @utf16_literal_1 to i8*), i32 160, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_string_type_assignment.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_string_type_assignment.snap index 1e7ae940a0..2256db21f0 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_string_type_assignment.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__program_with_string_type_assignment.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -23,11 +22,11 @@ entry: %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %zz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %1 = bitcast [81 x i8]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) %2 = bitcast [100 x i8]* %z to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([17 x i8], [17 x i8]* @utf08_literal_1, i32 0, i32 0), i32 17, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([17 x i8], [17 x i8]* @utf08_literal_1, i32 0, i32 0), i32 17, i1 false) %3 = bitcast [100 x i16]* %zz to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %3, i8* align 2 bitcast ([17 x i16]* @utf16_literal_0 to i8*), i32 34, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] bitcast ([17 x i16]* @utf16_literal_0 to i8*), i32 34, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__string_function_parameters.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__string_function_parameters.snap index cb54b24a66..941262450f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__string_function_parameters.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__string_function_parameters.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,17 +15,17 @@ target triple = "[filtered]" define i16 @foo(i8* %0) { entry: - %foo = alloca i16, align 2 - %s = alloca [81 x i8], align 1 + %foo = alloca i16, align [filtered] + %s = alloca [81 x i8], align [filtered] %bitcast = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 81, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 80, i1 false) - store i16 0, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 81, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 80, i1 false) + store i16 0, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret buffer_block: ; No predecessors! - %foo_ret1 = load i16, i16* %foo, align 2 + %foo_ret1 = load i16, i16* %foo, align [filtered] ret i16 %foo_ret1 } @@ -36,9 +35,9 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [81 x i8]* %a to i8* %2 = bitcast [11 x i8]* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 %2, i32 11, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] %2, i32 11, i1 false) %3 = bitcast [81 x i8]* %a to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) %4 = bitcast [11 x i8]* %s to i8* %call = call i16 @foo(i8* %4) %call1 = call i16 @foo(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0)) diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable.snap index 241e0170de..d122875833 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -13,29 +12,29 @@ target triple = "[filtered]" define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca i8*, align 8 - store i8* %0, i8** %op1, align 8 - %op2 = alloca i8*, align 8 - store i8* %1, i8** %op2, align 8 - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca i8*, align [filtered] + store i8* %0, i8** %op1, align [filtered] + %op2 = alloca i8*, align [filtered] + store i8* %1, i8** %op2, align [filtered] + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i64 @FSTRING_TO_DT() { entry: - %FSTRING_TO_DT = alloca i64, align 8 - %ignore = alloca [2 x i8], align 1 - %fchar = alloca [2 x i8], align 1 - %c = alloca [2 x i8], align 1 + %FSTRING_TO_DT = alloca i64, align [filtered] + %ignore = alloca [2 x i8], align [filtered] + %fchar = alloca [2 x i8], align [filtered] + %c = alloca [2 x i8], align [filtered] %0 = bitcast [2 x i8]* %ignore to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.ignore__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.ignore__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [2 x i8]* %fchar to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.fchar__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.fchar__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [2 x i8]* %c to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) - store i64 0, i64* %FSTRING_TO_DT, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + store i64 0, i64* %FSTRING_TO_DT, align [filtered] %3 = bitcast [2 x i8]* %c to i8* %4 = bitcast [2 x i8]* %ignore to i8* %call = call i8 @STRING_EQUAL(i8* %3, i8* %4) @@ -46,7 +45,7 @@ condition_body: ; preds = %entry br label %continue continue: ; preds = %condition_body, %entry - %FSTRING_TO_DT_ret = load i64, i64* %FSTRING_TO_DT, align 8 + %FSTRING_TO_DT_ret = load i64, i64* %FSTRING_TO_DT, align [filtered] ret i64 %FSTRING_TO_DT_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable_nonref.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable_nonref.snap index 99fa5afe98..009c03741d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable_nonref.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__using_a_constant_var_string_should_be_memcpyable_nonref.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -13,33 +12,33 @@ target triple = "[filtered]" define i8 @STRING_EQUAL(i8* %0, i8* %1) { entry: - %STRING_EQUAL = alloca i8, align 1 - %op1 = alloca [1025 x i8], align 1 + %STRING_EQUAL = alloca i8, align [filtered] + %op1 = alloca [1025 x i8], align [filtered] %bitcast = bitcast [1025 x i8]* %op1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 1024, i1 false) - %op2 = alloca [1025 x i8], align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 1024, i1 false) + %op2 = alloca [1025 x i8], align [filtered] %bitcast1 = bitcast [1025 x i8]* %op2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast1, i8 0, i64 1025, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast1, i8* align 1 %1, i64 1024, i1 false) - store i8 0, i8* %STRING_EQUAL, align 1 - %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align 1 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast1, i8 0, i64 1025, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast1, i8* align [filtered] %1, i64 1024, i1 false) + store i8 0, i8* %STRING_EQUAL, align [filtered] + %STRING_EQUAL_ret = load i8, i8* %STRING_EQUAL, align [filtered] ret i8 %STRING_EQUAL_ret } define i64 @FSTRING_TO_DT() { entry: - %FSTRING_TO_DT = alloca i64, align 8 - %ignore = alloca [2 x i8], align 1 - %fchar = alloca [2 x i8], align 1 - %c = alloca [2 x i8], align 1 + %FSTRING_TO_DT = alloca i64, align [filtered] + %ignore = alloca [2 x i8], align [filtered] + %fchar = alloca [2 x i8], align [filtered] + %c = alloca [2 x i8], align [filtered] %0 = bitcast [2 x i8]* %ignore to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.ignore__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.ignore__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) %1 = bitcast [2 x i8]* %fchar to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.fchar__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([2 x i8], [2 x i8]* @__FSTRING_TO_DT.fchar__init, i32 0, i32 0), i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [2 x i8]* %c to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %2, i8 0, i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) - store i64 0, i64* %FSTRING_TO_DT, align 8 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %2, i8 0, i64 ptrtoint ([2 x i8]* getelementptr ([2 x i8], [2 x i8]* null, i32 1) to i64), i1 false) + store i64 0, i64* %FSTRING_TO_DT, align [filtered] %3 = bitcast [2 x i8]* %c to i8* %4 = bitcast [2 x i8]* %ignore to i8* %call = call i8 @STRING_EQUAL(i8* %3, i8* %4) @@ -50,7 +49,7 @@ condition_body: ; preds = %entry br label %continue continue: ; preds = %condition_body, %entry - %FSTRING_TO_DT_ret = load i64, i64* %FSTRING_TO_DT, align 8 + %FSTRING_TO_DT_ret = load i64, i64* %FSTRING_TO_DT, align [filtered] ret i64 %FSTRING_TO_DT_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_can_be_created.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_can_be_created.snap index 9bafab43fb..9b5bd93293 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_can_be_created.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_can_be_created.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -23,9 +22,9 @@ entry: %wy = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %wz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 %1 = bitcast [16 x i8]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) %2 = bitcast [16 x i16]* %wy to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %2, i8* align 2 bitcast ([12 x i16]* @utf16_literal_0 to i8*), i32 24, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] bitcast ([12 x i16]* @utf16_literal_0 to i8*), i32 24, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_using_constants_can_be_created.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_using_constants_can_be_created.snap index ef7b653a81..2ed733c07a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_using_constants_can_be_created.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_length_strings_using_constants_can_be_created.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -25,9 +24,9 @@ entry: %wy = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 %wz = getelementptr inbounds %prg, %prg* %0, i32 0, i32 3 %1 = bitcast [16 x i8]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([12 x i8], [12 x i8]* @utf08_literal_0, i32 0, i32 0), i32 12, i1 false) %2 = bitcast [31 x i16]* %wy to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 2 %2, i8* align 2 bitcast ([12 x i16]* @utf16_literal_0 to i8*), i32 24, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] bitcast ([12 x i16]* @utf16_literal_0 to i8*), i32 24, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_string_assignment_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_string_assignment_test.snap index 2cff91b9fc..ade1627834 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_string_assignment_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__variable_string_assignment_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -19,10 +18,10 @@ entry: %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [16 x i8]* %y to i8* %2 = bitcast [31 x i8]* %z to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 %2, i32 15, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] %2, i32 15, i1 false) %3 = bitcast [31 x i8]* %z to i8* %4 = bitcast [16 x i8]* %y to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 16, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 16, i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__vartmp_string_init_test.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__vartmp_string_init_test.snap index 43d6a4cebf..2afbc1a01a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__vartmp_string_init_test.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__string_tests__vartmp_string_init_test.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/string_tests.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,12 +14,12 @@ target triple = "[filtered]" define void @prg(%prg* %0) { entry: - %y = alloca [16 x i8], align 1 - %z = alloca [31 x i8], align 1 + %y = alloca [16 x i8], align [filtered] + %z = alloca [31 x i8], align [filtered] %1 = bitcast [16 x i8]* %y to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([16 x i8]* getelementptr ([16 x i8], [16 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([16 x i8]* getelementptr ([16 x i8], [16 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [31 x i8]* %z to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %2, i8* align 1 getelementptr inbounds ([31 x i8], [31 x i8]* @__prg.z__init, i32 0, i32 0), i64 ptrtoint ([31 x i8]* getelementptr ([31 x i8], [31 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([31 x i8], [31 x i8]* @__prg.z__init, i32 0, i32 0), i64 ptrtoint ([31 x i8]* getelementptr ([31 x i8], [31 x i8]* null, i32 1) to i64), i1 false) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__aliased_datatypes_respect_conversion_rules.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__aliased_datatypes_respect_conversion_rules.snap index b50bdd1cfb..fc84830f32 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__aliased_datatypes_respect_conversion_rules.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__aliased_datatypes_respect_conversion_rules.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,15 +16,15 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load i8, i8* %b, align 1 + %load_b = load i8, i8* %b, align [filtered] %1 = sext i8 %load_b to i32 - %load_c = load i32, i32* %c, align 4 + %load_c = load i32, i32* %c, align [filtered] %tmpVar = add i32 %1, %load_c - store i32 %tmpVar, i32* %x, align 4 - %load_c1 = load i32, i32* %c, align 4 - %load_x = load i32, i32* %x, align 4 + store i32 %tmpVar, i32* %x, align [filtered] + %load_c1 = load i32, i32* %c, align [filtered] + %load_x = load i32, i32* %x, align [filtered] %tmpVar2 = add i32 %load_c1, %load_x %2 = trunc i32 %tmpVar2 to i8 - store i8 %2, i8* %b, align 1 + store i8 %2, i8* %b, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_larger_than_int_promote_the_second_operand.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_larger_than_int_promote_the_second_operand.snap index ece4ed7e3f..60659831a1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_larger_than_int_promote_the_second_operand.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_larger_than_int_promote_the_second_operand.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,10 +16,10 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load i32, i32* %b, align 4 + %load_b = load i32, i32* %b, align [filtered] %1 = sext i32 %load_b to i64 - %load_c = load i64, i64* %c, align 8 + %load_c = load i64, i64* %c, align [filtered] %tmpVar = add i64 %1, %load_c - store i64 %tmpVar, i64* %x, align 8 + store i64 %tmpVar, i64* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_smaller_than_dint_promoted_to_dint.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_smaller_than_dint_promoted_to_dint.snap index c40964af67..cabeab98a1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_smaller_than_dint_promoted_to_dint.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__datatypes_smaller_than_dint_promoted_to_dint.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,10 +16,10 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load i8, i8* %b, align 1 + %load_b = load i8, i8* %b, align [filtered] %1 = sext i8 %load_b to i32 - %load_c = load i32, i32* %c, align 4 + %load_c = load i32, i32* %c, align [filtered] %tmpVar = add i32 %1, %load_c - store i32 %tmpVar, i32* %x, align 4 + store i32 %tmpVar, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__even_all_sint_expressions_fallback_to_dint.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__even_all_sint_expressions_fallback_to_dint.snap index b32301e40e..c28fed0aa8 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__even_all_sint_expressions_fallback_to_dint.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__even_all_sint_expressions_fallback_to_dint.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,12 +16,12 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load i8, i8* %b, align 1 + %load_b = load i8, i8* %b, align [filtered] %1 = sext i8 %load_b to i32 - %load_c = load i8, i8* %c, align 1 + %load_c = load i8, i8* %c, align [filtered] %2 = sext i8 %load_c to i32 %tmpVar = add i32 %1, %2 %3 = trunc i32 %tmpVar to i8 - store i8 %3, i8* %x, align 1 + store i8 %3, i8* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_and_double_mix_converted_to_double.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_and_double_mix_converted_to_double.snap index d50d134b5e..6e8be4d89a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_and_double_mix_converted_to_double.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_and_double_mix_converted_to_double.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,10 +16,10 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load double, double* %b, align 8 - %load_a = load float, float* %a, align 4 + %load_b = load double, double* %b, align [filtered] + %load_a = load float, float* %a, align [filtered] %1 = fpext float %load_a to double %tmpVar = fadd double %load_b, %1 - store double %tmpVar, double* %c, align 8 + store double %tmpVar, double* %c, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assigned_to_int_is_cast.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assigned_to_int_is_cast.snap index d7f26b22d9..83db7e9f63 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assigned_to_int_is_cast.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assigned_to_int_is_cast.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,11 +16,11 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_c = load float, float* %c, align 4 + %load_c = load float, float* %c, align [filtered] %1 = fptosi float %load_c to i16 - store i16 %1, i16* %a, align 2 - %load_c1 = load float, float* %c, align 4 + store i16 %1, i16* %a, align [filtered] + %load_c1 = load float, float* %c, align [filtered] %2 = fptoui float %load_c1 to i16 - store i16 %2, i16* %b, align 2 + store i16 %2, i16* %b, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assinged_to_double_to_double.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assinged_to_double_to_double.snap index fa2e3717cb..82114144d8 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assinged_to_double_to_double.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__float_assinged_to_double_to_double.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,8 +15,8 @@ define void @prg(%prg* %0) { entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_a = load float, float* %a, align 4 + %load_a = load float, float* %a, align [filtered] %1 = fpext float %load_a to double - store double %1, double* %b, align 8 + store double %1, double* %b, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_assigned_to_float_is_cast.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_assigned_to_float_is_cast.snap index ff62d286d5..78700647f3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_assigned_to_float_is_cast.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_assigned_to_float_is_cast.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,11 +16,11 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_a = load i16, i16* %a, align 2 + %load_a = load i16, i16* %a, align [filtered] %1 = sitofp i16 %load_a to float - store float %1, float* %c, align 4 - %load_b = load i16, i16* %b, align 2 + store float %1, float* %c, align [filtered] + %load_b = load i16, i16* %b, align [filtered] %2 = uitofp i16 %load_b to float - store float %2, float* %c, align 4 + store float %2, float* %c, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_byte_promoted_on_compare_statement.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_byte_promoted_on_compare_statement.snap index 1c6d4d41ca..910817ee46 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_byte_promoted_on_compare_statement.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_byte_promoted_on_compare_statement.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,8 +15,8 @@ define void @prg(%prg* %0) { entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_b = load i64, i64* %b, align 8 - %load_a = load i8, i8* %a, align 1 + %load_b = load i64, i64* %b, align [filtered] + %load_a = load i8, i8* %a, align [filtered] %1 = zext i8 %load_a to i64 %tmpVar = icmp slt i64 %load_b, %1 ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_float_converted_to_double.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_float_converted_to_double.snap index 1d4af0214e..b59a536bd8 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_float_converted_to_double.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_bigger_than_float_converted_to_double.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,9 +15,9 @@ define void @prg(%prg* %0) { entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_b = load i64, i64* %b, align 8 + %load_b = load i64, i64* %b, align [filtered] %1 = sitofp i64 %load_b to double - %load_a = load float, float* %a, align 4 + %load_a = load float, float* %a, align [filtered] %2 = fpext float %load_a to double %tmpVar = fadd double %1, %2 ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_smaller_or_equal_to_float_converted_to_float.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_smaller_or_equal_to_float_converted_to_float.snap index bc81fe80ca..2c638db197 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_smaller_or_equal_to_float_converted_to_float.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__int_smaller_or_equal_to_float_converted_to_float.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,10 +16,10 @@ entry: %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load i16, i16* %b, align 2 + %load_b = load i16, i16* %b, align [filtered] %1 = sitofp i16 %load_b to float - %load_a = load float, float* %a, align 4 + %load_a = load float, float* %a, align [filtered] %tmpVar = fadd float %1, %load_a - store float %tmpVar, float* %c, align 4 + store float %tmpVar, float* %c, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__numerical_promotion_for_variadic_functions_without_declaration.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__numerical_promotion_for_variadic_functions_without_declaration.snap index b3cbb90e9a..4800f61f34 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__numerical_promotion_for_variadic_functions_without_declaration.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__numerical_promotion_for_variadic_functions_without_declaration.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,20 +16,20 @@ declare i32 @printf(i8*, ...) define void @main(%main* %0) { entry: - %s = alloca [81 x i8], align 1 - %float = alloca float, align 4 - %double = alloca double, align 8 - %integer = alloca i16, align 2 + %s = alloca [81 x i8], align [filtered] + %float = alloca float, align [filtered] + %double = alloca double, align [filtered] + %integer = alloca i16, align [filtered] %1 = bitcast [81 x i8]* %s to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds ([81 x i8], [81 x i8]* @__main.s__init, i32 0, i32 0), i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) - store float 3.000000e+00, float* %float, align 4 - store double 3.000000e+00, double* %double, align 8 - store i16 3, i16* %integer, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([81 x i8], [81 x i8]* @__main.s__init, i32 0, i32 0), i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + store float 3.000000e+00, float* %float, align [filtered] + store double 3.000000e+00, double* %double, align [filtered] + store i16 3, i16* %integer, align [filtered] %2 = bitcast [81 x i8]* %s to i8* - %load_float = load float, float* %float, align 4 + %load_float = load float, float* %float, align [filtered] %3 = fpext float %load_float to double - %load_double = load double, double* %double, align 8 - %load_integer = load i16, i16* %integer, align 2 + %load_double = load double, double* %double, align [filtered] + %load_integer = load i16, i16* %integer, align [filtered] %4 = sext i16 %load_integer to i32 %call = call i32 (i8*, ...) @printf(i8* %2, double 3.000000e+00, double %3, double %load_double, i32 %4) ret void diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__small_int_varargs_get_promoted_while_32bit_and_higher_keep_their_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__small_int_varargs_get_promoted_while_32bit_and_higher_keep_their_type.snap index 47ff568e0c..cc458352f3 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__small_int_varargs_get_promoted_while_32bit_and_higher_keep_their_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__small_int_varargs_get_promoted_while_32bit_and_higher_keep_their_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,27 +14,27 @@ declare i32 @printf(i8*, ...) define i32 @main() { entry: - %main = alloca i32, align 4 - %out1 = alloca i16, align 2 - %out2 = alloca i32, align 4 - %out3 = alloca i64, align 8 - %out4 = alloca i32, align 4 - store i16 -1, i16* %out1, align 2 - store i32 -1, i32* %out2, align 4 - store i64 -1, i64* %out3, align 8 - store i32 -1, i32* %out4, align 4 - store i32 0, i32* %main, align 4 - %load_out1 = load i16, i16* %out1, align 2 + %main = alloca i32, align [filtered] + %out1 = alloca i16, align [filtered] + %out2 = alloca i32, align [filtered] + %out3 = alloca i64, align [filtered] + %out4 = alloca i32, align [filtered] + store i16 -1, i16* %out1, align [filtered] + store i32 -1, i32* %out2, align [filtered] + store i64 -1, i64* %out3, align [filtered] + store i32 -1, i32* %out4, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_out1 = load i16, i16* %out1, align [filtered] %0 = sext i16 %load_out1 to i32 - %load_out2 = load i32, i32* %out2, align 4 - %load_out3 = load i64, i64* %out3, align 8 - %load_out4 = load i32, i32* %out4, align 4 + %load_out2 = load i32, i32* %out2, align [filtered] + %load_out3 = load i64, i64* %out3, align [filtered] + %load_out4 = load i32, i32* %out4, align [filtered] %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @utf08_literal_0, i32 0, i32 0), i32 %0, i32 %load_out2, i64 %load_out3, i32 %load_out4) - %load_out11 = load i16, i16* %out1, align 2 + %load_out11 = load i16, i16* %out1, align [filtered] %1 = sext i16 %load_out11 to i32 - %load_out22 = load i32, i32* %out2, align 4 - %load_out33 = load i64, i64* %out3, align 8 + %load_out22 = load i32, i32* %out2, align [filtered] + %load_out33 = load i64, i64* %out3, align [filtered] %call4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @utf08_literal_1, i32 0, i32 0), i32 %1, i32 %load_out22, i64 %load_out33) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__unsingned_datatypes_smaller_than_dint_promoted_to_dint.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__unsingned_datatypes_smaller_than_dint_promoted_to_dint.snap index bf414d3e0f..9244f28a5e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__unsingned_datatypes_smaller_than_dint_promoted_to_dint.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__typesystem_test__unsingned_datatypes_smaller_than_dint_promoted_to_dint.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/typesystem_test.rs expression: result -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -17,10 +16,10 @@ entry: %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %c = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - %load_b = load i8, i8* %b, align 1 + %load_b = load i8, i8* %b, align [filtered] %1 = zext i8 %load_b to i32 - %load_c = load i32, i32* %c, align 4 + %load_c = load i32, i32* %c, align [filtered] %tmpVar = add i32 %1, %load_c - store i32 %tmpVar, i32* %x, align 4 + store i32 %tmpVar, i32* %x, align [filtered] ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__consecutive_calls_with_differently_sized_arrays.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__consecutive_calls_with_differently_sized_arrays.snap index ff5bf0837d..d98517cee6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__consecutive_calls_with_differently_sized_arrays.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__consecutive_calls_with_differently_sized_arrays.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/vla_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,85 +13,85 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %start_idx_ptr1 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 2 %end_idx_ptr1 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 3 - %start_idx_value1 = load i32, i32* %start_idx_ptr1, align 4 - %end_idx_value1 = load i32, i32* %end_idx_ptr1, align 4 + %start_idx_value1 = load i32, i32* %start_idx_ptr1, align [filtered] + %end_idx_value1 = load i32, i32* %end_idx_ptr1, align [filtered] %3 = sub i32 %end_idx_value0, %start_idx_value0 %len_dim0 = add i32 1, %3 %4 = sub i32 %end_idx_value1, %start_idx_value1 %len_dim1 = add i32 1, %4 - %accum = alloca i32, align 4 - store i32 1, i32* %accum, align 4 - %load_accum = load i32, i32* %accum, align 4 + %accum = alloca i32, align [filtered] + store i32 1, i32* %accum, align [filtered] + %load_accum = load i32, i32* %accum, align [filtered] %product = mul i32 %load_accum, %len_dim1 - store i32 %product, i32* %accum, align 4 - %accessor_factor = load i32, i32* %accum, align 4 + store i32 %product, i32* %accum, align [filtered] + %accessor_factor = load i32, i32* %accum, align [filtered] %adj_access0 = sub i32 2, %start_idx_value0 %adj_access1 = sub i32 -1, %start_idx_value1 - %accum1 = alloca i32, align 4 - store i32 0, i32* %accum1, align 4 + %accum1 = alloca i32, align [filtered] + store i32 0, i32* %accum1, align [filtered] %multiply = mul i32 %adj_access0, %accessor_factor - %load_accum2 = load i32, i32* %accum1, align 4 + %load_accum2 = load i32, i32* %accum1, align [filtered] %accumulate = add i32 %load_accum2, %multiply - store i32 %accumulate, i32* %accum1, align 4 + store i32 %accumulate, i32* %accum1, align [filtered] %multiply3 = mul i32 %adj_access1, 1 - %load_accum4 = load i32, i32* %accum1, align 4 + %load_accum4 = load i32, i32* %accum1, align [filtered] %accumulate5 = add i32 %load_accum4, %multiply3 - store i32 %accumulate5, i32* %accum1, align 4 - %accessor = load i32, i32* %accum1, align 4 + store i32 %accumulate5, i32* %accum1, align [filtered] + %accessor = load i32, i32* %accum1, align [filtered] %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %accessor - store i16 1, i16* %arr_val, align 2 - %foo_ret = load i16, i16* %foo, align 2 + store i16 1, i16* %arr_val, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [60 x i16], align 2 - %arr2 = alloca [299 x i16], align 2 + %main = alloca i32, align [filtered] + %arr = alloca [60 x i16], align [filtered] + %arr2 = alloca [299 x i16], align [filtered] %0 = bitcast [60 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([60 x i16]* getelementptr ([60 x i16], [60 x i16]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([60 x i16]* getelementptr ([60 x i16], [60 x i16]* null, i32 1) to i64), i1 false) %1 = bitcast [299 x i16]* %arr2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([299 x i16]* getelementptr ([299 x i16], [299 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [60 x i16], [60 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([299 x i16]* getelementptr ([299 x i16], [299 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [60 x i16], [60 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [60 x i16], [60 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [4 x i32] [i32 0, i32 14, i32 -2, i32 1], [4 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %2 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %2, %__foo_vla* %vla_struct_ptr, align 8 + store [4 x i32] [i32 0, i32 14, i32 -2, i32 1], [4 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %2 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %2, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %auto_deref1 = load [299 x i16], [299 x i16]* %arr2, align 2 + %auto_deref1 = load [299 x i16], [299 x i16]* %arr2, align [filtered] %outer_arr_gep2 = getelementptr inbounds [299 x i16], [299 x i16]* %arr2, i32 0, i32 0 - %vla_struct3 = alloca %__foo_vla, align 8 + %vla_struct3 = alloca %__foo_vla, align [filtered] %vla_array_gep4 = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct3, i32 0, i32 0 %vla_dimensions_gep5 = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct3, i32 0, i32 1 - store [4 x i32] [i32 -8, i32 4, i32 -3, i32 19], [4 x i32]* %vla_dimensions_gep5, align 4 - store i16* %outer_arr_gep2, i16** %vla_array_gep4, align 8 - %3 = load %__foo_vla, %__foo_vla* %vla_struct3, align 8 - %vla_struct_ptr6 = alloca %__foo_vla, align 8 - store %__foo_vla %3, %__foo_vla* %vla_struct_ptr6, align 8 + store [4 x i32] [i32 -8, i32 4, i32 -3, i32 19], [4 x i32]* %vla_dimensions_gep5, align [filtered] + store i16* %outer_arr_gep2, i16** %vla_array_gep4, align [filtered] + %3 = load %__foo_vla, %__foo_vla* %vla_struct3, align [filtered] + %vla_struct_ptr6 = alloca %__foo_vla, align [filtered] + store %__foo_vla %3, %__foo_vla* %vla_struct_ptr6, align [filtered] %call7 = call i16 @foo(%__foo_vla* %vla_struct_ptr6) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__global_variable_passed_to_function_as_vla.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__global_variable_passed_to_function_as_vla.snap index 81ac40dec5..135d29413d 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__global_variable_passed_to_function_as_vla.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__global_variable_passed_to_function_as_vla.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/vla_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -15,41 +14,41 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %tmpVar = sub i32 0, %start_idx_value0 %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %tmpVar - store i16 10, i16* %arr_val, align 2 - %foo_ret = load i16, i16* %foo, align 2 + store i16 10, i16* %arr_val, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - store i32 0, i32* %main, align 4 - %auto_deref = load [2 x i16], [2 x i16]* @arr, align 2 - %vla_struct = alloca %__foo_vla, align 8 + %main = alloca i32, align [filtered] + store i32 0, i32* %main, align [filtered] + %auto_deref = load [2 x i16], [2 x i16]* @arr, align [filtered] + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i16* getelementptr inbounds ([2 x i16], [2 x i16]* @arr, i32 0, i32 0), i16** %vla_array_gep, align 8 - %0 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %0, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i16* getelementptr inbounds ([2 x i16], [2 x i16]* @arr, i32 0, i32 0), i16** %vla_array_gep, align [filtered] + %0 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %0, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__internal_vla_struct_is_generated_for_call_statements.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__internal_vla_struct_is_generated_for_call_statements.snap index ece7ff55d8..0b121bc488 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__internal_vla_struct_is_generated_for_call_statements.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__internal_vla_struct_is_generated_for_call_statements.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/vla_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,28 +13,28 @@ target triple = "[filtered]" define void @foo(%__foo_vla* %0) { entry: - %vla = alloca %__foo_vla, align 8 + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) ret void } define void @bar() { entry: - %arr = alloca [2 x i16], align 2 + %arr = alloca [2 x i16], align [filtered] %0 = bitcast [2 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) - %auto_deref = load [2 x i16], [2 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) + %auto_deref = load [2 x i16], [2 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i16], [2 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] call void @foo(%__foo_vla* %vla_struct_ptr) ret void } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__multi_dimensional_vla.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__multi_dimensional_vla.snap index b860d9f9f4..fcc17d8c31 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__multi_dimensional_vla.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__multi_dimensional_vla.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/vla_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,71 +13,71 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %start_idx_ptr1 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 2 %end_idx_ptr1 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 3 - %start_idx_value1 = load i32, i32* %start_idx_ptr1, align 4 - %end_idx_value1 = load i32, i32* %end_idx_ptr1, align 4 + %start_idx_value1 = load i32, i32* %start_idx_ptr1, align [filtered] + %end_idx_value1 = load i32, i32* %end_idx_ptr1, align [filtered] %3 = sub i32 %end_idx_value0, %start_idx_value0 %len_dim0 = add i32 1, %3 %4 = sub i32 %end_idx_value1, %start_idx_value1 %len_dim1 = add i32 1, %4 - %accum = alloca i32, align 4 - store i32 1, i32* %accum, align 4 - %load_accum = load i32, i32* %accum, align 4 + %accum = alloca i32, align [filtered] + store i32 1, i32* %accum, align [filtered] + %load_accum = load i32, i32* %accum, align [filtered] %product = mul i32 %load_accum, %len_dim1 - store i32 %product, i32* %accum, align 4 - %accessor_factor = load i32, i32* %accum, align 4 + store i32 %product, i32* %accum, align [filtered] + %accessor_factor = load i32, i32* %accum, align [filtered] %adj_access0 = sub i32 2, %start_idx_value0 %adj_access1 = sub i32 -1, %start_idx_value1 - %accum1 = alloca i32, align 4 - store i32 0, i32* %accum1, align 4 + %accum1 = alloca i32, align [filtered] + store i32 0, i32* %accum1, align [filtered] %multiply = mul i32 %adj_access0, %accessor_factor - %load_accum2 = load i32, i32* %accum1, align 4 + %load_accum2 = load i32, i32* %accum1, align [filtered] %accumulate = add i32 %load_accum2, %multiply - store i32 %accumulate, i32* %accum1, align 4 + store i32 %accumulate, i32* %accum1, align [filtered] %multiply3 = mul i32 %adj_access1, 1 - %load_accum4 = load i32, i32* %accum1, align 4 + %load_accum4 = load i32, i32* %accum1, align [filtered] %accumulate5 = add i32 %load_accum4, %multiply3 - store i32 %accumulate5, i32* %accum1, align 4 - %accessor = load i32, i32* %accum1, align 4 + store i32 %accumulate5, i32* %accum1, align [filtered] + %accessor = load i32, i32* %accum1, align [filtered] %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %accessor - store i16 1, i16* %arr_val, align 2 - %foo_ret = load i16, i16* %foo, align 2 + store i16 1, i16* %arr_val, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [20 x i16], align 2 + %main = alloca i32, align [filtered] + %arr = alloca [20 x i16], align [filtered] %0 = bitcast [20 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([20 x i16]* getelementptr ([20 x i16], [20 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [20 x i16], [20 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([20 x i16]* getelementptr ([20 x i16], [20 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [20 x i16], [20 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [20 x i16], [20 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [4 x i32] [i32 0, i32 4, i32 -2, i32 1], [4 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [4 x i32] [i32 0, i32 4, i32 -2, i32 1], [4 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access.snap index 388340079d..48cf509840 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/vla_tests.rs expression: res -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -14,46 +13,46 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %tmpVar = sub i32 0, %start_idx_value0 %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %tmpVar - %load_tmpVar = load i16, i16* %arr_val, align 2 - store i16 %load_tmpVar, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %load_tmpVar = load i16, i16* %arr_val, align [filtered] + store i16 %load_tmpVar, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [2 x i16], align 2 + %main = alloca i32, align [filtered] + %arr = alloca [2 x i16], align [filtered] %0 = bitcast [2 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [2 x i16], [2 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [2 x i16], [2 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i16], [2 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_expr.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_expr.snap index d9a4105669..233c64702a 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_expr.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_expr.snap @@ -13,50 +13,50 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - %i = alloca i32, align 4 - store i32 0, i32* %i, align 4 - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + %i = alloca i32, align [filtered] + store i32 0, i32* %i, align [filtered] + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 - %load_i = load i32, i32* %i, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] + %load_i = load i32, i32* %i, align [filtered] %tmpVar = add i32 %load_i, 1 %tmpVar1 = sub i32 %tmpVar, %start_idx_value0 %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %tmpVar1 - %load_tmpVar = load i16, i16* %arr_val, align 2 - store i16 %load_tmpVar, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %load_tmpVar = load i16, i16* %arr_val, align [filtered] + store i16 %load_tmpVar, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [2 x i16], align 2 + %main = alloca i32, align [filtered] + %arr = alloca [2 x i16], align [filtered] %0 = bitcast [2 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [2 x i16], [2 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [2 x i16], [2 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i16], [2 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_lint.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_lint.snap index 44189ea120..48cf509840 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_lint.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_lint.snap @@ -13,46 +13,46 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %tmpVar = sub i32 0, %start_idx_value0 %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %tmpVar - %load_tmpVar = load i16, i16* %arr_val, align 2 - store i16 %load_tmpVar, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %load_tmpVar = load i16, i16* %arr_val, align [filtered] + store i16 %load_tmpVar, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [2 x i16], align 2 + %main = alloca i32, align [filtered] + %arr = alloca [2 x i16], align [filtered] %0 = bitcast [2 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [2 x i16], [2 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [2 x i16], [2 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i16], [2 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_var.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_var.snap index 84acd5dafa..5e4b90ccb6 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_var.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__vla_tests__vla_read_access_with_var.snap @@ -13,49 +13,49 @@ target triple = "[filtered]" define i16 @foo(%__foo_vla* %0) { entry: - %foo = alloca i16, align 2 - %vla = alloca %__foo_vla, align 8 + %foo = alloca i16, align [filtered] + %vla = alloca %__foo_vla, align [filtered] %1 = bitcast %__foo_vla* %vla to i8* %2 = bitcast %__foo_vla* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) - %i = alloca i32, align 4 - store i32 0, i32* %i, align 4 - store i16 0, i16* %foo, align 2 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%__foo_vla* getelementptr (%__foo_vla, %__foo_vla* null, i32 1) to i64), i1 false) + %i = alloca i32, align [filtered] + store i32 0, i32* %i, align [filtered] + store i16 0, i16* %foo, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 0 - %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align 8 + %vla_arr_ptr = load i16*, i16** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_vla, %__foo_vla* %vla, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 - %load_i = load i32, i32* %i, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] + %load_i = load i32, i32* %i, align [filtered] %tmpVar = sub i32 %load_i, %start_idx_value0 %arr_val = getelementptr inbounds i16, i16* %vla_arr_ptr, i32 %tmpVar - %load_tmpVar = load i16, i16* %arr_val, align 2 - store i16 %load_tmpVar, i16* %foo, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %load_tmpVar = load i16, i16* %arr_val, align [filtered] + store i16 %load_tmpVar, i16* %foo, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } define i32 @main() { entry: - %main = alloca i32, align 4 - %arr = alloca [2 x i16], align 2 + %main = alloca i32, align [filtered] + %arr = alloca [2 x i16], align [filtered] %0 = bitcast [2 x i16]* %arr to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [2 x i16], [2 x i16]* %arr, align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([2 x i16]* getelementptr ([2 x i16], [2 x i16]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [2 x i16], [2 x i16]* %arr, align [filtered] %outer_arr_gep = getelementptr inbounds [2 x i16], [2 x i16]* %arr, i32 0, i32 0 - %vla_struct = alloca %__foo_vla, align 8 + %vla_struct = alloca %__foo_vla, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_vla, %__foo_vla* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align 4 - store i16* %outer_arr_gep, i16** %vla_array_gep, align 8 - %1 = load %__foo_vla, %__foo_vla* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_vla, align 8 - store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 1], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i16* %outer_arr_gep, i16** %vla_array_gep, align [filtered] + %1 = load %__foo_vla, %__foo_vla* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_vla, align [filtered] + store %__foo_vla %1, %__foo_vla* %vla_struct_ptr, align [filtered] %call = call i16 @foo(%__foo_vla* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/src/codegen/tests/statement_codegen_test.rs b/src/codegen/tests/statement_codegen_test.rs index 15be6329f6..cbd53a2467 100644 --- a/src/codegen/tests/statement_codegen_test.rs +++ b/src/codegen/tests/statement_codegen_test.rs @@ -209,11 +209,11 @@ fn ref_assignment() { define void @main() { entry: - %a = alloca i32*, align 8 - %b = alloca i32, align 4 - store i32* null, i32** %a, align 8 - store i32 0, i32* %b, align 4 - store i32* %b, i32** %a, align 8 + %a = alloca i32*, align [filtered] + %b = alloca i32, align [filtered] + store i32* null, i32** %a, align [filtered] + store i32 0, i32* %b, align [filtered] + store i32* %b, i32** %a, align [filtered] ret void } "#); @@ -240,9 +240,9 @@ fn ref_assignment_to_null() { define void @main() { entry: - %a = alloca i32*, align 8 - store i32* null, i32** %a, align 8 - store i32 0, i32** %a, align 4 + %a = alloca i32*, align [filtered] + store i32* null, i32** %a, align [filtered] + store i32 0, i32** %a, align [filtered] ret void } "#); @@ -283,10 +283,10 @@ fn reference_to_assignment() { define void @main() { entry: - %a = alloca i32*, align 8 - store i32* null, i32** %a, align 8 - %deref = load i32*, i32** %a, align 8 - store i32 5, i32* %deref, align 4 + %a = alloca i32*, align [filtered] + store i32* null, i32** %a, align [filtered] + %deref = load i32*, i32** %a, align [filtered] + store i32 5, i32* %deref, align [filtered] ret void } "#); @@ -330,11 +330,11 @@ fn reference_to_string_assignment() { define void @main() { entry: - %a = alloca [81 x i8]*, align 8 - store [81 x i8]* null, [81 x i8]** %a, align 8 - %deref = load [81 x i8]*, [81 x i8]** %a, align 8 + %a = alloca [81 x i8]*, align [filtered] + store [81 x i8]* null, [81 x i8]** %a, align [filtered] + %deref = load [81 x i8]*, [81 x i8]** %a, align [filtered] %0 = bitcast [81 x i8]* %deref to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %0, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %0, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) ret void } @@ -366,10 +366,10 @@ fn local_alias() { define void @main() { entry: - %foo = alloca i32*, align 8 - %bar = alloca i32, align 4 - store i32* null, i32** %foo, align 8 - store i32 0, i32* %bar, align 4 + %foo = alloca i32*, align [filtered] + %bar = alloca i32, align [filtered] + store i32* null, i32** %foo, align [filtered] + store i32 0, i32* %bar, align [filtered] ret void } "#); @@ -396,11 +396,11 @@ fn local_string_alias() { define void @main() { entry: - %foo = alloca [81 x i8]*, align 8 - %bar = alloca [81 x i8], align 1 - store [81 x i8]* null, [81 x i8]** %foo, align 8 + %foo = alloca [81 x i8]*, align [filtered] + %bar = alloca [81 x i8], align [filtered] + store [81 x i8]* null, [81 x i8]** %foo, align [filtered] %0 = bitcast [81 x i8]* %bar to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) ret void } diff --git a/src/codegen/tests/typesystem_test.rs b/src/codegen/tests/typesystem_test.rs index 3928ec0a6f..21dc20c504 100644 --- a/src/codegen/tests/typesystem_test.rs +++ b/src/codegen/tests/typesystem_test.rs @@ -351,13 +351,13 @@ fn self_referential_struct_via_reference_codegen() { %node1 = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %node2 = getelementptr inbounds %main, %main* %0, i32 0, i32 1 %data = getelementptr inbounds %Node, %Node* %node1, i32 0, i32 0 - store i32 42, i32* %data, align 4 + store i32 42, i32* %data, align [filtered] %data1 = getelementptr inbounds %Node, %Node* %node2, i32 0, i32 0 - store i32 84, i32* %data1, align 4 + store i32 84, i32* %data1, align [filtered] %next = getelementptr inbounds %Node, %Node* %node1, i32 0, i32 1 - store %Node* %node2, %Node** %next, align 8 + store %Node* %node2, %Node** %next, align [filtered] %next2 = getelementptr inbounds %Node, %Node* %node2, i32 0, i32 1 - store %Node* %node1, %Node** %next2, align 8 + store %Node* %node1, %Node** %next2, align [filtered] ret void } "#); diff --git a/src/tests/adr/arrays_adr.rs b/src/tests/adr/arrays_adr.rs index ee3e5a1fbc..5856169b10 100644 --- a/src/tests/adr/arrays_adr.rs +++ b/src/tests/adr/arrays_adr.rs @@ -85,7 +85,7 @@ fn assigning_full_arrays() { %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [10 x i32]* %a to i8* %2 = bitcast [10 x i32]* %b to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint ([10 x i32]* getelementptr ([10 x i32], [10 x i32]* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint ([10 x i32]* getelementptr ([10 x i32], [10 x i32]* null, i32 1) to i64), i1 false) ret void } @@ -140,8 +140,8 @@ fn accessing_array_elements() { %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %tmpVar = getelementptr inbounds [10 x i32], [10 x i32]* %a, i32 0, i32 2 %tmpVar1 = getelementptr inbounds [3 x i32], [3 x i32]* %b, i32 0, i32 1 - %load_tmpVar = load i32, i32* %tmpVar1, align 4 - store i32 %load_tmpVar, i32* %tmpVar, align 4 + %load_tmpVar = load i32, i32* %tmpVar1, align [filtered] + store i32 %load_tmpVar, i32* %tmpVar, align [filtered] ret void } "#); diff --git a/src/tests/adr/enum_adr.rs b/src/tests/adr/enum_adr.rs index 57d490b2df..ee2aba2862 100644 --- a/src/tests/adr/enum_adr.rs +++ b/src/tests/adr/enum_adr.rs @@ -142,9 +142,9 @@ fn using_enums() { %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %y = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 2 - store i32 5, i32* %x, align 4 - store i32 4, i32* %y, align 4 - store i32 16, i32* %z, align 4 + store i32 5, i32* %x, align [filtered] + store i32 4, i32* %y, align [filtered] + store i32 16, i32* %z, align [filtered] ret void } "#); diff --git a/src/tests/adr/initializer_functions_adr.rs b/src/tests/adr/initializer_functions_adr.rs index 82aac474df..64ce3832ac 100644 --- a/src/tests/adr/initializer_functions_adr.rs +++ b/src/tests/adr/initializer_functions_adr.rs @@ -672,29 +672,29 @@ fn generating_init_functions() { define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__init_myrefstruct(%myRefStruct* %0) { entry: - %self = alloca %myRefStruct*, align 8 - store %myRefStruct* %0, %myRefStruct** %self, align 8 + %self = alloca %myRefStruct*, align [filtered] + store %myRefStruct* %0, %myRefStruct** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__user_init_myRefStruct(%myRefStruct* %0) { entry: - %self = alloca %myRefStruct*, align 8 - store %myRefStruct* %0, %myRefStruct** %self, align 8 + %self = alloca %myRefStruct*, align [filtered] + store %myRefStruct* %0, %myRefStruct** %self, align [filtered] ret void } @@ -764,8 +764,8 @@ fn generating_init_functions() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %ps = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -773,8 +773,8 @@ fn generating_init_functions() { define void @bar(%bar* %0) { entry: - %this = alloca %bar*, align 8 - store %bar* %0, %bar** %this, align 8 + %this = alloca %bar*, align [filtered] + store %bar* %0, %bar** %this, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %0, i32 0, i32 0 %fb = getelementptr inbounds %bar, %bar* %0, i32 0, i32 1 ret void @@ -788,62 +788,62 @@ fn generating_init_functions() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 - %deref = load %__vtable_bar*, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] + %deref = load %__vtable_bar*, %__vtable_bar** %self, align [filtered] %__body = getelementptr inbounds %__vtable_bar, %__vtable_bar* %deref, i32 0, i32 0 - store void (%bar*)* @bar, void (%bar*)** %__body, align 8 + store void (%bar*)* @bar, void (%bar*)** %__body, align [filtered] ret void } define void @__init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %fb = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 1 call void @__init_foo(%foo* %fb) - %deref1 = load %bar*, %bar** %self, align 8 + %deref1 = load %bar*, %bar** %self, align [filtered] %__vtable = getelementptr inbounds %bar, %bar* %deref1, i32 0, i32 0 - store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_bar* @__vtable_bar_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %ps = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 1 - store %myStruct* @s, %myStruct** %ps, align 8 + store %myStruct* @s, %myStruct** %ps, align [filtered] ret void } define void @__init_mystruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } define void @__init_baz(%baz* %0) { entry: - %self = alloca %baz*, align 8 - store %baz* %0, %baz** %self, align 8 - %deref = load %baz*, %baz** %self, align 8 + %self = alloca %baz*, align [filtered] + store %baz* %0, %baz** %self, align [filtered] + %deref = load %baz*, %baz** %self, align [filtered] %fb = getelementptr inbounds %baz, %baz* %deref, i32 0, i32 0 call void @__init_bar(%bar* %fb) ret void @@ -851,23 +851,23 @@ fn generating_init_functions() { define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init___vtable_bar(%__vtable_bar* %0) { entry: - %self = alloca %__vtable_bar*, align 8 - store %__vtable_bar* %0, %__vtable_bar** %self, align 8 + %self = alloca %__vtable_bar*, align [filtered] + store %__vtable_bar* %0, %__vtable_bar** %self, align [filtered] ret void } define void @__user_init_baz(%baz* %0) { entry: - %self = alloca %baz*, align 8 - store %baz* %0, %baz** %self, align 8 - %deref = load %baz*, %baz** %self, align 8 + %self = alloca %baz*, align [filtered] + store %baz* %0, %baz** %self, align [filtered] + %deref = load %baz*, %baz** %self, align [filtered] %fb = getelementptr inbounds %baz, %baz* %deref, i32 0, i32 0 call void @__user_init_bar(%bar* %fb) ret void @@ -875,9 +875,9 @@ fn generating_init_functions() { define void @__user_init_bar(%bar* %0) { entry: - %self = alloca %bar*, align 8 - store %bar* %0, %bar** %self, align 8 - %deref = load %bar*, %bar** %self, align 8 + %self = alloca %bar*, align [filtered] + store %bar* %0, %bar** %self, align [filtered] + %deref = load %bar*, %bar** %self, align [filtered] %fb = getelementptr inbounds %bar, %bar* %deref, i32 0, i32 1 call void @__user_init_foo(%foo* %fb) ret void @@ -885,15 +885,15 @@ fn generating_init_functions() { define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init_myStruct(%myStruct* %0) { entry: - %self = alloca %myStruct*, align 8 - store %myStruct* %0, %myStruct** %self, align 8 + %self = alloca %myStruct*, align [filtered] + store %myStruct* %0, %myStruct** %self, align [filtered] ret void } @@ -963,33 +963,33 @@ fn intializing_temporary_variables() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %s = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 - %s2 = alloca [81 x i8]*, align 8 - store [81 x i8]* @ps2, [81 x i8]** %s2, align 8 - store [81 x i8]* @ps2, [81 x i8]** %s2, align 8 + %s2 = alloca [81 x i8]*, align [filtered] + store [81 x i8]* @ps2, [81 x i8]** %s2, align [filtered] + store [81 x i8]* @ps2, [81 x i8]** %s2, align [filtered] ret void } define i32 @main() { entry: - %main = alloca i32, align 4 - %fb = alloca %foo, align 8 - %s = alloca [81 x i8]*, align 8 - %s2 = alloca [81 x i8]*, align 8 + %main = alloca i32, align [filtered] + %fb = alloca %foo, align [filtered] + %s = alloca [81 x i8]*, align [filtered] + %s2 = alloca [81 x i8]*, align [filtered] %0 = bitcast %foo* %fb to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) - store [81 x i8]* null, [81 x i8]** %s, align 8 - store [81 x i8]* @ps2, [81 x i8]** %s2, align 8 - store i32 0, i32* %main, align 4 - store [81 x i8]* @ps, [81 x i8]** %s, align 8 - store [81 x i8]* @ps2, [81 x i8]** %s2, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%foo* @__foo__init to i8*), i64 ptrtoint (%foo* getelementptr (%foo, %foo* null, i32 1) to i64), i1 false) + store [81 x i8]* null, [81 x i8]** %s, align [filtered] + store [81 x i8]* @ps2, [81 x i8]** %s2, align [filtered] + store i32 0, i32* %main, align [filtered] + store [81 x i8]* @ps, [81 x i8]** %s, align [filtered] + store [81 x i8]* @ps2, [81 x i8]** %s2, align [filtered] call void @__init_foo(%foo* %fb) call void @__user_init_foo(%foo* %fb) call void @foo(%foo* %fb) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -998,38 +998,38 @@ fn intializing_temporary_variables() { define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 - %deref1 = load %foo*, %foo** %self, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] + %deref1 = load %foo*, %foo** %self, align [filtered] %s = getelementptr inbounds %foo, %foo* %deref1, i32 0, i32 1 - store [81 x i8]* @ps, [81 x i8]** %s, align 8 + store [81 x i8]* @ps, [81 x i8]** %s, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -1080,59 +1080,59 @@ fn initializing_method_variables() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 ret void } define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 - %x = alloca i32, align 4 - %px = alloca i32*, align 8 - store i32 10, i32* %x, align 4 - store i32* %x, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %x = alloca i32, align [filtered] + %px = alloca i32*, align [filtered] + store i32 10, i32* %x, align [filtered] + store i32* %x, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -1188,8 +1188,8 @@ fn initializing_method_variables() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -1197,65 +1197,65 @@ fn initializing_method_variables() { define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 - %px = alloca i32*, align 8 - store i32* %x, i32** %px, align 8 - store i32* %x, i32** %px, align 8 + %px = alloca i32*, align [filtered] + store i32* %x, i32** %px, align [filtered] + store i32* %x, i32** %px, align [filtered] ret void } define void @foo__baz(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 - %px = alloca i32*, align 8 - store i32* @y, i32** %px, align 8 - store i32* @y, i32** %px, align 8 + %px = alloca i32*, align [filtered] + store i32* @y, i32** %px, align [filtered] + store i32* @y, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 - %deref2 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] + %deref2 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %baz = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref2, i32 0, i32 2 - store void (%foo*)* @foo__baz, void (%foo*)** %baz, align 8 + store void (%foo*)* @foo__baz, void (%foo*)** %baz, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } @@ -1300,8 +1300,8 @@ fn initializing_method_variables() { define void @foo(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 ret void @@ -1309,52 +1309,52 @@ fn initializing_method_variables() { define void @foo__bar(%foo* %0) { entry: - %this = alloca %foo*, align 8 - store %foo* %0, %foo** %this, align 8 + %this = alloca %foo*, align [filtered] + store %foo* %0, %foo** %this, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %0, i32 0, i32 0 %x = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 - %x1 = alloca i32, align 4 - %px = alloca i32*, align 8 - store i32 10, i32* %x1, align 4 - store i32* %x1, i32** %px, align 8 - store i32* %x1, i32** %px, align 8 + %x1 = alloca i32, align [filtered] + %px = alloca i32*, align [filtered] + store i32 10, i32* %x1, align [filtered] + store i32* %x1, i32** %px, align [filtered] + store i32* %x1, i32** %px, align [filtered] ret void } define void @__init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 - %deref = load %__vtable_foo*, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] + %deref = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %__body = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref, i32 0, i32 0 - store void (%foo*)* @foo, void (%foo*)** %__body, align 8 - %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align 8 + store void (%foo*)* @foo, void (%foo*)** %__body, align [filtered] + %deref1 = load %__vtable_foo*, %__vtable_foo** %self, align [filtered] %bar = getelementptr inbounds %__vtable_foo, %__vtable_foo* %deref1, i32 0, i32 1 - store void (%foo*)* @foo__bar, void (%foo*)** %bar, align 8 + store void (%foo*)* @foo__bar, void (%foo*)** %bar, align [filtered] ret void } define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 - %deref = load %foo*, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] + %deref = load %foo*, %foo** %self, align [filtered] %__vtable = getelementptr inbounds %foo, %foo* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_foo* @__vtable_foo_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_foo(%__vtable_foo* %0) { entry: - %self = alloca %__vtable_foo*, align 8 - store %__vtable_foo* %0, %__vtable_foo** %self, align 8 + %self = alloca %__vtable_foo*, align [filtered] + store %__vtable_foo* %0, %__vtable_foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } diff --git a/src/tests/adr/pou_adr.rs b/src/tests/adr/pou_adr.rs index ac1ef8c706..e1d797ca4d 100644 --- a/src/tests/adr/pou_adr.rs +++ b/src/tests/adr/pou_adr.rs @@ -205,8 +205,8 @@ fn codegen_of_a_program_pou() { %io = getelementptr inbounds %main_prg, %main_prg* %0, i32 0, i32 1 %o = getelementptr inbounds %main_prg, %main_prg* %0, i32 0, i32 2 %v = getelementptr inbounds %main_prg, %main_prg* %0, i32 0, i32 3 - %vt = alloca i16, align 2 - store i16 0, i16* %vt, align 2 + %vt = alloca i16, align [filtered] + store i16 0, i16* %vt, align [filtered] ret void } "#); @@ -241,18 +241,18 @@ fn calling_a_program() { define i16 @foo() { entry: - %foo = alloca i16, align 2 - %x = alloca i16, align 2 - %y = alloca i16, align 2 - store i16 0, i16* %x, align 2 - store i16 0, i16* %y, align 2 - store i16 0, i16* %foo, align 2 - store i16 1, i16* getelementptr inbounds (%main_prg, %main_prg* @main_prg_instance, i32 0, i32 0), align 2 - store i16* %y, i16** getelementptr inbounds (%main_prg, %main_prg* @main_prg_instance, i32 0, i32 1), align 8 + %foo = alloca i16, align [filtered] + %x = alloca i16, align [filtered] + %y = alloca i16, align [filtered] + store i16 0, i16* %x, align [filtered] + store i16 0, i16* %y, align [filtered] + store i16 0, i16* %foo, align [filtered] + store i16 1, i16* getelementptr inbounds (%main_prg, %main_prg* @main_prg_instance, i32 0, i32 0), align [filtered] + store i16* %y, i16** getelementptr inbounds (%main_prg, %main_prg* @main_prg_instance, i32 0, i32 1), align [filtered] call void @main_prg(%main_prg* @main_prg_instance) - %0 = load i16, i16* getelementptr inbounds (%main_prg, %main_prg* @main_prg_instance, i32 0, i32 2), align 2 - store i16 %0, i16* %x, align 2 - %foo_ret = load i16, i16* %foo, align 2 + %0 = load i16, i16* getelementptr inbounds (%main_prg, %main_prg* @main_prg_instance, i32 0, i32 2), align [filtered] + store i16 %0, i16* %x, align [filtered] + %foo_ret = load i16, i16* %foo, align [filtered] ret i16 %foo_ret } @@ -262,8 +262,8 @@ fn calling_a_program() { %io = getelementptr inbounds %main_prg, %main_prg* %0, i32 0, i32 1 %o = getelementptr inbounds %main_prg, %main_prg* %0, i32 0, i32 2 %v = getelementptr inbounds %main_prg, %main_prg* %0, i32 0, i32 3 - %vt = alloca i16, align 2 - store i16 0, i16* %vt, align 2 + %vt = alloca i16, align [filtered] + store i16 0, i16* %vt, align [filtered] ret void } "#); @@ -306,14 +306,14 @@ fn function_blocks_get_a_method_with_a_self_parameter() { define void @main_fb(%main_fb* %0) { entry: - %this = alloca %main_fb*, align 8 - store %main_fb* %0, %main_fb** %this, align 8 + %this = alloca %main_fb*, align [filtered] + store %main_fb* %0, %main_fb** %this, align [filtered] %i = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 0 %io = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 1 %o = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 2 %v = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 3 - %vt = alloca i16, align 2 - store i16 2, i16* %vt, align 2 + %vt = alloca i16, align [filtered] + store i16 2, i16* %vt, align [filtered] ret void } "#); @@ -355,26 +355,26 @@ fn calling_a_function_block() { %y = getelementptr inbounds %foo, %foo* %0, i32 0, i32 1 %fb = getelementptr inbounds %foo, %foo* %0, i32 0, i32 2 %1 = getelementptr inbounds %main_fb, %main_fb* %fb, i32 0, i32 0 - store i16 1, i16* %1, align 2 + store i16 1, i16* %1, align [filtered] %2 = getelementptr inbounds %main_fb, %main_fb* %fb, i32 0, i32 1 - store i16* %y, i16** %2, align 8 + store i16* %y, i16** %2, align [filtered] call void @main_fb(%main_fb* %fb) %3 = getelementptr inbounds %main_fb, %main_fb* %fb, i32 0, i32 2 - %4 = load i16, i16* %3, align 2 - store i16 %4, i16* %x, align 2 + %4 = load i16, i16* %3, align [filtered] + store i16 %4, i16* %x, align [filtered] ret void } define void @main_fb(%main_fb* %0) { entry: - %this = alloca %main_fb*, align 8 - store %main_fb* %0, %main_fb** %this, align 8 + %this = alloca %main_fb*, align [filtered] + store %main_fb* %0, %main_fb** %this, align [filtered] %i = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 0 %io = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 1 %o = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 2 %v = getelementptr inbounds %main_fb, %main_fb* %0, i32 0, i32 3 - %vt = alloca i16, align 2 - store i16 2, i16* %vt, align 2 + %vt = alloca i16, align [filtered] + store i16 2, i16* %vt, align [filtered] ret void } "#); @@ -407,19 +407,19 @@ fn function_get_a_method_with_by_ref_parameters() { define i32 @main_fun(i16 %0, i8* %1, i64* %2) { entry: - %main_fun = alloca i32, align 4 - %i = alloca i16, align 2 - store i16 %0, i16* %i, align 2 - %io = alloca i8*, align 8 - store i8* %1, i8** %io, align 8 - %o = alloca i64*, align 8 - store i64* %2, i64** %o, align 8 - %v = alloca i16, align 2 - %vt = alloca i16, align 2 - store i16 1, i16* %v, align 2 - store i16 2, i16* %vt, align 2 - store i32 0, i32* %main_fun, align 4 - %main_fun_ret = load i32, i32* %main_fun, align 4 + %main_fun = alloca i32, align [filtered] + %i = alloca i16, align [filtered] + store i16 %0, i16* %i, align [filtered] + %io = alloca i8*, align [filtered] + store i8* %1, i8** %io, align [filtered] + %o = alloca i64*, align [filtered] + store i64* %2, i64** %o, align [filtered] + %v = alloca i16, align [filtered] + %vt = alloca i16, align [filtered] + store i16 1, i16* %v, align [filtered] + store i16 2, i16* %vt, align [filtered] + store i32 0, i32* %main_fun, align [filtered] + %main_fun_ret = load i32, i32* %main_fun, align [filtered] ret i32 %main_fun_ret } "#); @@ -457,27 +457,27 @@ fn calling_a_function() { entry: %x = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %z = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 - %load_x = load i16, i16* %x, align 2 - %1 = alloca i64, align 8 + %load_x = load i16, i16* %x, align [filtered] + %1 = alloca i64, align [filtered] %call = call i32 @main_fun(i16 %load_x, i8* %z, i64* %1) ret void } define i32 @main_fun(i16 %0, i8* %1, i64* %2) { entry: - %main_fun = alloca i32, align 4 - %i = alloca i16, align 2 - store i16 %0, i16* %i, align 2 - %io = alloca i8*, align 8 - store i8* %1, i8** %io, align 8 - %o = alloca i64*, align 8 - store i64* %2, i64** %o, align 8 - %v = alloca i16, align 2 - %vt = alloca i16, align 2 - store i16 1, i16* %v, align 2 - store i16 2, i16* %vt, align 2 - store i32 0, i32* %main_fun, align 4 - %main_fun_ret = load i32, i32* %main_fun, align 4 + %main_fun = alloca i32, align [filtered] + %i = alloca i16, align [filtered] + store i16 %0, i16* %i, align [filtered] + %io = alloca i8*, align [filtered] + store i8* %1, i8** %io, align [filtered] + %o = alloca i64*, align [filtered] + store i64* %2, i64** %o, align [filtered] + %v = alloca i16, align [filtered] + %vt = alloca i16, align [filtered] + store i16 1, i16* %v, align [filtered] + store i16 2, i16* %vt, align [filtered] + store i32 0, i32* %main_fun, align [filtered] + %main_fun_ret = load i32, i32* %main_fun, align [filtered] ret i32 %main_fun_ret } "#); @@ -520,24 +520,24 @@ fn return_a_complex_type_from_function() { define void @foo(i8* %0) { entry: - %foo = alloca i8*, align 8 - store i8* %0, i8** %foo, align 8 - %deref = load i8*, i8** %foo, align 8 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %deref, i8* align 1 getelementptr inbounds ([13 x i8], [13 x i8]* @utf08_literal_0, i32 0, i32 0), i32 13, i1 false) + %foo = alloca i8*, align [filtered] + store i8* %0, i8** %foo, align [filtered] + %deref = load i8*, i8** %foo, align [filtered] + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %deref, i8* align [filtered] getelementptr inbounds ([13 x i8], [13 x i8]* @utf08_literal_0, i32 0, i32 0), i32 13, i1 false) ret void } define void @prg(%prg* %0) { entry: %s = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 - %__foo0 = alloca [81 x i8], align 1 + %__foo0 = alloca [81 x i8], align [filtered] %1 = bitcast [81 x i8]* %__foo0 to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %1, i8 0, i64 ptrtoint ([81 x i8]* getelementptr ([81 x i8], [81 x i8]* null, i32 1) to i64), i1 false) %2 = bitcast [81 x i8]* %__foo0 to i8* call void @foo(i8* %2) %3 = bitcast [81 x i8]* %s to i8* %4 = bitcast [81 x i8]* %__foo0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %3, i8* align 1 %4, i32 80, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %3, i8* align [filtered] %4, i32 80, i1 false) ret void } @@ -604,26 +604,26 @@ fn passing_aggregate_types_to_functions_by_value() { define void @foo(i8* %0, i16* %1, i32* %2, %myStruct* %3) { entry: - %s = alloca [81 x i8], align 1 + %s = alloca [81 x i8], align [filtered] %bitcast = bitcast [81 x i8]* %s to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %bitcast, i8 0, i64 81, i1 false) - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %bitcast, i8* align 1 %0, i64 80, i1 false) - %ws = alloca [81 x i16], align 2 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %bitcast, i8 0, i64 81, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %bitcast, i8* align [filtered] %0, i64 80, i1 false) + %ws = alloca [81 x i16], align [filtered] %bitcast1 = bitcast [81 x i16]* %ws to i16* %4 = bitcast i16* %bitcast1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 2 %4, i8 0, i64 162, i1 false) + call void @llvm.memset.p0i8.i64(i8* align [filtered] %4, i8 0, i64 162, i1 false) %5 = bitcast i16* %bitcast1 to i8* %6 = bitcast i16* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 2 %5, i8* align 2 %6, i64 160, i1 false) - %arr = alloca [30000 x i32], align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %5, i8* align [filtered] %6, i64 160, i1 false) + %arr = alloca [30000 x i32], align [filtered] %bitcast2 = bitcast [30000 x i32]* %arr to i32* %7 = bitcast i32* %bitcast2 to i8* %8 = bitcast i32* %2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %7, i8* align 1 %8, i64 ptrtoint ([30000 x i32]* getelementptr ([30000 x i32], [30000 x i32]* null, i32 1) to i64), i1 false) - %st = alloca %myStruct, align 8 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %7, i8* align [filtered] %8, i64 ptrtoint ([30000 x i32]* getelementptr ([30000 x i32], [30000 x i32]* null, i32 1) to i64), i1 false) + %st = alloca %myStruct, align [filtered] %9 = bitcast %myStruct* %st to i8* %10 = bitcast %myStruct* %3 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %9, i8* align 1 %10, i64 ptrtoint (%myStruct* getelementptr (%myStruct, %myStruct* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %9, i8* align [filtered] %10, i64 ptrtoint (%myStruct* getelementptr (%myStruct, %myStruct* null, i32 1) to i64), i1 false) ret void } @@ -690,13 +690,13 @@ fn passing_by_ref_to_functions() { define i8 @StrEqual(i8* %0, i8* %1) { entry: - %StrEqual = alloca i8, align 1 - %o1 = alloca i8*, align 8 - store i8* %0, i8** %o1, align 8 - %o2 = alloca i8*, align 8 - store i8* %1, i8** %o2, align 8 - store i8 0, i8* %StrEqual, align 1 - %StrEqual_ret = load i8, i8* %StrEqual, align 1 + %StrEqual = alloca i8, align [filtered] + %o1 = alloca i8*, align [filtered] + store i8* %0, i8** %o1, align [filtered] + %o2 = alloca i8*, align [filtered] + store i8* %1, i8** %o2, align [filtered] + store i8 0, i8* %StrEqual, align [filtered] + %StrEqual_ret = load i8, i8* %StrEqual, align [filtered] ret i8 %StrEqual_ret } diff --git a/src/tests/adr/strings_adr.rs b/src/tests/adr/strings_adr.rs index 888c98bda7..24b976721e 100644 --- a/src/tests/adr/strings_adr.rs +++ b/src/tests/adr/strings_adr.rs @@ -82,7 +82,7 @@ fn assigning_strings() { %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [11 x i8]* %a to i8* %2 = bitcast [11 x i8]* %b to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 %2, i32 10, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] %2, i32 10, i1 false) ret void } @@ -126,9 +126,9 @@ fn assigning_string_literals() { %a = getelementptr inbounds %prg, %prg* %0, i32 0, i32 0 %b = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast [11 x i8]* %a to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %1, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %1, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_0, i32 0, i32 0), i32 6, i1 false) %2 = bitcast [11 x i8]* %b to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %2, i8* align 1 getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* align [filtered] %2, i8* align [filtered] getelementptr inbounds ([6 x i8], [6 x i8]* @utf08_literal_1, i32 0, i32 0), i32 6, i1 false) ret void } diff --git a/src/tests/adr/structs_adr.rs b/src/tests/adr/structs_adr.rs index cda4ae3552..15d64831f5 100644 --- a/src/tests/adr/structs_adr.rs +++ b/src/tests/adr/structs_adr.rs @@ -160,7 +160,7 @@ fn assigning_structs() { %p2 = getelementptr inbounds %prg, %prg* %0, i32 0, i32 1 %1 = bitcast %Point* %p1 to i8* %2 = bitcast %Point* %p2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 %2, i64 ptrtoint (%Point* getelementptr (%Point, %Point* null, i32 1) to i64), i1 false) + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %1, i8* align [filtered] %2, i64 ptrtoint (%Point* getelementptr (%Point, %Point* null, i32 1) to i64), i1 false) ret void } @@ -222,8 +222,8 @@ fn accessing_struct_members() { %x = getelementptr inbounds %Point, %Point* %topLeft, i32 0, i32 0 %bottomRight = getelementptr inbounds %Rect, %Rect* %rect2, i32 0, i32 1 %x1 = getelementptr inbounds %Point, %Point* %bottomRight, i32 0, i32 0 - %load_x = load i16, i16* %x1, align 2 - store i16 %load_x, i16* %x, align 2 + %load_x = load i16, i16* %x1, align [filtered] + store i16 %load_x, i16* %x, align [filtered] ret void } "#); diff --git a/src/tests/adr/vla_adr.rs b/src/tests/adr/vla_adr.rs index 9e8ee65e64..9950b8a50d 100644 --- a/src/tests/adr/vla_adr.rs +++ b/src/tests/adr/vla_adr.rs @@ -320,33 +320,33 @@ fn pass() { define i32 @main() { entry: - %main = alloca i32, align 4 - %local = alloca [6 x i32], align 4 + %main = alloca i32, align [filtered] + %local = alloca [6 x i32], align [filtered] %0 = bitcast [6 x i32]* %local to i8* - call void @llvm.memset.p0i8.i64(i8* align 1 %0, i8 0, i64 ptrtoint ([6 x i32]* getelementptr ([6 x i32], [6 x i32]* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 - %auto_deref = load [6 x i32], [6 x i32]* %local, align 4 + call void @llvm.memset.p0i8.i64(i8* align [filtered] %0, i8 0, i64 ptrtoint ([6 x i32]* getelementptr ([6 x i32], [6 x i32]* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] + %auto_deref = load [6 x i32], [6 x i32]* %local, align [filtered] %outer_arr_gep = getelementptr inbounds [6 x i32], [6 x i32]* %local, i32 0, i32 0 - %vla_struct = alloca %__foo_arr, align 8 + %vla_struct = alloca %__foo_arr, align [filtered] %vla_array_gep = getelementptr inbounds %__foo_arr, %__foo_arr* %vla_struct, i32 0, i32 0 %vla_dimensions_gep = getelementptr inbounds %__foo_arr, %__foo_arr* %vla_struct, i32 0, i32 1 - store [2 x i32] [i32 0, i32 5], [2 x i32]* %vla_dimensions_gep, align 4 - store i32* %outer_arr_gep, i32** %vla_array_gep, align 8 - %1 = load %__foo_arr, %__foo_arr* %vla_struct, align 8 - %vla_struct_ptr = alloca %__foo_arr, align 8 - store %__foo_arr %1, %__foo_arr* %vla_struct_ptr, align 8 + store [2 x i32] [i32 0, i32 5], [2 x i32]* %vla_dimensions_gep, align [filtered] + store i32* %outer_arr_gep, i32** %vla_array_gep, align [filtered] + %1 = load %__foo_arr, %__foo_arr* %vla_struct, align [filtered] + %vla_struct_ptr = alloca %__foo_arr, align [filtered] + store %__foo_arr %1, %__foo_arr* %vla_struct_ptr, align [filtered] %call = call i32 @foo(%__foo_arr* %vla_struct_ptr) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @foo(%__foo_arr* %0) { entry: - %foo = alloca i32, align 4 - %arr = alloca %__foo_arr*, align 8 - store %__foo_arr* %0, %__foo_arr** %arr, align 8 - store i32 0, i32* %foo, align 4 - %foo_ret = load i32, i32* %foo, align 4 + %foo = alloca i32, align [filtered] + %arr = alloca %__foo_arr*, align [filtered] + store %__foo_arr* %0, %__foo_arr** %arr, align [filtered] + store i32 0, i32* %foo, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } @@ -388,22 +388,22 @@ fn access() { define i32 @foo(%__foo_arr* %0) { entry: - %foo = alloca i32, align 4 - %arr = alloca %__foo_arr*, align 8 - store %__foo_arr* %0, %__foo_arr** %arr, align 8 - store i32 0, i32* %foo, align 4 - %deref = load %__foo_arr*, %__foo_arr** %arr, align 8 + %foo = alloca i32, align [filtered] + %arr = alloca %__foo_arr*, align [filtered] + store %__foo_arr* %0, %__foo_arr** %arr, align [filtered] + store i32 0, i32* %foo, align [filtered] + %deref = load %__foo_arr*, %__foo_arr** %arr, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_arr, %__foo_arr* %deref, i32 0, i32 0 - %vla_arr_ptr = load i32*, i32** %vla_arr_gep, align 8 + %vla_arr_ptr = load i32*, i32** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_arr, %__foo_arr* %deref, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %tmpVar = sub i32 0, %start_idx_value0 %arr_val = getelementptr inbounds i32, i32* %vla_arr_ptr, i32 %tmpVar - store i32 12345, i32* %arr_val, align 4 - %foo_ret = load i32, i32* %foo, align 4 + store i32 12345, i32* %arr_val, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#); @@ -448,48 +448,48 @@ fn multi_dimensional() { define i32 @foo(%__foo_arr* %0) { entry: - %foo = alloca i32, align 4 - %arr = alloca %__foo_arr*, align 8 - store %__foo_arr* %0, %__foo_arr** %arr, align 8 - store i32 0, i32* %foo, align 4 - %deref = load %__foo_arr*, %__foo_arr** %arr, align 8 + %foo = alloca i32, align [filtered] + %arr = alloca %__foo_arr*, align [filtered] + store %__foo_arr* %0, %__foo_arr** %arr, align [filtered] + store i32 0, i32* %foo, align [filtered] + %deref = load %__foo_arr*, %__foo_arr** %arr, align [filtered] %vla_arr_gep = getelementptr inbounds %__foo_arr, %__foo_arr* %deref, i32 0, i32 0 - %vla_arr_ptr = load i32*, i32** %vla_arr_gep, align 8 + %vla_arr_ptr = load i32*, i32** %vla_arr_gep, align [filtered] %dim_arr = getelementptr inbounds %__foo_arr, %__foo_arr* %deref, i32 0, i32 1 %start_idx_ptr0 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 0 %end_idx_ptr0 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 1 - %start_idx_value0 = load i32, i32* %start_idx_ptr0, align 4 - %end_idx_value0 = load i32, i32* %end_idx_ptr0, align 4 + %start_idx_value0 = load i32, i32* %start_idx_ptr0, align [filtered] + %end_idx_value0 = load i32, i32* %end_idx_ptr0, align [filtered] %start_idx_ptr1 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 2 %end_idx_ptr1 = getelementptr inbounds [4 x i32], [4 x i32]* %dim_arr, i32 0, i32 3 - %start_idx_value1 = load i32, i32* %start_idx_ptr1, align 4 - %end_idx_value1 = load i32, i32* %end_idx_ptr1, align 4 + %start_idx_value1 = load i32, i32* %start_idx_ptr1, align [filtered] + %end_idx_value1 = load i32, i32* %end_idx_ptr1, align [filtered] %1 = sub i32 %end_idx_value0, %start_idx_value0 %len_dim0 = add i32 1, %1 %2 = sub i32 %end_idx_value1, %start_idx_value1 %len_dim1 = add i32 1, %2 - %accum = alloca i32, align 4 - store i32 1, i32* %accum, align 4 - %load_accum = load i32, i32* %accum, align 4 + %accum = alloca i32, align [filtered] + store i32 1, i32* %accum, align [filtered] + %load_accum = load i32, i32* %accum, align [filtered] %product = mul i32 %load_accum, %len_dim1 - store i32 %product, i32* %accum, align 4 - %accessor_factor = load i32, i32* %accum, align 4 + store i32 %product, i32* %accum, align [filtered] + %accessor_factor = load i32, i32* %accum, align [filtered] %adj_access0 = sub i32 0, %start_idx_value0 %adj_access1 = sub i32 1, %start_idx_value1 - %accum1 = alloca i32, align 4 - store i32 0, i32* %accum1, align 4 + %accum1 = alloca i32, align [filtered] + store i32 0, i32* %accum1, align [filtered] %multiply = mul i32 %adj_access0, %accessor_factor - %load_accum2 = load i32, i32* %accum1, align 4 + %load_accum2 = load i32, i32* %accum1, align [filtered] %accumulate = add i32 %load_accum2, %multiply - store i32 %accumulate, i32* %accum1, align 4 + store i32 %accumulate, i32* %accum1, align [filtered] %multiply3 = mul i32 %adj_access1, 1 - %load_accum4 = load i32, i32* %accum1, align 4 + %load_accum4 = load i32, i32* %accum1, align [filtered] %accumulate5 = add i32 %load_accum4, %multiply3 - store i32 %accumulate5, i32* %accum1, align 4 - %accessor = load i32, i32* %accum1, align 4 + store i32 %accumulate5, i32* %accum1, align [filtered] + %accessor = load i32, i32* %accum1, align [filtered] %arr_val = getelementptr inbounds i32, i32* %vla_arr_ptr, i32 %accessor - store i32 12345, i32* %arr_val, align 4 - %foo_ret = load i32, i32* %foo, align 4 + store i32 12345, i32* %arr_val, align [filtered] + %foo_ret = load i32, i32* %foo, align [filtered] ret i32 %foo_ret } "#); diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap index 63647abd3b..b794311623 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap @@ -14,7 +14,7 @@ entry: call void @llvm.dbg.declare(metadata %main* %0, metadata !16, metadata !DIExpression()), !dbg !17 %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - store i32 0, i32* %a, align 4, !dbg !18 + store i32 0, i32* %a, align [filtered], !dbg !18 call void @main__newAction(%main* %0), !dbg !17 call void @main__newAction2(%main* %0), !dbg !19 ret void, !dbg !20 @@ -25,9 +25,9 @@ entry: call void @llvm.dbg.declare(metadata %main* %0, metadata !15, metadata !DIExpression()), !dbg !21 %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %load_a = load i32, i32* %a, align 4, !dbg !21 + %load_a = load i32, i32* %a, align [filtered], !dbg !21 %tmpVar = add i32 %load_a, 1, !dbg !21 - store i32 %tmpVar, i32* %a, align 4, !dbg !21 + store i32 %tmpVar, i32* %a, align [filtered], !dbg !21 ret void, !dbg !22 } @@ -36,9 +36,9 @@ entry: call void @llvm.dbg.declare(metadata %main* %0, metadata !15, metadata !DIExpression()), !dbg !21 %a = getelementptr inbounds %main, %main* %0, i32 0, i32 0 %b = getelementptr inbounds %main, %main* %0, i32 0, i32 1 - %load_b = load i32, i32* %b, align 4, !dbg !23 + %load_b = load i32, i32* %b, align [filtered], !dbg !23 %tmpVar = add i32 %load_b, 2, !dbg !23 - store i32 %tmpVar, i32* %b, align 4, !dbg !23 + store i32 %tmpVar, i32* %b, align [filtered], !dbg !23 ret void, !dbg !22 } @@ -47,15 +47,15 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) #0 define void @__init_main(%main* %0) { entry: - %self = alloca %main*, align 8 - store %main* %0, %main** %self, align 8 + %self = alloca %main*, align [filtered] + store %main* %0, %main** %self, align [filtered] ret void } define void @__user_init_main(%main* %0) { entry: - %self = alloca %main*, align 8 - store %main* %0, %main** %self, align 8 + %self = alloca %main*, align [filtered] + store %main* %0, %main** %self, align [filtered] ret void } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap index c084a257c0..4305a1539b 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return.snap @@ -14,11 +14,11 @@ target triple = "[filtered]" define void @conditional_return(%conditional_return* %0) { entry: - %this = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %this, align 8 + %this = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %this, align [filtered] %__vtable = getelementptr inbounds %conditional_return, %conditional_return* %0, i32 0, i32 0 %val = getelementptr inbounds %conditional_return, %conditional_return* %0, i32 0, i32 1 - %load_val = load i32, i32* %val, align 4 + %load_val = load i32, i32* %val, align [filtered] %tmpVar = icmp eq i32 %load_val, 5 br i1 %tmpVar, label %then_block, label %else_block @@ -26,41 +26,41 @@ then_block: ; preds = %entry ret void else_block: ; preds = %entry - store i32 10, i32* %val, align 4 + store i32 10, i32* %val, align [filtered] ret void } define void @__init___vtable_conditional_return(%__vtable_conditional_return* %0) { entry: - %self = alloca %__vtable_conditional_return*, align 8 - store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align 8 - %deref = load %__vtable_conditional_return*, %__vtable_conditional_return** %self, align 8 + %self = alloca %__vtable_conditional_return*, align [filtered] + store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align [filtered] + %deref = load %__vtable_conditional_return*, %__vtable_conditional_return** %self, align [filtered] %__body = getelementptr inbounds %__vtable_conditional_return, %__vtable_conditional_return* %deref, i32 0, i32 0 - store void (%conditional_return*)* @conditional_return, void (%conditional_return*)** %__body, align 8 + store void (%conditional_return*)* @conditional_return, void (%conditional_return*)** %__body, align [filtered] ret void } define void @__init_conditional_return(%conditional_return* %0) { entry: - %self = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %self, align 8 - %deref = load %conditional_return*, %conditional_return** %self, align 8 + %self = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %self, align [filtered] + %deref = load %conditional_return*, %conditional_return** %self, align [filtered] %__vtable = getelementptr inbounds %conditional_return, %conditional_return* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_conditional_return* @__vtable_conditional_return_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_conditional_return* @__vtable_conditional_return_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_conditional_return(%__vtable_conditional_return* %0) { entry: - %self = alloca %__vtable_conditional_return*, align 8 - store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align 8 + %self = alloca %__vtable_conditional_return*, align [filtered] + store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align [filtered] ret void } define void @__user_init_conditional_return(%conditional_return* %0) { entry: - %self = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %self, align 8 + %self = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %self, align [filtered] ret void } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap index c6713c2852..7b678222f9 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap @@ -8,23 +8,23 @@ target triple = "[filtered]" define i32 @foo(i32 %0) !dbg !4 { entry: - %foo = alloca i32, align 4 - %val = alloca i32, align 4 + %foo = alloca i32, align [filtered] + %val = alloca i32, align [filtered] call void @llvm.dbg.declare(metadata i32* %val, metadata !9, metadata !DIExpression()), !dbg !10 - store i32 %0, i32* %val, align 4 + store i32 %0, i32* %val, align [filtered] call void @llvm.dbg.declare(metadata i32* %foo, metadata !11, metadata !DIExpression()), !dbg !12 - store i32 0, i32* %foo, align 4 - %load_val = load i32, i32* %val, align 4, !dbg !13 + store i32 0, i32* %foo, align [filtered] + %load_val = load i32, i32* %val, align [filtered], !dbg !13 %tmpVar = icmp eq i32 %load_val, 5, !dbg !13 br i1 %tmpVar, label %then_block, label %else_block, !dbg !13 then_block: ; preds = %entry - %foo_ret = load i32, i32* %foo, align 4, !dbg !14 + %foo_ret = load i32, i32* %foo, align [filtered], !dbg !14 ret i32 %foo_ret, !dbg !14 else_block: ; preds = %entry - store i32 10, i32* %val, align 4, !dbg !15 - %foo_ret1 = load i32, i32* %foo, align 4, !dbg !16 + store i32 10, i32* %val, align [filtered], !dbg !15 + %foo_ret1 = load i32, i32* %foo, align [filtered], !dbg !16 ret i32 %foo_ret1, !dbg !16 } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap index 16095b6fc7..05cf5825ba 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true.snap @@ -14,23 +14,23 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %my_val = alloca i32, align 4 - %conditional = alloca %conditional_return, align 8 - store i32 5, i32* %my_val, align 4 + %main = alloca i32, align [filtered] + %my_val = alloca i32, align [filtered] + %conditional = alloca %conditional_return, align [filtered] + store i32 5, i32* %my_val, align [filtered] %0 = bitcast %conditional_return* %conditional to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%conditional_return* @__conditional_return__init to i8*), i64 ptrtoint (%conditional_return* getelementptr (%conditional_return, %conditional_return* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%conditional_return* @__conditional_return__init to i8*), i64 ptrtoint (%conditional_return* getelementptr (%conditional_return, %conditional_return* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] call void @__init_conditional_return(%conditional_return* %conditional) call void @__user_init_conditional_return(%conditional_return* %conditional) %val = getelementptr inbounds %conditional_return, %conditional_return* %conditional, i32 0, i32 1 - %load_my_val = load i32, i32* %my_val, align 4 - store i32 %load_my_val, i32* %val, align 4 + %load_my_val = load i32, i32* %my_val, align [filtered] + store i32 %load_my_val, i32* %val, align [filtered] call void @conditional_return(%conditional_return* %conditional) %val1 = getelementptr inbounds %conditional_return, %conditional_return* %conditional, i32 0, i32 1 - %load_val = load i32, i32* %val1, align 4 - store i32 %load_val, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + %load_val = load i32, i32* %val1, align [filtered] + store i32 %load_val, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -39,11 +39,11 @@ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noa define void @conditional_return(%conditional_return* %0) { entry: - %this = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %this, align 8 + %this = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %this, align [filtered] %__vtable = getelementptr inbounds %conditional_return, %conditional_return* %0, i32 0, i32 0 %val = getelementptr inbounds %conditional_return, %conditional_return* %0, i32 0, i32 1 - %load_val = load i32, i32* %val, align 4 + %load_val = load i32, i32* %val, align [filtered] %tmpVar = icmp eq i32 %load_val, 5 br i1 %tmpVar, label %then_block, label %else_block @@ -51,41 +51,41 @@ then_block: ; preds = %entry ret void else_block: ; preds = %entry - store i32 10, i32* %val, align 4 + store i32 10, i32* %val, align [filtered] ret void } define void @__init___vtable_conditional_return(%__vtable_conditional_return* %0) { entry: - %self = alloca %__vtable_conditional_return*, align 8 - store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align 8 - %deref = load %__vtable_conditional_return*, %__vtable_conditional_return** %self, align 8 + %self = alloca %__vtable_conditional_return*, align [filtered] + store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align [filtered] + %deref = load %__vtable_conditional_return*, %__vtable_conditional_return** %self, align [filtered] %__body = getelementptr inbounds %__vtable_conditional_return, %__vtable_conditional_return* %deref, i32 0, i32 0 - store void (%conditional_return*)* @conditional_return, void (%conditional_return*)** %__body, align 8 + store void (%conditional_return*)* @conditional_return, void (%conditional_return*)** %__body, align [filtered] ret void } define void @__init_conditional_return(%conditional_return* %0) { entry: - %self = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %self, align 8 - %deref = load %conditional_return*, %conditional_return** %self, align 8 + %self = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %self, align [filtered] + %deref = load %conditional_return*, %conditional_return** %self, align [filtered] %__vtable = getelementptr inbounds %conditional_return, %conditional_return* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_conditional_return* @__vtable_conditional_return_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_conditional_return* @__vtable_conditional_return_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_conditional_return(%__vtable_conditional_return* %0) { entry: - %self = alloca %__vtable_conditional_return*, align 8 - store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align 8 + %self = alloca %__vtable_conditional_return*, align [filtered] + store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align [filtered] ret void } define void @__user_init_conditional_return(%conditional_return* %0) { entry: - %self = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %self, align 8 + %self = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %self, align [filtered] ret void } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap index 67b64413ed..23ad3fb354 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_evaluating_true_negated.snap @@ -14,23 +14,23 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %my_val = alloca i32, align 4 - %conditional = alloca %conditional_return, align 8 - store i32 5, i32* %my_val, align 4 + %main = alloca i32, align [filtered] + %my_val = alloca i32, align [filtered] + %conditional = alloca %conditional_return, align [filtered] + store i32 5, i32* %my_val, align [filtered] %0 = bitcast %conditional_return* %conditional to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 bitcast (%conditional_return* @__conditional_return__init to i8*), i64 ptrtoint (%conditional_return* getelementptr (%conditional_return, %conditional_return* null, i32 1) to i64), i1 false) - store i32 0, i32* %main, align 4 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align [filtered] %0, i8* align [filtered] bitcast (%conditional_return* @__conditional_return__init to i8*), i64 ptrtoint (%conditional_return* getelementptr (%conditional_return, %conditional_return* null, i32 1) to i64), i1 false) + store i32 0, i32* %main, align [filtered] call void @__init_conditional_return(%conditional_return* %conditional) call void @__user_init_conditional_return(%conditional_return* %conditional) %val = getelementptr inbounds %conditional_return, %conditional_return* %conditional, i32 0, i32 1 - %load_my_val = load i32, i32* %my_val, align 4 - store i32 %load_my_val, i32* %val, align 4 + %load_my_val = load i32, i32* %my_val, align [filtered] + store i32 %load_my_val, i32* %val, align [filtered] call void @conditional_return(%conditional_return* %conditional) %val1 = getelementptr inbounds %conditional_return, %conditional_return* %conditional, i32 0, i32 1 - %load_val = load i32, i32* %val1, align 4 - store i32 %load_val, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + %load_val = load i32, i32* %val1, align [filtered] + store i32 %load_val, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } @@ -39,11 +39,11 @@ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noa define void @conditional_return(%conditional_return* %0) { entry: - %this = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %this, align 8 + %this = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %this, align [filtered] %__vtable = getelementptr inbounds %conditional_return, %conditional_return* %0, i32 0, i32 0 %val = getelementptr inbounds %conditional_return, %conditional_return* %0, i32 0, i32 1 - %load_val = load i32, i32* %val, align 4 + %load_val = load i32, i32* %val, align [filtered] %tmpVar = icmp eq i32 %load_val, 5 %tmpVar1 = xor i1 %tmpVar, true br i1 %tmpVar1, label %then_block, label %else_block @@ -52,41 +52,41 @@ then_block: ; preds = %entry ret void else_block: ; preds = %entry - store i32 10, i32* %val, align 4 + store i32 10, i32* %val, align [filtered] ret void } define void @__init___vtable_conditional_return(%__vtable_conditional_return* %0) { entry: - %self = alloca %__vtable_conditional_return*, align 8 - store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align 8 - %deref = load %__vtable_conditional_return*, %__vtable_conditional_return** %self, align 8 + %self = alloca %__vtable_conditional_return*, align [filtered] + store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align [filtered] + %deref = load %__vtable_conditional_return*, %__vtable_conditional_return** %self, align [filtered] %__body = getelementptr inbounds %__vtable_conditional_return, %__vtable_conditional_return* %deref, i32 0, i32 0 - store void (%conditional_return*)* @conditional_return, void (%conditional_return*)** %__body, align 8 + store void (%conditional_return*)* @conditional_return, void (%conditional_return*)** %__body, align [filtered] ret void } define void @__init_conditional_return(%conditional_return* %0) { entry: - %self = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %self, align 8 - %deref = load %conditional_return*, %conditional_return** %self, align 8 + %self = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %self, align [filtered] + %deref = load %conditional_return*, %conditional_return** %self, align [filtered] %__vtable = getelementptr inbounds %conditional_return, %conditional_return* %deref, i32 0, i32 0 - store i32* bitcast (%__vtable_conditional_return* @__vtable_conditional_return_instance to i32*), i32** %__vtable, align 8 + store i32* bitcast (%__vtable_conditional_return* @__vtable_conditional_return_instance to i32*), i32** %__vtable, align [filtered] ret void } define void @__user_init___vtable_conditional_return(%__vtable_conditional_return* %0) { entry: - %self = alloca %__vtable_conditional_return*, align 8 - store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align 8 + %self = alloca %__vtable_conditional_return*, align [filtered] + store %__vtable_conditional_return* %0, %__vtable_conditional_return** %self, align [filtered] ret void } define void @__user_init_conditional_return(%conditional_return* %0) { entry: - %self = alloca %conditional_return*, align 8 - store %conditional_return* %0, %conditional_return** %self, align 8 + %self = alloca %conditional_return*, align [filtered] + store %conditional_return* %0, %conditional_return** %self, align [filtered] ret void } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap index ac7e3657eb..9f2dd1c3d3 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap @@ -16,12 +16,12 @@ entry: br label %lbl, !dbg !17 lbl: ; preds = %lbl, %entry - %load_val = load i32, i32* %val, align 4, !dbg !16 + %load_val = load i32, i32* %val, align [filtered], !dbg !16 %tmpVar = icmp eq i32 %load_val, 0, !dbg !16 br i1 %tmpVar, label %lbl, label %else_block, !dbg !18 else_block: ; preds = %lbl - store i32 1, i32* %val, align 4, !dbg !19 + store i32 1, i32* %val, align [filtered], !dbg !19 ret void, !dbg !20 } @@ -30,15 +30,15 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) #0 define void @__init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } define void @__user_init_foo(%foo* %0) { entry: - %self = alloca %foo*, align 8 - store %foo* %0, %foo** %self, align 8 + %self = alloca %foo*, align [filtered] + store %foo* %0, %foo** %self, align [filtered] ret void } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap index b7334b1fcd..711d5b56ae 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_false.snap @@ -8,27 +8,27 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x = alloca i8, align 1 - %a = alloca i32, align 4 - store i8 0, i8* %x, align 1 - store i32 0, i32* %a, align 4 - store i32 0, i32* %main, align 4 - store i8 0, i8* %x, align 1 - %load_x = load i8, i8* %x, align 1 + %main = alloca i32, align [filtered] + %x = alloca i8, align [filtered] + %a = alloca i32, align [filtered] + store i8 0, i8* %x, align [filtered] + store i32 0, i32* %a, align [filtered] + store i32 0, i32* %main, align [filtered] + store i8 0, i8* %x, align [filtered] + %load_x = load i8, i8* %x, align [filtered] br i8 %load_x, label %lbl, label %else_block else_block: ; preds = %entry - store i32 2, i32* %a, align 4 + store i32 2, i32* %a, align [filtered] br label %lbl lbl: ; preds = %else_block, %entry - %load_a = load i32, i32* %a, align 4 + %load_a = load i32, i32* %a, align [filtered] %tmpVar = add i32 %load_a, 3 - store i32 %tmpVar, i32* %a, align 4 - %load_a1 = load i32, i32* %a, align 4 - store i32 %load_a1, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + store i32 %tmpVar, i32* %a, align [filtered] + %load_a1 = load i32, i32* %a, align [filtered] + store i32 %load_a1, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap index 153360236d..1e7425d74e 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_to_label_with_true.snap @@ -8,27 +8,27 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %x = alloca i8, align 1 - %a = alloca i32, align 4 - store i8 0, i8* %x, align 1 - store i32 0, i32* %a, align 4 - store i32 0, i32* %main, align 4 - store i8 1, i8* %x, align 1 - %load_x = load i8, i8* %x, align 1 + %main = alloca i32, align [filtered] + %x = alloca i8, align [filtered] + %a = alloca i32, align [filtered] + store i8 0, i8* %x, align [filtered] + store i32 0, i32* %a, align [filtered] + store i32 0, i32* %main, align [filtered] + store i8 1, i8* %x, align [filtered] + %load_x = load i8, i8* %x, align [filtered] br i8 %load_x, label %lbl, label %else_block else_block: ; preds = %entry - store i32 2, i32* %a, align 4 + store i32 2, i32* %a, align [filtered] br label %lbl lbl: ; preds = %else_block, %entry - %load_a = load i32, i32* %a, align 4 + %load_a = load i32, i32* %a, align [filtered] %tmpVar = add i32 %load_a, 3 - store i32 %tmpVar, i32* %a, align 4 - %load_a1 = load i32, i32* %a, align 4 - store i32 %load_a1, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + store i32 %tmpVar, i32* %a, align [filtered] + %load_a1 = load i32, i32* %a, align [filtered] + store i32 %load_a1, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap index 9ca9d3ee7a..2bd8303317 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap @@ -13,7 +13,7 @@ define void @main(%main* %0) !dbg !11 { entry: call void @llvm.dbg.declare(metadata %main* %0, metadata !15, metadata !DIExpression()), !dbg !16 %x = getelementptr inbounds %main, %main* %0, i32 0, i32 0 - store i32 5, i32* %x, align 4, !dbg !17 + store i32 5, i32* %x, align [filtered], !dbg !17 ret void, !dbg !18 } @@ -22,15 +22,15 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) #0 define void @__init_main(%main* %0) { entry: - %self = alloca %main*, align 8 - store %main* %0, %main** %self, align 8 + %self = alloca %main*, align [filtered] + store %main* %0, %main** %self, align [filtered] ret void } define void @__user_init_main(%main* %0) { entry: - %self = alloca %main*, align 8 - store %main* %0, %main** %self, align 8 + %self = alloca %main*, align [filtered] + store %main* %0, %main** %self, align [filtered] ret void } diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap b/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap index 42d6571541..1c2c5ff710 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__variable_source_to_variable_and_block_sink.snap @@ -8,48 +8,48 @@ target triple = "[filtered]" define i32 @main() { entry: - %main = alloca i32, align 4 - %value = alloca i32, align 4 - store i32 2, i32* %value, align 4 - store i32 0, i32* %main, align 4 - %load_value = load i32, i32* %value, align 4 + %main = alloca i32, align [filtered] + %value = alloca i32, align [filtered] + store i32 2, i32* %value, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_value = load i32, i32* %value, align [filtered] %call = call i32 @myConnection(i32 %load_value) - store i32 %call, i32* %main, align 4 - %main_ret = load i32, i32* %main, align 4 + store i32 %call, i32* %main, align [filtered] + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } define i32 @myAdd(i32 %0, i32 %1) { entry: - %myAdd = alloca i32, align 4 - %a = alloca i32, align 4 - store i32 %0, i32* %a, align 4 - %b = alloca i32, align 4 - store i32 %1, i32* %b, align 4 - store i32 0, i32* %myAdd, align 4 - %load_a = load i32, i32* %a, align 4 - %load_b = load i32, i32* %b, align 4 + %myAdd = alloca i32, align [filtered] + %a = alloca i32, align [filtered] + store i32 %0, i32* %a, align [filtered] + %b = alloca i32, align [filtered] + store i32 %1, i32* %b, align [filtered] + store i32 0, i32* %myAdd, align [filtered] + %load_a = load i32, i32* %a, align [filtered] + %load_b = load i32, i32* %b, align [filtered] %tmpVar = add i32 %load_a, %load_b - store i32 %tmpVar, i32* %myAdd, align 4 - %myAdd_ret = load i32, i32* %myAdd, align 4 + store i32 %tmpVar, i32* %myAdd, align [filtered] + %myAdd_ret = load i32, i32* %myAdd, align [filtered] ret i32 %myAdd_ret } define i32 @myConnection(i32 %0) { entry: - %myConnection = alloca i32, align 4 - %x = alloca i32, align 4 - store i32 %0, i32* %x, align 4 - %y = alloca i32, align 4 - store i32 0, i32* %y, align 4 - store i32 0, i32* %myConnection, align 4 - %load_x = load i32, i32* %x, align 4 - store i32 %load_x, i32* %y, align 4 - %load_y = load i32, i32* %y, align 4 - %load_x1 = load i32, i32* %x, align 4 + %myConnection = alloca i32, align [filtered] + %x = alloca i32, align [filtered] + store i32 %0, i32* %x, align [filtered] + %y = alloca i32, align [filtered] + store i32 0, i32* %y, align [filtered] + store i32 0, i32* %myConnection, align [filtered] + %load_x = load i32, i32* %x, align [filtered] + store i32 %load_x, i32* %y, align [filtered] + %load_y = load i32, i32* %y, align [filtered] + %load_x1 = load i32, i32* %x, align [filtered] %call = call i32 @myAdd(i32 %load_y, i32 %load_x1) - store i32 %call, i32* %myConnection, align 4 - %myConnection_ret = load i32, i32* %myConnection, align 4 + store i32 %call, i32* %myConnection, align [filtered] + %myConnection_ret = load i32, i32* %myConnection, align [filtered] ret i32 %myConnection_ret } diff --git a/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap b/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap index ad6093b76b..b0ffdd3915 100644 --- a/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap +++ b/tests/integration/snapshots/tests__integration__command_line_compile__ir_generation_full_pass.snap @@ -2,4 +2,4 @@ source: tests/integration/command_line_compile.rs expression: content --- -target datalayout = "[filtered]"@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___command_line_st, i8* null }]define void @__init___command_line_st() {entry: ret void}define i32 @myFunc(i32 %0, i32 %1, i32 %2) {entry: %myFunc = alloca i32, align 4 %a = alloca i32, align 4 store i32 %0, i32* %a, align 4 %b = alloca i32, align 4 store i32 %1, i32* %b, align 4 %c = alloca i32, align 4 store i32 %2, i32* %c, align 4 store i32 0, i32* %myFunc, align 4 %myFunc_ret = load i32, i32* %myFunc, align 4 ret i32 %myFunc_ret} +target datalayout = "[filtered]"@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @__init___command_line_st, i8* null }]define void @__init___command_line_st() {entry: ret void}define i32 @myFunc(i32 %0, i32 %1, i32 %2) {entry: %myFunc = alloca i32, align [filtered] %a = alloca i32, align [filtered] store i32 %0, i32* %a, align [filtered] %b = alloca i32, align [filtered] store i32 %1, i32* %b, align [filtered] %c = alloca i32, align [filtered] store i32 %2, i32* %c, align [filtered] store i32 0, i32* %myFunc, align [filtered] %myFunc_ret = load i32, i32* %myFunc, align [filtered] ret i32 %myFunc_ret} From e5b180475f911edb105790be4aa834c3898bf113 Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 15:27:18 +0100 Subject: [PATCH 07/10] filter debug align info --- ...n_different_locations_with_debug_info.snap | 6 +- ...files__multiple_files_with_debug_info.snap | 6 +- compiler/plc_util/src/lib.rs | 4 +- src/codegen/tests/debug_tests.rs | 274 +++++++++--------- ...ate_return_value_variable_in_function.snap | 8 +- ...rray_size_correctly_set_in_dwarf_info.snap | 6 +- ...g__assignment_statement_have_location.snap | 2 +- ...ging__case_conditions_location_marked.snap | 2 +- ...bugging__exit_statement_have_location.snap | 2 +- ...gging__for_conditions_location_marked.snap | 2 +- ...bugging__function_calls_have_location.snap | 2 +- ...on_calls_in_expressions_have_location.snap | 2 +- ...ugging__if_conditions_location_marked.snap | 2 +- ...g__implementation_added_as_subroutine.snap | 6 +- ...g__nested_function_calls_get_location.snap | 2 +- ...callable_expressions_have_no_location.snap | 2 +- ...on_function_pous_have_struct_as_param.snap | 8 +- ...ng__repeat_conditions_location_marked.snap | 2 +- ...gging__return_statement_have_location.snap | 2 +- ...ring_size_correctly_set_in_dwarf_info.snap | 4 +- ...temp_variables_in_pous_added_as_local.snap | 24 +- ...out_inout_in_function_added_as_params.snap | 6 +- ...ing__while_conditions_location_marked.snap | 2 +- src/codegen/tests/oop_tests/debug_tests.rs | 190 ++++++------ ...__debug_tests__dwarf_version_override.snap | 3 +- ...tests__debug_tests__global_alias_type.snap | 3 +- ..._global_var_array_added_to_debug_info.snap | 9 +- ...__global_var_enum_added_to_debug_info.snap | 6 +- ...var_nested_struct_added_to_debug_info.snap | 12 +- ...lobal_var_pointer_added_to_debug_info.snap | 10 +- ...global_var_string_added_to_debug_info.snap | 8 +- ...global_var_struct_added_to_debug_info.snap | 12 +- ...__integration__cfc__ir__actions_debug.snap | 6 +- ...on__cfc__ir__conditional_return_debug.snap | 2 +- ...sts__integration__cfc__ir__jump_debug.snap | 4 +- ...tegration__cfc__ir__sink_source_debug.snap | 4 +- 36 files changed, 321 insertions(+), 324 deletions(-) diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap index 520dd9b849..8274812dcd 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_in_different_locations_with_debug_info.snap @@ -40,7 +40,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 13, scope: !4) !12 = !DILocation(line: 10, column: 4, scope: !4) @@ -49,7 +49,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !15 = !DIFile(filename: "file2.st", directory: "lib") !16 = !DISubroutineType(flags: DIFlagPublic, types: !17) !17 = !{null, !18} -!18 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !15, file: !15, line: 2, align: 64, flags: DIFlagPublic, elements: !8, identifier: "mainProg") +!18 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !15, file: !15, line: 2, align [filtered], flags: DIFlagPublic, elements: !8, identifier: "mainProg") ; ModuleID = 'lib/file2.st' source_filename = "lib/file2.st" @@ -77,7 +77,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "mainProg", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "file2.st", directory: "lib") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !2, file: !2, line: 2, align: 64, flags: DIFlagPublic, elements: !4, identifier: "mainProg") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !2, file: !2, line: 2, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "mainProg") !4 = !{} !5 = !{i32 2, !"Dwarf Version", i32 5} !6 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap index 221d36bf11..df26934b93 100644 --- a/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap +++ b/compiler/plc_driver/src/tests/snapshots/plc_driver__tests__multi_files__multiple_files_with_debug_info.snap @@ -40,7 +40,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "main", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 13, scope: !4) !12 = !DILocation(line: 10, column: 4, scope: !4) @@ -49,7 +49,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !15 = !DIFile(filename: "file2.st", directory: "") !16 = !DISubroutineType(flags: DIFlagPublic, types: !17) !17 = !{null, !18} -!18 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !15, file: !15, line: 2, align: 64, flags: DIFlagPublic, elements: !8, identifier: "mainProg") +!18 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !15, file: !15, line: 2, align [filtered], flags: DIFlagPublic, elements: !8, identifier: "mainProg") ; ModuleID = 'file2.st' source_filename = "file2.st" @@ -77,7 +77,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "mainProg", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "file2.st", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !2, file: !2, line: 2, align: 64, flags: DIFlagPublic, elements: !4, identifier: "mainProg") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "mainProg", scope: !2, file: !2, line: 2, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "mainProg") !4 = !{} !5 = !{i32 2, !"Dwarf Version", i32 5} !6 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/compiler/plc_util/src/lib.rs b/compiler/plc_util/src/lib.rs index 4481b254db..349f4f76aa 100644 --- a/compiler/plc_util/src/lib.rs +++ b/compiler/plc_util/src/lib.rs @@ -7,7 +7,7 @@ macro_rules! filtered_assert_snapshot { let mut settings = insta::Settings::clone_current(); settings.add_filter(r#"target datalayout = ".*""#, r#"target datalayout = "[filtered]""#); settings.add_filter(r#"target triple = ".*""#, r#"target triple = "[filtered]""#); - settings.add_filter(r#"align \d"#, r#"align [filtered]"#); + settings.add_filter(r#"align:? \d{1,2}"#, r#"align [filtered]"#); settings.bind(|| insta::assert_snapshot!($value)) }}; @@ -16,7 +16,7 @@ macro_rules! filtered_assert_snapshot { let mut settings = insta::Settings::clone_current(); settings.add_filter(r#"target datalayout = ".*""#, r#"target datalayout = "[filtered]""#); settings.add_filter(r#"target triple = ".*""#, r#"target triple = "[filtered]""#); - settings.add_filter(r#"align \d"#, r#"align [filtered]"#); + settings.add_filter(r#"align:? \d{1,2}"#, r#"align [filtered]"#); settings.bind(|| insta::assert_snapshot!($value, @$snapshot)); }}; } diff --git a/src/codegen/tests/debug_tests.rs b/src/codegen/tests/debug_tests.rs index c8784a2c84..e8c4e78fdb 100644 --- a/src/codegen/tests/debug_tests.rs +++ b/src/codegen/tests/debug_tests.rs @@ -314,14 +314,14 @@ fn switch_case_debug_info() { !5 = !DISubroutineType(flags: DIFlagPublic, types: !6) !6 = !{null} !7 = !{} - !8 = !DILocalVariable(name: "x1", scope: !4, file: !3, line: 4, type: !9, align: 16) + !8 = !DILocalVariable(name: "x1", scope: !4, file: !3, line: 4, type: !9, align [filtered]) !9 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) !10 = !DILocation(line: 4, column: 16, scope: !4) - !11 = !DILocalVariable(name: "x2", scope: !4, file: !3, line: 5, type: !9, align: 16) + !11 = !DILocalVariable(name: "x2", scope: !4, file: !3, line: 5, type: !9, align [filtered]) !12 = !DILocation(line: 5, column: 16, scope: !4) - !13 = !DILocalVariable(name: "x3", scope: !4, file: !3, line: 6, type: !9, align: 16) + !13 = !DILocalVariable(name: "x3", scope: !4, file: !3, line: 6, type: !9, align [filtered]) !14 = !DILocation(line: 6, column: 16, scope: !4) - !15 = !DILocalVariable(name: "main", scope: !4, file: !3, line: 2, type: !16, align: 32) + !15 = !DILocalVariable(name: "main", scope: !4, file: !3, line: 2, type: !16, align [filtered]) !16 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !17 = !DILocation(line: 2, column: 17, scope: !4) !18 = !DILocation(line: 22, column: 12, scope: !4) @@ -439,11 +439,11 @@ fn dbg_declare_has_valid_metadata_references_for_methods() { !1 = distinct !DIGlobalVariable(name: "__fb__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb", scope: !2, file: !2, line: 2, size: 64, align: 64, flags: DIFlagPublic, elements: !5, identifier: "fb") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb", scope: !2, file: !2, line: 2, size: 64, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "fb") !5 = !{!6} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____fb___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__fb___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____fb___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__fb___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) !10 = !{i32 2, !"Dwarf Version", i32 5} !11 = !{i32 2, !"Debug Info Version", i32 3} @@ -562,7 +562,7 @@ fn action_with_var_temp() { !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "PLC_PRG", scope: !2, file: !2, line: 7, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") - !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "PLC_PRG", scope: !2, file: !2, line: 7, align: 64, flags: DIFlagPublic, elements: !4, identifier: "PLC_PRG") + !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "PLC_PRG", scope: !2, file: !2, line: 7, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "PLC_PRG") !4 = !{} !5 = !{i32 2, !"Dwarf Version", i32 5} !6 = !{i32 2, !"Debug Info Version", i32 3} @@ -571,7 +571,7 @@ fn action_with_var_temp() { !9 = distinct !DISubprogram(name: "main", linkageName: "main", scope: !2, file: !2, line: 2, type: !10, scopeLine: 3, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !7, retainedNodes: !4) !10 = !DISubroutineType(flags: DIFlagPublic, types: !11) !11 = !{null} - !12 = !DILocalVariable(name: "main", scope: !9, file: !2, line: 2, type: !13, align: 32) + !12 = !DILocalVariable(name: "main", scope: !9, file: !2, line: 2, type: !13, align [filtered]) !13 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !14 = !DILocation(line: 2, column: 17, scope: !9) !15 = !DILocation(line: 3, column: 12, scope: !9) @@ -582,13 +582,13 @@ fn action_with_var_temp() { !20 = !{null, !3} !21 = !DILocalVariable(name: "PLC_PRG", scope: !18, file: !2, line: 12, type: !3) !22 = !DILocation(line: 12, column: 12, scope: !18) - !23 = !DILocalVariable(name: "x", scope: !18, file: !2, line: 9, type: !13, align: 32) + !23 = !DILocalVariable(name: "x", scope: !18, file: !2, line: 9, type: !13, align [filtered]) !24 = !DILocation(line: 9, column: 12, scope: !18) !25 = !DILocation(line: 13, column: 8, scope: !18) !26 = distinct !DISubprogram(name: "PLC_PRG.act", linkageName: "PLC_PRG.act", scope: !2, file: !2, line: 16, type: !19, scopeLine: 17, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !7, retainedNodes: !4) !27 = !DILocalVariable(name: "PLC_PRG", scope: !26, file: !2, line: 17, type: !3) !28 = !DILocation(line: 17, column: 16, scope: !26) - !29 = !DILocalVariable(name: "x", scope: !26, file: !2, line: 9, type: !13, align: 32) + !29 = !DILocalVariable(name: "x", scope: !26, file: !2, line: 9, type: !13, align [filtered]) !30 = !DILocation(line: 9, column: 12, scope: !26) !31 = !DILocation(line: 18, column: 12, scope: !26) "#); @@ -824,34 +824,34 @@ END_FUNCTION !1 = distinct !DIGlobalVariable(name: "__struct___init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "struct_", scope: !2, file: !2, line: 2, size: 13440, align: 64, flags: DIFlagPublic, elements: !5, identifier: "struct_") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "struct_", scope: !2, file: !2, line: 2, size: 13440, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "struct_") !5 = !{!6, !25, !27, !28, !29, !30, !31} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !2, file: !2, line: 3, baseType: !7, size: 2688, align: 64, flags: DIFlagPublic) - !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "inner", scope: !2, file: !2, line: 13, size: 2688, align: 64, flags: DIFlagPublic, elements: !8, identifier: "inner") + !6 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !2, file: !2, line: 3, baseType: !7, size: 2688, align [filtered], flags: DIFlagPublic) + !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "inner", scope: !2, file: !2, line: 13, size: 2688, align [filtered], flags: DIFlagPublic, elements: !8, identifier: "inner") !8 = !{!9, !15, !17, !19, !23} - !9 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !2, file: !2, line: 14, baseType: !10, size: 648, align: 8, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !11, align: 8) - !11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 648, align: 8, elements: !13) + !9 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !2, file: !2, line: 14, baseType: !10, size: 648, align [filtered], flags: DIFlagPublic) + !10 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !11, align [filtered]) + !11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 648, align [filtered], elements: !13) !12 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !13 = !{!14} !14 = !DISubrange(count: 81, lowerBound: 0) - !15 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 15, baseType: !16, size: 8, align: 8, offset: 648, flags: DIFlagPublic) + !15 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 15, baseType: !16, size: 8, align [filtered], offset: 648, flags: DIFlagPublic) !16 = !DIBasicType(name: "BOOL", size: 8, encoding: DW_ATE_boolean, flags: DIFlagPublic) - !17 = !DIDerivedType(tag: DW_TAG_member, name: "r", scope: !2, file: !2, line: 16, baseType: !18, size: 32, align: 32, offset: 672, flags: DIFlagPublic) + !17 = !DIDerivedType(tag: DW_TAG_member, name: "r", scope: !2, file: !2, line: 16, baseType: !18, size: 32, align [filtered], offset: 672, flags: DIFlagPublic) !18 = !DIBasicType(name: "REAL", size: 32, encoding: DW_ATE_float, flags: DIFlagPublic) - !19 = !DIDerivedType(tag: DW_TAG_member, name: "arr", scope: !2, file: !2, line: 17, baseType: !20, size: 1944, align: 8, offset: 704, flags: DIFlagPublic) - !20 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 1944, align: 8, elements: !21) + !19 = !DIDerivedType(tag: DW_TAG_member, name: "arr", scope: !2, file: !2, line: 17, baseType: !20, size: 1944, align [filtered], offset: 704, flags: DIFlagPublic) + !20 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 1944, align [filtered], elements: !21) !21 = !{!22} !22 = !DISubrange(count: 3, lowerBound: 0) - !23 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !2, file: !2, line: 18, baseType: !24, size: 16, align: 16, offset: 2656, flags: DIFlagPublic) + !23 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !2, file: !2, line: 18, baseType: !24, size: 16, align [filtered], offset: 2656, flags: DIFlagPublic) !24 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) - !25 = !DIDerivedType(tag: DW_TAG_member, name: "inner_arr", scope: !2, file: !2, line: 4, baseType: !26, size: 8064, align: 64, offset: 2688, flags: DIFlagPublic) - !26 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 8064, align: 64, elements: !21) - !27 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !2, file: !2, line: 5, baseType: !10, size: 648, align: 8, offset: 10752, flags: DIFlagPublic) - !28 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 6, baseType: !16, size: 8, align: 8, offset: 11400, flags: DIFlagPublic) - !29 = !DIDerivedType(tag: DW_TAG_member, name: "r", scope: !2, file: !2, line: 7, baseType: !18, size: 32, align: 32, offset: 11424, flags: DIFlagPublic) - !30 = !DIDerivedType(tag: DW_TAG_member, name: "arr", scope: !2, file: !2, line: 8, baseType: !20, size: 1944, align: 8, offset: 11456, flags: DIFlagPublic) - !31 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !2, file: !2, line: 9, baseType: !24, size: 16, align: 16, offset: 13408, flags: DIFlagPublic) + !25 = !DIDerivedType(tag: DW_TAG_member, name: "inner_arr", scope: !2, file: !2, line: 4, baseType: !26, size: 8064, align [filtered], offset: 2688, flags: DIFlagPublic) + !26 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 8064, align [filtered], elements: !21) + !27 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !2, file: !2, line: 5, baseType: !10, size: 648, align [filtered], offset: 10752, flags: DIFlagPublic) + !28 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 6, baseType: !16, size: 8, align [filtered], offset: 11400, flags: DIFlagPublic) + !29 = !DIDerivedType(tag: DW_TAG_member, name: "r", scope: !2, file: !2, line: 7, baseType: !18, size: 32, align [filtered], offset: 11424, flags: DIFlagPublic) + !30 = !DIDerivedType(tag: DW_TAG_member, name: "arr", scope: !2, file: !2, line: 8, baseType: !20, size: 1944, align [filtered], offset: 11456, flags: DIFlagPublic) + !31 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !2, file: !2, line: 9, baseType: !24, size: 16, align [filtered], offset: 13408, flags: DIFlagPublic) !32 = !DIGlobalVariableExpression(var: !33, expr: !DIExpression()) !33 = distinct !DIGlobalVariable(name: "__inner__init", scope: !2, file: !2, line: 13, type: !34, isLocal: false, isDefinition: true) !34 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !7) @@ -863,15 +863,15 @@ END_FUNCTION !40 = !DISubroutineType(flags: DIFlagPublic, types: !41) !41 = !{null} !42 = !{} - !43 = !DILocalVariable(name: "st", scope: !39, file: !2, line: 24, type: !4, align: 64) + !43 = !DILocalVariable(name: "st", scope: !39, file: !2, line: 24, type: !4, align [filtered]) !44 = !DILocation(line: 24, column: 4, scope: !39) - !45 = !DILocalVariable(name: "s", scope: !39, file: !2, line: 25, type: !10, align: 8) + !45 = !DILocalVariable(name: "s", scope: !39, file: !2, line: 25, type: !10, align [filtered]) !46 = !DILocation(line: 25, column: 4, scope: !39) - !47 = !DILocalVariable(name: "b", scope: !39, file: !2, line: 26, type: !16, align: 8) + !47 = !DILocalVariable(name: "b", scope: !39, file: !2, line: 26, type: !16, align [filtered]) !48 = !DILocation(line: 26, column: 4, scope: !39) - !49 = !DILocalVariable(name: "arr", scope: !39, file: !2, line: 27, type: !20, align: 8) + !49 = !DILocalVariable(name: "arr", scope: !39, file: !2, line: 27, type: !20, align [filtered]) !50 = !DILocation(line: 27, column: 4, scope: !39) - !51 = !DILocalVariable(name: "i", scope: !39, file: !2, line: 28, type: !24, align: 16) + !51 = !DILocalVariable(name: "i", scope: !39, file: !2, line: 28, type: !24, align [filtered]) !52 = !DILocation(line: 28, column: 4, scope: !39) !53 = !DILocation(line: 0, scope: !39) !54 = !DILocation(line: 32, column: 4, scope: !39) @@ -1008,24 +1008,24 @@ fn constants_are_tagged_as_such() { !5 = !DIGlobalVariableExpression(var: !6, expr: !DIExpression()) !6 = distinct !DIGlobalVariable(name: "s", scope: !2, file: !2, line: 4, type: !7, isLocal: false, isDefinition: true) !7 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8) - !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !9, align: 8) - !9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 648, align: 8, elements: !11) + !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !9, align [filtered]) + !9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 648, align [filtered], elements: !11) !10 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !11 = !{!12} !12 = !DISubrange(count: 81, lowerBound: 0) !13 = !DIGlobalVariableExpression(var: !14, expr: !DIExpression()) !14 = distinct !DIGlobalVariable(name: "prog", scope: !2, file: !2, line: 8, type: !15, isLocal: false, isDefinition: true) - !15 = !DICompositeType(tag: DW_TAG_structure_type, name: "prog", scope: !2, file: !2, line: 8, size: 96, align: 64, flags: DIFlagPublic, elements: !16, identifier: "prog") + !15 = !DICompositeType(tag: DW_TAG_structure_type, name: "prog", scope: !2, file: !2, line: 8, size: 96, align [filtered], flags: DIFlagPublic, elements: !16, identifier: "prog") !16 = !{!17, !18, !19} - !17 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 10, baseType: !3, size: 32, align: 32, flags: DIFlagPublic) - !18 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 10, baseType: !3, size: 32, align: 32, offset: 32, flags: DIFlagPublic) - !19 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 10, baseType: !3, size: 32, align: 32, offset: 64, flags: DIFlagPublic) + !17 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 10, baseType: !3, size: 32, align [filtered], flags: DIFlagPublic) + !18 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 10, baseType: !3, size: 32, align [filtered], offset: 32, flags: DIFlagPublic) + !19 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 10, baseType: !3, size: 32, align [filtered], offset: 64, flags: DIFlagPublic) !20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression()) !21 = distinct !DIGlobalVariable(name: "__foo__init", scope: !2, file: !2, line: 14, type: !22, isLocal: false, isDefinition: true) !22 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !23) - !23 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 14, size: 32, align: 64, flags: DIFlagPublic, elements: !24, identifier: "foo") + !23 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 14, size: 32, align [filtered], flags: DIFlagPublic, elements: !24, identifier: "foo") !24 = !{!25} - !25 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !2, file: !2, line: 15, baseType: !4, size: 32, align: 32, flags: DIFlagPublic) + !25 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !2, file: !2, line: 15, baseType: !4, size: 32, align [filtered], flags: DIFlagPublic) !26 = !DIGlobalVariableExpression(var: !27, expr: !DIExpression()) !27 = distinct !DIGlobalVariable(name: "f", scope: !2, file: !2, line: 5, type: !22, isLocal: false, isDefinition: true) !28 = !{i32 2, !"Dwarf Version", i32 5} @@ -1041,9 +1041,9 @@ fn constants_are_tagged_as_such() { !38 = distinct !DISubprogram(name: "bar", linkageName: "bar", scope: !2, file: !2, line: 19, type: !39, scopeLine: 23, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !30, retainedNodes: !35) !39 = !DISubroutineType(flags: DIFlagPublic, types: !40) !40 = !{null} - !41 = !DILocalVariable(name: "d", scope: !38, file: !2, line: 21, type: !3, align: 32) + !41 = !DILocalVariable(name: "d", scope: !38, file: !2, line: 21, type: !3, align [filtered]) !42 = !DILocation(line: 21, column: 12, scope: !38) - !43 = !DILocalVariable(name: "bar", scope: !38, file: !2, line: 19, type: !4, align: 32) + !43 = !DILocalVariable(name: "bar", scope: !38, file: !2, line: 19, type: !4, align [filtered]) !44 = !DILocation(line: 19, column: 17, scope: !38) !45 = !DILocation(line: 23, column: 8, scope: !38) "#); @@ -1106,31 +1106,31 @@ fn test_debug_info_regular_pointer_types() { !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "basic_ptr", scope: !2, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") - !3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_basic_ptr", scope: !2, file: !2, baseType: !4, align: 64) - !4 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_basic_ptr", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 1) + !3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_basic_ptr", scope: !2, file: !2, baseType: !4, align [filtered]) + !4 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_basic_ptr", baseType: !5, size: 64, align [filtered], dwarfAddressSpace: 1) !5 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression()) !7 = distinct !DIGlobalVariable(name: "array_ptr", scope: !2, file: !2, line: 4, type: !8, isLocal: false, isDefinition: true) - !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_array_ptr", scope: !2, file: !2, baseType: !9, align: 64) - !9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_array_ptr", baseType: !10, size: 64, align: 64, dwarfAddressSpace: 1) - !10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 352, align: 32, elements: !11) + !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_array_ptr", scope: !2, file: !2, baseType: !9, align [filtered]) + !9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_array_ptr", baseType: !10, size: 64, align [filtered], dwarfAddressSpace: 1) + !10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 352, align [filtered], elements: !11) !11 = !{!12} !12 = !DISubrange(count: 11, lowerBound: 0) !13 = !DIGlobalVariableExpression(var: !14, expr: !DIExpression()) !14 = distinct !DIGlobalVariable(name: "struct_ptr", scope: !2, file: !2, line: 5, type: !15, isLocal: false, isDefinition: true) - !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_struct_ptr", scope: !2, file: !2, baseType: !16, align: 64) - !16 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_struct_ptr", baseType: !17, size: 64, align: 64, dwarfAddressSpace: 1) - !17 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 9, size: 64, align: 64, flags: DIFlagPublic, elements: !18, identifier: "myStruct") + !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_struct_ptr", scope: !2, file: !2, baseType: !16, align [filtered]) + !16 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_struct_ptr", baseType: !17, size: 64, align [filtered], dwarfAddressSpace: 1) + !17 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 9, size: 64, align [filtered], flags: DIFlagPublic, elements: !18, identifier: "myStruct") !18 = !{!19, !20} - !19 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 10, baseType: !5, size: 32, align: 32, flags: DIFlagPublic) - !20 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 11, baseType: !21, size: 8, align: 8, offset: 32, flags: DIFlagPublic) + !19 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 10, baseType: !5, size: 32, align [filtered], flags: DIFlagPublic) + !20 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 11, baseType: !21, size: 8, align [filtered], offset: 32, flags: DIFlagPublic) !21 = !DIBasicType(name: "BOOL", size: 8, encoding: DW_ATE_boolean, flags: DIFlagPublic) !22 = !DIGlobalVariableExpression(var: !23, expr: !DIExpression()) !23 = distinct !DIGlobalVariable(name: "string_ptr", scope: !2, file: !2, line: 6, type: !24, isLocal: false, isDefinition: true) - !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_string_ptr", scope: !2, file: !2, baseType: !25, align: 64) - !25 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_string_ptr", baseType: !26, size: 64, align: 64, dwarfAddressSpace: 1) - !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !27, align: 8) - !27 = !DICompositeType(tag: DW_TAG_array_type, baseType: !28, size: 648, align: 8, elements: !29) + !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_string_ptr", scope: !2, file: !2, baseType: !25, align [filtered]) + !25 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_string_ptr", baseType: !26, size: 64, align [filtered], dwarfAddressSpace: 1) + !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !27, align [filtered]) + !27 = !DICompositeType(tag: DW_TAG_array_type, baseType: !28, size: 648, align [filtered], elements: !29) !28 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !29 = !{!30} !30 = !DISubrange(count: 81, lowerBound: 0) @@ -1238,37 +1238,37 @@ fn test_debug_info_auto_deref_parameters() { !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "test_with_ref_params", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") - !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "test_with_ref_params", scope: !2, file: !2, line: 2, size: 320, align: 64, flags: DIFlagPublic, elements: !4, identifier: "test_with_ref_params") + !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "test_with_ref_params", scope: !2, file: !2, line: 2, size: 320, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "test_with_ref_params") !4 = !{!5, !13, !20, !23, !31} - !5 = !DIDerivedType(tag: DW_TAG_member, name: "input_ref", scope: !2, file: !2, line: 4, baseType: !6, size: 64, align: 64, flags: DIFlagPublic) - !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_STRING", scope: !2, file: !2, baseType: !7, align: 64) - !7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_STRING", baseType: !8, size: 64, align: 64, dwarfAddressSpace: 1) - !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !9, align: 8) - !9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 648, align: 8, elements: !11) + !5 = !DIDerivedType(tag: DW_TAG_member, name: "input_ref", scope: !2, file: !2, line: 4, baseType: !6, size: 64, align [filtered], flags: DIFlagPublic) + !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_STRING", scope: !2, file: !2, baseType: !7, align [filtered]) + !7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_STRING", baseType: !8, size: 64, align [filtered], dwarfAddressSpace: 1) + !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !9, align [filtered]) + !9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 648, align [filtered], elements: !11) !10 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !11 = !{!12} !12 = !DISubrange(count: 81, lowerBound: 0) - !13 = !DIDerivedType(tag: DW_TAG_member, name: "array_ref", scope: !2, file: !2, line: 5, baseType: !14, size: 64, align: 64, offset: 64, flags: DIFlagPublic) - !14 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to___test_with_ref_params_array_ref", scope: !2, file: !2, baseType: !15, align: 64) - !15 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to___test_with_ref_params_array_ref", baseType: !16, size: 64, align: 64, dwarfAddressSpace: 1) - !16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !17, size: 192, align: 32, elements: !18) + !13 = !DIDerivedType(tag: DW_TAG_member, name: "array_ref", scope: !2, file: !2, line: 5, baseType: !14, size: 64, align [filtered], offset: 64, flags: DIFlagPublic) + !14 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to___test_with_ref_params_array_ref", scope: !2, file: !2, baseType: !15, align [filtered]) + !15 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to___test_with_ref_params_array_ref", baseType: !16, size: 64, align [filtered], dwarfAddressSpace: 1) + !16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !17, size: 192, align [filtered], elements: !18) !17 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !18 = !{!19} !19 = !DISubrange(count: 6, lowerBound: 0) - !20 = !DIDerivedType(tag: DW_TAG_member, name: "inout_value", scope: !2, file: !2, line: 8, baseType: !21, size: 64, align: 64, offset: 128, flags: DIFlagPublic) - !21 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_DINT", scope: !2, file: !2, baseType: !22, align: 64) - !22 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_DINT", baseType: !17, size: 64, align: 64, dwarfAddressSpace: 1) - !23 = !DIDerivedType(tag: DW_TAG_member, name: "inout_struct", scope: !2, file: !2, line: 9, baseType: !24, size: 64, align: 64, offset: 192, flags: DIFlagPublic) - !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_myStruct", scope: !2, file: !2, baseType: !25, align: 64) - !25 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_myStruct", baseType: !26, size: 64, align: 64, dwarfAddressSpace: 1) - !26 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 16, size: 64, align: 64, flags: DIFlagPublic, elements: !27, identifier: "myStruct") + !20 = !DIDerivedType(tag: DW_TAG_member, name: "inout_value", scope: !2, file: !2, line: 8, baseType: !21, size: 64, align [filtered], offset: 128, flags: DIFlagPublic) + !21 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_DINT", scope: !2, file: !2, baseType: !22, align [filtered]) + !22 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_DINT", baseType: !17, size: 64, align [filtered], dwarfAddressSpace: 1) + !23 = !DIDerivedType(tag: DW_TAG_member, name: "inout_struct", scope: !2, file: !2, line: 9, baseType: !24, size: 64, align [filtered], offset: 192, flags: DIFlagPublic) + !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_myStruct", scope: !2, file: !2, baseType: !25, align [filtered]) + !25 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_myStruct", baseType: !26, size: 64, align [filtered], dwarfAddressSpace: 1) + !26 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 16, size: 64, align [filtered], flags: DIFlagPublic, elements: !27, identifier: "myStruct") !27 = !{!28, !29} - !28 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 17, baseType: !17, size: 32, align: 32, flags: DIFlagPublic) - !29 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 18, baseType: !30, size: 8, align: 8, offset: 32, flags: DIFlagPublic) + !28 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 17, baseType: !17, size: 32, align [filtered], flags: DIFlagPublic) + !29 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 18, baseType: !30, size: 8, align [filtered], offset: 32, flags: DIFlagPublic) !30 = !DIBasicType(name: "BOOL", size: 8, encoding: DW_ATE_boolean, flags: DIFlagPublic) - !31 = !DIDerivedType(tag: DW_TAG_member, name: "local_ref", scope: !2, file: !2, line: 12, baseType: !32, size: 64, align: 64, offset: 256, flags: DIFlagPublic) - !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____test_with_ref_params_local_ref", scope: !2, file: !2, baseType: !33, align: 64) - !33 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_ref_params_local_ref", baseType: !17, size: 64, align: 64, dwarfAddressSpace: 1) + !31 = !DIDerivedType(tag: DW_TAG_member, name: "local_ref", scope: !2, file: !2, line: 12, baseType: !32, size: 64, align [filtered], offset: 256, flags: DIFlagPublic) + !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____test_with_ref_params_local_ref", scope: !2, file: !2, baseType: !33, align [filtered]) + !33 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_ref_params_local_ref", baseType: !17, size: 64, align [filtered], dwarfAddressSpace: 1) !34 = !DIGlobalVariableExpression(var: !35, expr: !DIExpression()) !35 = distinct !DIGlobalVariable(name: "__myStruct__init", scope: !2, file: !2, line: 16, type: !36, isLocal: false, isDefinition: true) !36 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !26) @@ -1348,11 +1348,11 @@ fn test_debug_info_auto_deref_alias_pointers() { !1 = distinct !DIGlobalVariable(name: "__myStruct__init", scope: !2, file: !2, line: 10, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 10, size: 64, align: 64, flags: DIFlagPublic, elements: !5, identifier: "myStruct") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 10, size: 64, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "myStruct") !5 = !{!6, !8} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !7, size: 32, align: 32, flags: DIFlagPublic) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !7, size: 32, align [filtered], flags: DIFlagPublic) !7 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) - !8 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 12, baseType: !9, size: 8, align: 8, offset: 32, flags: DIFlagPublic) + !8 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 12, baseType: !9, size: 8, align [filtered], offset: 32, flags: DIFlagPublic) !9 = !DIBasicType(name: "BOOL", size: 8, encoding: DW_ATE_boolean, flags: DIFlagPublic) !10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression()) !11 = distinct !DIGlobalVariable(name: "global_struct", scope: !2, file: !2, line: 6, type: !4, isLocal: false, isDefinition: true) @@ -1360,12 +1360,12 @@ fn test_debug_info_auto_deref_alias_pointers() { !13 = distinct !DIGlobalVariable(name: "global_var", scope: !2, file: !2, line: 3, type: !7, isLocal: false, isDefinition: true) !14 = !DIGlobalVariableExpression(var: !15, expr: !DIExpression()) !15 = distinct !DIGlobalVariable(name: "alias_int", scope: !2, file: !2, line: 4, type: !16, isLocal: false, isDefinition: true) - !16 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____global_alias_int", scope: !2, file: !2, baseType: !17, align: 64) - !17 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_int", baseType: !7, size: 64, align: 64, dwarfAddressSpace: 1) + !16 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____global_alias_int", scope: !2, file: !2, baseType: !17, align [filtered]) + !17 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_int", baseType: !7, size: 64, align [filtered], dwarfAddressSpace: 1) !18 = !DIGlobalVariableExpression(var: !19, expr: !DIExpression()) !19 = distinct !DIGlobalVariable(name: "alias_struct", scope: !2, file: !2, line: 7, type: !20, isLocal: false, isDefinition: true) - !20 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____global_alias_struct", scope: !2, file: !2, baseType: !21, align: 64) - !21 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_struct", baseType: !4, size: 64, align: 64, dwarfAddressSpace: 1) + !20 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____global_alias_struct", scope: !2, file: !2, baseType: !21, align [filtered]) + !21 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_struct", baseType: !4, size: 64, align [filtered], dwarfAddressSpace: 1) !22 = !{i32 2, !"Dwarf Version", i32 5} !23 = !{i32 2, !"Debug Info Version", i32 3} !24 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !25, splitDebugInlining: false) @@ -1452,37 +1452,37 @@ fn test_debug_info_mixed_pointer_types() { !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "mixed_ptr", scope: !2, file: !2, line: 7, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") - !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "mixed_ptr", scope: !2, file: !2, line: 7, size: 256, align: 64, flags: DIFlagPublic, elements: !4, identifier: "mixed_ptr") + !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "mixed_ptr", scope: !2, file: !2, line: 7, size: 256, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "mixed_ptr") !4 = !{!5, !13, !17, !21} - !5 = !DIDerivedType(tag: DW_TAG_member, name: "ref_param", scope: !2, file: !2, line: 9, baseType: !6, size: 64, align: 64, flags: DIFlagPublic) - !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_STRING", scope: !2, file: !2, baseType: !7, align: 64) - !7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_STRING", baseType: !8, size: 64, align: 64, dwarfAddressSpace: 1) - !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !9, align: 8) - !9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 648, align: 8, elements: !11) + !5 = !DIDerivedType(tag: DW_TAG_member, name: "ref_param", scope: !2, file: !2, line: 9, baseType: !6, size: 64, align [filtered], flags: DIFlagPublic) + !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_STRING", scope: !2, file: !2, baseType: !7, align [filtered]) + !7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_STRING", baseType: !8, size: 64, align [filtered], dwarfAddressSpace: 1) + !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !9, align [filtered]) + !9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 648, align [filtered], elements: !11) !10 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !11 = !{!12} !12 = !DISubrange(count: 81, lowerBound: 0) - !13 = !DIDerivedType(tag: DW_TAG_member, name: "inout_param", scope: !2, file: !2, line: 12, baseType: !14, size: 64, align: 64, offset: 64, flags: DIFlagPublic) - !14 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_DINT", scope: !2, file: !2, baseType: !15, align: 64) - !15 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_DINT", baseType: !16, size: 64, align: 64, dwarfAddressSpace: 1) + !13 = !DIDerivedType(tag: DW_TAG_member, name: "inout_param", scope: !2, file: !2, line: 12, baseType: !14, size: 64, align [filtered], offset: 64, flags: DIFlagPublic) + !14 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_DINT", scope: !2, file: !2, baseType: !15, align [filtered]) + !15 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_DINT", baseType: !16, size: 64, align [filtered], dwarfAddressSpace: 1) !16 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) - !17 = !DIDerivedType(tag: DW_TAG_member, name: "local_ptr", scope: !2, file: !2, line: 15, baseType: !18, size: 64, align: 64, offset: 128, flags: DIFlagPublic) - !18 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____mixed_ptr_local_ptr", scope: !2, file: !2, baseType: !19, align: 64) - !19 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__mixed_ptr_local_ptr", baseType: !20, size: 64, align: 64, dwarfAddressSpace: 1) + !17 = !DIDerivedType(tag: DW_TAG_member, name: "local_ptr", scope: !2, file: !2, line: 15, baseType: !18, size: 64, align [filtered], offset: 128, flags: DIFlagPublic) + !18 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____mixed_ptr_local_ptr", scope: !2, file: !2, baseType: !19, align [filtered]) + !19 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__mixed_ptr_local_ptr", baseType: !20, size: 64, align [filtered], dwarfAddressSpace: 1) !20 = !DIBasicType(name: "BOOL", size: 8, encoding: DW_ATE_boolean, flags: DIFlagPublic) - !21 = !DIDerivedType(tag: DW_TAG_member, name: "local_ref", scope: !2, file: !2, line: 16, baseType: !22, size: 64, align: 64, offset: 192, flags: DIFlagPublic) - !22 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____mixed_ptr_local_ref", scope: !2, file: !2, baseType: !23, align: 64) - !23 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__mixed_ptr_local_ref", baseType: !20, size: 64, align: 64, dwarfAddressSpace: 1) + !21 = !DIDerivedType(tag: DW_TAG_member, name: "local_ref", scope: !2, file: !2, line: 16, baseType: !22, size: 64, align [filtered], offset: 192, flags: DIFlagPublic) + !22 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____mixed_ptr_local_ref", scope: !2, file: !2, baseType: !23, align [filtered]) + !23 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__mixed_ptr_local_ref", baseType: !20, size: 64, align [filtered], dwarfAddressSpace: 1) !24 = !DIGlobalVariableExpression(var: !25, expr: !DIExpression()) !25 = distinct !DIGlobalVariable(name: "regular_ptr", scope: !2, file: !2, line: 3, type: !26, isLocal: false, isDefinition: true) - !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_regular_ptr", scope: !2, file: !2, baseType: !27, align: 64) - !27 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_regular_ptr", baseType: !16, size: 64, align: 64, dwarfAddressSpace: 1) + !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_regular_ptr", scope: !2, file: !2, baseType: !27, align [filtered]) + !27 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_regular_ptr", baseType: !16, size: 64, align [filtered], dwarfAddressSpace: 1) !28 = !DIGlobalVariableExpression(var: !29, expr: !DIExpression()) !29 = distinct !DIGlobalVariable(name: "alias_var", scope: !2, file: !2, line: 4, type: !30, isLocal: false, isDefinition: true) - !30 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____global_alias_var", scope: !2, file: !2, baseType: !31, align: 64) - !31 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_var", baseType: !32, size: 64, align: 64, dwarfAddressSpace: 1) - !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_alias_var_", scope: !2, file: !2, baseType: !33, align: 64) - !33 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_var_", baseType: !16, size: 64, align: 64, dwarfAddressSpace: 1) + !30 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____global_alias_var", scope: !2, file: !2, baseType: !31, align [filtered]) + !31 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_var", baseType: !32, size: 64, align [filtered], dwarfAddressSpace: 1) + !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____global_alias_var_", scope: !2, file: !2, baseType: !33, align [filtered]) + !33 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_alias_var_", baseType: !16, size: 64, align [filtered], dwarfAddressSpace: 1) !34 = !{i32 2, !"Dwarf Version", i32 5} !35 = !{i32 2, !"Debug Info Version", i32 3} !36 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !37, splitDebugInlining: false) @@ -1595,50 +1595,50 @@ fn test_debug_info_auto_deref_reference_to_pointers() { !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "basic_reference", scope: !2, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") - !3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_basic_reference", scope: !2, file: !2, baseType: !4, align: 64) - !4 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_basic_reference", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 1) + !3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_basic_reference", scope: !2, file: !2, baseType: !4, align [filtered]) + !4 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_basic_reference", baseType: !5, size: 64, align [filtered], dwarfAddressSpace: 1) !5 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression()) !7 = distinct !DIGlobalVariable(name: "array_reference", scope: !2, file: !2, line: 4, type: !8, isLocal: false, isDefinition: true) - !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_array_reference", scope: !2, file: !2, baseType: !9, align: 64) - !9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_array_reference", baseType: !10, size: 64, align: 64, dwarfAddressSpace: 1) - !10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 352, align: 32, elements: !11) + !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_array_reference", scope: !2, file: !2, baseType: !9, align [filtered]) + !9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_array_reference", baseType: !10, size: 64, align [filtered], dwarfAddressSpace: 1) + !10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 352, align [filtered], elements: !11) !11 = !{!12} !12 = !DISubrange(count: 11, lowerBound: 0) !13 = !DIGlobalVariableExpression(var: !14, expr: !DIExpression()) !14 = distinct !DIGlobalVariable(name: "struct_reference", scope: !2, file: !2, line: 5, type: !15, isLocal: false, isDefinition: true) - !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_struct_reference", scope: !2, file: !2, baseType: !16, align: 64) - !16 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_struct_reference", baseType: !17, size: 64, align: 64, dwarfAddressSpace: 1) - !17 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 19, size: 64, align: 64, flags: DIFlagPublic, elements: !18, identifier: "myStruct") + !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_struct_reference", scope: !2, file: !2, baseType: !16, align [filtered]) + !16 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_struct_reference", baseType: !17, size: 64, align [filtered], dwarfAddressSpace: 1) + !17 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 19, size: 64, align [filtered], flags: DIFlagPublic, elements: !18, identifier: "myStruct") !18 = !{!19, !20} - !19 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 20, baseType: !5, size: 32, align: 32, flags: DIFlagPublic) - !20 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 21, baseType: !21, size: 8, align: 8, offset: 32, flags: DIFlagPublic) + !19 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 20, baseType: !5, size: 32, align [filtered], flags: DIFlagPublic) + !20 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 21, baseType: !21, size: 8, align [filtered], offset: 32, flags: DIFlagPublic) !21 = !DIBasicType(name: "BOOL", size: 8, encoding: DW_ATE_boolean, flags: DIFlagPublic) !22 = !DIGlobalVariableExpression(var: !23, expr: !DIExpression()) !23 = distinct !DIGlobalVariable(name: "string_reference", scope: !2, file: !2, line: 6, type: !24, isLocal: false, isDefinition: true) - !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_string_reference", scope: !2, file: !2, baseType: !25, align: 64) - !25 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_string_reference", baseType: !26, size: 64, align: 64, dwarfAddressSpace: 1) - !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !27, align: 8) - !27 = !DICompositeType(tag: DW_TAG_array_type, baseType: !28, size: 648, align: 8, elements: !29) + !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____global_string_reference", scope: !2, file: !2, baseType: !25, align [filtered]) + !25 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_string_reference", baseType: !26, size: 64, align [filtered], dwarfAddressSpace: 1) + !26 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !27, align [filtered]) + !27 = !DICompositeType(tag: DW_TAG_array_type, baseType: !28, size: 648, align [filtered], elements: !29) !28 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !29 = !{!30} !30 = !DISubrange(count: 81, lowerBound: 0) !31 = !DIGlobalVariableExpression(var: !32, expr: !DIExpression()) !32 = distinct !DIGlobalVariable(name: "test_with_reference_params", scope: !2, file: !2, line: 9, type: !33, isLocal: false, isDefinition: true) - !33 = !DICompositeType(tag: DW_TAG_structure_type, name: "test_with_reference_params", scope: !2, file: !2, line: 9, size: 192, align: 64, flags: DIFlagPublic, elements: !34, identifier: "test_with_reference_params") + !33 = !DICompositeType(tag: DW_TAG_structure_type, name: "test_with_reference_params", scope: !2, file: !2, line: 9, size: 192, align [filtered], flags: DIFlagPublic, elements: !34, identifier: "test_with_reference_params") !34 = !{!35, !38, !44} - !35 = !DIDerivedType(tag: DW_TAG_member, name: "ref_param", scope: !2, file: !2, line: 11, baseType: !36, size: 64, align: 64, flags: DIFlagPublic) - !36 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____test_with_reference_params_ref_param", scope: !2, file: !2, baseType: !37, align: 64) - !37 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_reference_params_ref_param", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 1) - !38 = !DIDerivedType(tag: DW_TAG_member, name: "array_ref_param", scope: !2, file: !2, line: 12, baseType: !39, size: 64, align: 64, offset: 64, flags: DIFlagPublic) - !39 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____test_with_reference_params_array_ref_param", scope: !2, file: !2, baseType: !40, align: 64) - !40 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_reference_params_array_ref_param", baseType: !41, size: 64, align: 64, dwarfAddressSpace: 1) - !41 = !DICompositeType(tag: DW_TAG_array_type, baseType: !21, size: 48, align: 8, elements: !42) + !35 = !DIDerivedType(tag: DW_TAG_member, name: "ref_param", scope: !2, file: !2, line: 11, baseType: !36, size: 64, align [filtered], flags: DIFlagPublic) + !36 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____test_with_reference_params_ref_param", scope: !2, file: !2, baseType: !37, align [filtered]) + !37 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_reference_params_ref_param", baseType: !5, size: 64, align [filtered], dwarfAddressSpace: 1) + !38 = !DIDerivedType(tag: DW_TAG_member, name: "array_ref_param", scope: !2, file: !2, line: 12, baseType: !39, size: 64, align [filtered], offset: 64, flags: DIFlagPublic) + !39 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____test_with_reference_params_array_ref_param", scope: !2, file: !2, baseType: !40, align [filtered]) + !40 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_reference_params_array_ref_param", baseType: !41, size: 64, align [filtered], dwarfAddressSpace: 1) + !41 = !DICompositeType(tag: DW_TAG_array_type, baseType: !21, size: 48, align [filtered], elements: !42) !42 = !{!43} !43 = !DISubrange(count: 6, lowerBound: 0) - !44 = !DIDerivedType(tag: DW_TAG_member, name: "local_reference", scope: !2, file: !2, line: 15, baseType: !45, size: 64, align: 64, offset: 128, flags: DIFlagPublic) - !45 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____test_with_reference_params_local_reference", scope: !2, file: !2, baseType: !46, align: 64) - !46 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_reference_params_local_reference", baseType: !17, size: 64, align: 64, dwarfAddressSpace: 1) + !44 = !DIDerivedType(tag: DW_TAG_member, name: "local_reference", scope: !2, file: !2, line: 15, baseType: !45, size: 64, align [filtered], offset: 128, flags: DIFlagPublic) + !45 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REFERENCE_TO____test_with_reference_params_local_reference", scope: !2, file: !2, baseType: !46, align [filtered]) + !46 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__test_with_reference_params_local_reference", baseType: !17, size: 64, align [filtered], dwarfAddressSpace: 1) !47 = !DIGlobalVariableExpression(var: !48, expr: !DIExpression()) !48 = distinct !DIGlobalVariable(name: "__myStruct__init", scope: !2, file: !2, line: 19, type: !49, isLocal: false, isDefinition: true) !49 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !17) @@ -1716,11 +1716,11 @@ fn range_datatype_debug() { !5 = !DISubroutineType(flags: DIFlagPublic, types: !6) !6 = !{null} !7 = !{} - !8 = !DILocalVariable(name: "r", scope: !4, file: !3, line: 8, type: !9, align: 32) - !9 = !DIDerivedType(tag: DW_TAG_typedef, name: "RangeType", scope: !3, file: !3, line: 2, baseType: !10, align: 32) + !8 = !DILocalVariable(name: "r", scope: !4, file: !3, line: 8, type: !9, align [filtered]) + !9 = !DIDerivedType(tag: DW_TAG_typedef, name: "RangeType", scope: !3, file: !3, line: 2, baseType: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 8, column: 12, scope: !4) - !12 = !DILocalVariable(name: "main", scope: !4, file: !3, line: 6, type: !10, align: 32) + !12 = !DILocalVariable(name: "main", scope: !4, file: !3, line: 6, type: !10, align [filtered]) !13 = !DILocation(line: 6, column: 17, scope: !4) !14 = !DILocation(line: 10, column: 12, scope: !4) !15 = !DILocation(line: 11, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap index b3189f0cb4..b2b2681f5d 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__aggregate_return_value_variable_in_function.snap @@ -39,10 +39,10 @@ attributes #1 = { argmemonly nofree nounwind willreturn } !5 = !DIFile(filename: "", directory: "") !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null, !8} -!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_STRING", scope: !3, file: !3, baseType: !9, align: 64) -!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_STRING", baseType: !10, size: 64, align: 64, dwarfAddressSpace: 1) -!10 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !3, file: !3, baseType: !11, align: 8) -!11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 648, align: 8, elements: !13) +!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_STRING", scope: !3, file: !3, baseType: !9, align [filtered]) +!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_STRING", baseType: !10, size: 64, align [filtered], dwarfAddressSpace: 1) +!10 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !3, file: !3, baseType: !11, align [filtered]) +!11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 648, align [filtered], elements: !13) !12 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !13 = !{!14} !14 = !DISubrange(count: 81, lowerBound: 0) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap index bef8e6de22..6f61f918ab 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__array_size_correctly_set_in_dwarf_info.snap @@ -41,12 +41,12 @@ attributes #1 = { argmemonly nofree nounwind willreturn writeonly } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "a", scope: !4, file: !5, line: 4, type: !10, align: 32) -!10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !11, size: 2048, align: 32, elements: !12) +!9 = !DILocalVariable(name: "a", scope: !4, file: !5, line: 4, type: !10, align [filtered]) +!10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !11, size: 2048, align [filtered], elements: !12) !11 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !12 = !{!13} !13 = !DISubrange(count: 64, lowerBound: 1) !14 = !DILocation(line: 4, column: 12, scope: !4) -!15 = !DILocalVariable(name: "foo", scope: !4, file: !5, line: 2, type: !11, align: 32) +!15 = !DILocalVariable(name: "foo", scope: !4, file: !5, line: 2, type: !11, align [filtered]) !16 = !DILocation(line: 2, column: 17, scope: !4) !17 = !DILocation(line: 6, column: 8, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap index c4c59c0f78..4640351896 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__assignment_statement_have_location.snap @@ -34,7 +34,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap index 8d732d8384..49d42da072 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__case_conditions_location_marked.snap @@ -53,7 +53,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap index 93251a0a88..e786d40a16 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__exit_statement_have_location.snap @@ -52,7 +52,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 5, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap index 8d4ac047f2..890c74ccb0 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__for_conditions_location_marked.snap @@ -57,7 +57,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 16, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap index 026754e798..5f4270ecd2 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_have_location.snap @@ -34,7 +34,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap index 3e9543028f..2d586f99e3 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__function_calls_in_expressions_have_location.snap @@ -35,7 +35,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 16, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap index e3221d27ed..7107c08aa3 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__if_conditions_location_marked.snap @@ -52,7 +52,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 15, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap index 81d26fc5c3..21f43c22e6 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__implementation_added_as_subroutine.snap @@ -47,12 +47,12 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "myPrg", scope: !2, file: !2, line: 4, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "myPrg", scope: !2, file: !2, line: 4, align: 64, flags: DIFlagPublic, elements: !4, identifier: "myPrg") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "myPrg", scope: !2, file: !2, line: 4, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "myPrg") !4 = !{} !5 = !DIGlobalVariableExpression(var: !6, expr: !DIExpression()) !6 = distinct !DIGlobalVariable(name: "__myFb__init", scope: !2, file: !2, line: 6, type: !7, isLocal: false, isDefinition: true) !7 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8) -!8 = !DICompositeType(tag: DW_TAG_structure_type, name: "myFb", scope: !2, file: !2, line: 6, align: 64, flags: DIFlagPublic, elements: !4, identifier: "myFb") +!8 = !DICompositeType(tag: DW_TAG_structure_type, name: "myFb", scope: !2, file: !2, line: 6, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "myFb") !9 = !{i32 2, !"Dwarf Version", i32 5} !10 = !{i32 2, !"Debug Info Version", i32 3} !11 = distinct !DICompileUnit(language: DW_LANG_C, file: !12, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !13, splitDebugInlining: false) @@ -61,7 +61,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !14 = distinct !DISubprogram(name: "myFunc", linkageName: "myFunc", scope: !2, file: !2, line: 2, type: !15, scopeLine: 3, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !11, retainedNodes: !4) !15 = !DISubroutineType(flags: DIFlagPublic, types: !16) !16 = !{null} -!17 = !DILocalVariable(name: "myFunc", scope: !14, file: !2, line: 2, type: !18, align: 32) +!17 = !DILocalVariable(name: "myFunc", scope: !14, file: !2, line: 2, type: !18, align [filtered]) !18 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !19 = !DILocation(line: 2, column: 17, scope: !14) !20 = !DILocation(line: 3, column: 8, scope: !14) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap index 1934fe717a..62e8b991e2 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__nested_function_calls_get_location.snap @@ -41,7 +41,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !9 = !{} !10 = !DILocalVariable(name: "x", scope: !4, file: !5, line: 3, type: !8) !11 = !DILocation(line: 3, column: 18, scope: !4) -!12 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !8, align: 32) +!12 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !8, align [filtered]) !13 = !DILocation(line: 2, column: 17, scope: !4) !14 = !DILocation(line: 4, column: 19, scope: !4) !15 = !DILocation(line: 4, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap index 3612cb725e..05a0ad3240 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_callable_expressions_have_no_location.snap @@ -34,7 +34,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap index 147f6332d6..2f68e97f84 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__non_function_pous_have_struct_as_param.snap @@ -46,16 +46,16 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "myProg", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "myProg", scope: !2, file: !2, line: 2, size: 32, align: 64, flags: DIFlagPublic, elements: !4, identifier: "myProg") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "myProg", scope: !2, file: !2, line: 2, size: 32, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "myProg") !4 = !{!5} -!5 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 4, baseType: !6, size: 32, align: 32, flags: DIFlagPublic) +!5 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 4, baseType: !6, size: 32, align [filtered], flags: DIFlagPublic) !6 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !7 = !DIGlobalVariableExpression(var: !8, expr: !DIExpression()) !8 = distinct !DIGlobalVariable(name: "__fb__init", scope: !2, file: !2, line: 9, type: !9, isLocal: false, isDefinition: true) !9 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !10) -!10 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb", scope: !2, file: !2, line: 9, size: 32, align: 64, flags: DIFlagPublic, elements: !11, identifier: "fb") +!10 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb", scope: !2, file: !2, line: 9, size: 32, align [filtered], flags: DIFlagPublic, elements: !11, identifier: "fb") !11 = !{!12} -!12 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !6, size: 32, align: 32, flags: DIFlagPublic) +!12 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !6, size: 32, align [filtered], flags: DIFlagPublic) !13 = !{i32 2, !"Dwarf Version", i32 5} !14 = !{i32 2, !"Debug Info Version", i32 3} !15 = distinct !DICompileUnit(language: DW_LANG_C, file: !16, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !17, splitDebugInlining: false) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap index ef45cf543a..04387a57c3 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__repeat_conditions_location_marked.snap @@ -57,7 +57,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 5, column: 30, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap index 4488067f93..ede5135f6e 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__return_statement_have_location.snap @@ -37,7 +37,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 3, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__string_size_correctly_set_in_dwarf_info.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__string_size_correctly_set_in_dwarf_info.snap index 5a8ffffe0a..e73141e62d 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__string_size_correctly_set_in_dwarf_info.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__string_size_correctly_set_in_dwarf_info.snap @@ -15,9 +15,9 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__65", scope: !4, file: !4, baseType: !5, align: 8) +!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__65", scope: !4, file: !4, baseType: !5, align [filtered]) !4 = !DIFile(filename: "", directory: "src") -!5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 520, align: 8, elements: !7) +!5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 520, align [filtered], elements: !7) !6 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !7 = !{!8} !8 = !DISubrange(count: 65, lowerBound: 0) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap index 6543db20af..1c53ea5e3c 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_and_vartemp_variables_in_pous_added_as_local.snap @@ -74,12 +74,12 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "myPrg", scope: !2, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "myPrg", scope: !2, file: !2, line: 5, align: 64, flags: DIFlagPublic, elements: !4, identifier: "myPrg") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "myPrg", scope: !2, file: !2, line: 5, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "myPrg") !4 = !{} !5 = !DIGlobalVariableExpression(var: !6, expr: !DIExpression()) !6 = distinct !DIGlobalVariable(name: "__myFb__init", scope: !2, file: !2, line: 8, type: !7, isLocal: false, isDefinition: true) !7 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8) -!8 = !DICompositeType(tag: DW_TAG_structure_type, name: "myFb", scope: !2, file: !2, line: 8, align: 64, flags: DIFlagPublic, elements: !4, identifier: "myFb") +!8 = !DICompositeType(tag: DW_TAG_structure_type, name: "myFb", scope: !2, file: !2, line: 8, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "myFb") !9 = !{i32 2, !"Dwarf Version", i32 5} !10 = !{i32 2, !"Debug Info Version", i32 3} !11 = distinct !DICompileUnit(language: DW_LANG_C, file: !12, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !13, splitDebugInlining: false) @@ -88,14 +88,14 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !14 = distinct !DISubprogram(name: "myFunc", linkageName: "myFunc", scope: !2, file: !2, line: 2, type: !15, scopeLine: 4, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !11, retainedNodes: !4) !15 = !DISubroutineType(flags: DIFlagPublic, types: !16) !16 = !{null} -!17 = !DILocalVariable(name: "a", scope: !14, file: !2, line: 3, type: !18, align: 32) +!17 = !DILocalVariable(name: "a", scope: !14, file: !2, line: 3, type: !18, align [filtered]) !18 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !19 = !DILocation(line: 3, column: 12, scope: !14) -!20 = !DILocalVariable(name: "b", scope: !14, file: !2, line: 3, type: !18, align: 32) +!20 = !DILocalVariable(name: "b", scope: !14, file: !2, line: 3, type: !18, align [filtered]) !21 = !DILocation(line: 3, column: 14, scope: !14) -!22 = !DILocalVariable(name: "c", scope: !14, file: !2, line: 3, type: !18, align: 32) +!22 = !DILocalVariable(name: "c", scope: !14, file: !2, line: 3, type: !18, align [filtered]) !23 = !DILocation(line: 3, column: 16, scope: !14) -!24 = !DILocalVariable(name: "myFunc", scope: !14, file: !2, line: 2, type: !18, align: 32) +!24 = !DILocalVariable(name: "myFunc", scope: !14, file: !2, line: 2, type: !18, align [filtered]) !25 = !DILocation(line: 2, column: 17, scope: !14) !26 = !DILocation(line: 4, column: 8, scope: !14) !27 = distinct !DISubprogram(name: "myPrg", linkageName: "myPrg", scope: !2, file: !2, line: 5, type: !28, scopeLine: 7, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !11, retainedNodes: !4) @@ -103,20 +103,20 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !29 = !{null, !3} !30 = !DILocalVariable(name: "myPrg", scope: !27, file: !2, line: 7, type: !3) !31 = !DILocation(line: 7, column: 8, scope: !27) -!32 = !DILocalVariable(name: "a", scope: !27, file: !2, line: 6, type: !18, align: 32) +!32 = !DILocalVariable(name: "a", scope: !27, file: !2, line: 6, type: !18, align [filtered]) !33 = !DILocation(line: 6, column: 17, scope: !27) -!34 = !DILocalVariable(name: "b", scope: !27, file: !2, line: 6, type: !18, align: 32) +!34 = !DILocalVariable(name: "b", scope: !27, file: !2, line: 6, type: !18, align [filtered]) !35 = !DILocation(line: 6, column: 19, scope: !27) -!36 = !DILocalVariable(name: "c", scope: !27, file: !2, line: 6, type: !18, align: 32) +!36 = !DILocalVariable(name: "c", scope: !27, file: !2, line: 6, type: !18, align [filtered]) !37 = !DILocation(line: 6, column: 21, scope: !27) !38 = distinct !DISubprogram(name: "myFb", linkageName: "myFb", scope: !2, file: !2, line: 8, type: !39, scopeLine: 10, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !11, retainedNodes: !4) !39 = !DISubroutineType(flags: DIFlagPublic, types: !40) !40 = !{null, !8} !41 = !DILocalVariable(name: "myFb", scope: !38, file: !2, line: 10, type: !8) !42 = !DILocation(line: 10, column: 8, scope: !38) -!43 = !DILocalVariable(name: "a", scope: !38, file: !2, line: 9, type: !18, align: 32) +!43 = !DILocalVariable(name: "a", scope: !38, file: !2, line: 9, type: !18, align [filtered]) !44 = !DILocation(line: 9, column: 17, scope: !38) -!45 = !DILocalVariable(name: "b", scope: !38, file: !2, line: 9, type: !18, align: 32) +!45 = !DILocalVariable(name: "b", scope: !38, file: !2, line: 9, type: !18, align [filtered]) !46 = !DILocation(line: 9, column: 19, scope: !38) -!47 = !DILocalVariable(name: "c", scope: !38, file: !2, line: 9, type: !18, align: 32) +!47 = !DILocalVariable(name: "c", scope: !38, file: !2, line: 9, type: !18, align [filtered]) !48 = !DILocation(line: 9, column: 21, scope: !38) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap index e3fc83ca3d..a7dfab2db0 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__var_in_out_inout_in_function_added_as_params.snap @@ -40,13 +40,13 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !5 = !DIFile(filename: "", directory: "") !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null, !8} -!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_INT", scope: !3, file: !3, baseType: !9, align: 64) -!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_INT", baseType: !10, size: 64, align: 64, dwarfAddressSpace: 1) +!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__AUTO_DEREF____auto_pointer_to_INT", scope: !3, file: !3, baseType: !9, align [filtered]) +!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__auto_pointer_to_INT", baseType: !10, size: 64, align [filtered], dwarfAddressSpace: 1) !10 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !{} !12 = !DILocalVariable(name: "x", scope: !4, file: !5, line: 4, type: !8) !13 = !DILocation(line: 4, column: 12, scope: !4) -!14 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !15, align: 32) +!14 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !15, align [filtered]) !15 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !16 = !DILocation(line: 2, column: 17, scope: !4) !17 = !DILocation(line: 6, column: 12, scope: !4) diff --git a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap index 8a4b81a1a8..b816f4a546 100644 --- a/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap +++ b/src/codegen/tests/debug_tests/snapshots/rusty__codegen__tests__debug_tests__expression_debugging__while_conditions_location_marked.snap @@ -58,7 +58,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !6 = !DISubroutineType(flags: DIFlagPublic, types: !7) !7 = !{null} !8 = !{} -!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align: 32) +!9 = !DILocalVariable(name: "myFunc", scope: !4, file: !5, line: 2, type: !10, align [filtered]) !10 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !11 = !DILocation(line: 2, column: 17, scope: !4) !12 = !DILocation(line: 5, column: 12, scope: !4) diff --git a/src/codegen/tests/oop_tests/debug_tests.rs b/src/codegen/tests/oop_tests/debug_tests.rs index 4009595cbb..1c207bbd05 100644 --- a/src/codegen/tests/oop_tests/debug_tests.rs +++ b/src/codegen/tests/oop_tests/debug_tests.rs @@ -153,30 +153,30 @@ fn members_from_base_class_are_available_in_subclasses() { !1 = distinct !DIGlobalVariable(name: "__foo__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 2, size: 7872, align: 64, flags: DIFlagPublic, elements: !5, identifier: "foo") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 2, size: 7872, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "foo") !5 = !{!6, !10, !12, !18} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 4, baseType: !11, size: 16, align: 16, offset: 64, flags: DIFlagPublic) + !10 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 4, baseType: !11, size: 16, align [filtered], offset: 64, flags: DIFlagPublic) !11 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) - !12 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 5, baseType: !13, size: 648, align: 8, offset: 80, flags: DIFlagPublic) - !13 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !14, align: 8) - !14 = !DICompositeType(tag: DW_TAG_array_type, baseType: !15, size: 648, align: 8, elements: !16) + !12 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 5, baseType: !13, size: 648, align [filtered], offset: 80, flags: DIFlagPublic) + !13 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !14, align [filtered]) + !14 = !DICompositeType(tag: DW_TAG_array_type, baseType: !15, size: 648, align [filtered], elements: !16) !15 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !16 = !{!17} !17 = !DISubrange(count: 81, lowerBound: 0) - !18 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 6, baseType: !19, size: 7128, align: 8, offset: 728, flags: DIFlagPublic) - !19 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 7128, align: 8, elements: !20) + !18 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 6, baseType: !19, size: 7128, align [filtered], offset: 728, flags: DIFlagPublic) + !19 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 7128, align [filtered], elements: !20) !20 = !{!21} !21 = !DISubrange(count: 11, lowerBound: 0) !22 = !DIGlobalVariableExpression(var: !23, expr: !DIExpression()) !23 = distinct !DIGlobalVariable(name: "__bar__init", scope: !2, file: !2, line: 10, type: !24, isLocal: false, isDefinition: true) !24 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !25) - !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", scope: !2, file: !2, line: 10, size: 7872, align: 64, flags: DIFlagPublic, elements: !26, identifier: "bar") + !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", scope: !2, file: !2, line: 10, size: 7872, align [filtered], flags: DIFlagPublic, elements: !26, identifier: "bar") !26 = !{!27} - !27 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 7872, align: 64, flags: DIFlagPublic) + !27 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 7872, align [filtered], flags: DIFlagPublic) !28 = !{i32 2, !"Dwarf Version", i32 5} !29 = !{i32 2, !"Debug Info Version", i32 3} !30 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !31, splitDebugInlining: false) @@ -413,30 +413,30 @@ fn write_to_parent_variable_qualified_access() { !1 = distinct !DIGlobalVariable(name: "__fb__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb", scope: !2, file: !2, line: 2, size: 128, align: 64, flags: DIFlagPublic, elements: !5, identifier: "fb") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb", scope: !2, file: !2, line: 2, size: 128, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "fb") !5 = !{!6, !10, !12} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____fb___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__fb___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____fb___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__fb___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 4, baseType: !11, size: 16, align: 16, offset: 64, flags: DIFlagPublic) + !10 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 4, baseType: !11, size: 16, align [filtered], offset: 64, flags: DIFlagPublic) !11 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) - !12 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 5, baseType: !11, size: 16, align: 16, offset: 80, flags: DIFlagPublic) + !12 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 5, baseType: !11, size: 16, align [filtered], offset: 80, flags: DIFlagPublic) !13 = !DIGlobalVariableExpression(var: !14, expr: !DIExpression()) !14 = distinct !DIGlobalVariable(name: "__fb2__init", scope: !2, file: !2, line: 9, type: !15, isLocal: false, isDefinition: true) !15 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !16) - !16 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb2", scope: !2, file: !2, line: 9, size: 128, align: 64, flags: DIFlagPublic, elements: !17, identifier: "fb2") + !16 = !DICompositeType(tag: DW_TAG_structure_type, name: "fb2", scope: !2, file: !2, line: 9, size: 128, align [filtered], flags: DIFlagPublic, elements: !17, identifier: "fb2") !17 = !{!18} - !18 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 128, align: 64, flags: DIFlagPublic) + !18 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 128, align [filtered], flags: DIFlagPublic) !19 = !DIGlobalVariableExpression(var: !20, expr: !DIExpression()) !20 = distinct !DIGlobalVariable(name: "__foo__init", scope: !2, file: !2, line: 12, type: !21, isLocal: false, isDefinition: true) !21 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !22) - !22 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 12, size: 192, align: 64, flags: DIFlagPublic, elements: !23, identifier: "foo") + !22 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 12, size: 192, align [filtered], flags: DIFlagPublic, elements: !23, identifier: "foo") !23 = !{!24, !27} - !24 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !25, size: 64, align: 64, flags: DIFlagPublic) - !25 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !26, align: 64) - !26 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) - !27 = !DIDerivedType(tag: DW_TAG_member, name: "myFb", scope: !2, file: !2, line: 14, baseType: !16, size: 128, align: 64, offset: 64, flags: DIFlagPublic) + !24 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !25, size: 64, align [filtered], flags: DIFlagPublic) + !25 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !26, align [filtered]) + !26 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) + !27 = !DIDerivedType(tag: DW_TAG_member, name: "myFb", scope: !2, file: !2, line: 14, baseType: !16, size: 128, align [filtered], offset: 64, flags: DIFlagPublic) !28 = !{i32 2, !"Dwarf Version", i32 5} !29 = !{i32 2, !"Debug Info Version", i32 3} !30 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !31, splitDebugInlining: false) @@ -674,24 +674,24 @@ fn write_to_parent_variable_in_instance() { !1 = distinct !DIGlobalVariable(name: "__foo__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 2, size: 768, align: 64, flags: DIFlagPublic, elements: !5, identifier: "foo") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 2, size: 768, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "foo") !5 = !{!6, !10} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !2, file: !2, line: 4, baseType: !11, size: 648, align: 8, offset: 64, flags: DIFlagPublic) - !11 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !12, align: 8) - !12 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 648, align: 8, elements: !14) + !10 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !2, file: !2, line: 4, baseType: !11, size: 648, align [filtered], offset: 64, flags: DIFlagPublic) + !11 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !12, align [filtered]) + !12 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 648, align [filtered], elements: !14) !13 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !14 = !{!15} !15 = !DISubrange(count: 81, lowerBound: 0) !16 = !DIGlobalVariableExpression(var: !17, expr: !DIExpression()) !17 = distinct !DIGlobalVariable(name: "__bar__init", scope: !2, file: !2, line: 11, type: !18, isLocal: false, isDefinition: true) !18 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !19) - !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", scope: !2, file: !2, line: 11, size: 768, align: 64, flags: DIFlagPublic, elements: !20, identifier: "bar") + !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", scope: !2, file: !2, line: 11, size: 768, align [filtered], flags: DIFlagPublic, elements: !20, identifier: "bar") !20 = !{!21} - !21 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 768, align: 64, flags: DIFlagPublic) + !21 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 768, align [filtered], flags: DIFlagPublic) !22 = !{i32 2, !"Dwarf Version", i32 5} !23 = !{i32 2, !"Debug Info Version", i32 3} !24 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !25, splitDebugInlining: false) @@ -715,9 +715,9 @@ fn write_to_parent_variable_in_instance() { !42 = distinct !DISubprogram(name: "main", linkageName: "main", scope: !2, file: !2, line: 15, type: !43, scopeLine: 15, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !24, retainedNodes: !29) !43 = !DISubroutineType(flags: DIFlagPublic, types: !44) !44 = !{null} - !45 = !DILocalVariable(name: "s", scope: !42, file: !2, line: 17, type: !11, align: 8) + !45 = !DILocalVariable(name: "s", scope: !42, file: !2, line: 17, type: !11, align [filtered]) !46 = !DILocation(line: 17, column: 12, scope: !42) - !47 = !DILocalVariable(name: "fb", scope: !42, file: !2, line: 18, type: !19, align: 64) + !47 = !DILocalVariable(name: "fb", scope: !42, file: !2, line: 18, type: !19, align [filtered]) !48 = !DILocation(line: 18, column: 12, scope: !42) !49 = !DILocation(line: 0, scope: !42) !50 = !DILocation(line: 20, column: 12, scope: !42) @@ -995,36 +995,36 @@ fn array_in_parent_generated() { !1 = distinct !DIGlobalVariable(name: "__grandparent__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "grandparent", scope: !2, file: !2, line: 2, size: 192, align: 64, flags: DIFlagPublic, elements: !5, identifier: "grandparent") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "grandparent", scope: !2, file: !2, line: 2, size: 192, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "grandparent") !5 = !{!6, !10, !15} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____grandparent___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__grandparent___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____grandparent___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__grandparent___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 4, baseType: !11, size: 96, align: 16, offset: 64, flags: DIFlagPublic) - !11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 96, align: 16, elements: !13) + !10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 4, baseType: !11, size: 96, align [filtered], offset: 64, flags: DIFlagPublic) + !11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 96, align [filtered], elements: !13) !12 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) !13 = !{!14} !14 = !DISubrange(count: 6, lowerBound: 0) - !15 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 5, baseType: !12, size: 16, align: 16, offset: 160, flags: DIFlagPublic) + !15 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 5, baseType: !12, size: 16, align [filtered], offset: 160, flags: DIFlagPublic) !16 = !DIGlobalVariableExpression(var: !17, expr: !DIExpression()) !17 = distinct !DIGlobalVariable(name: "__parent__init", scope: !2, file: !2, line: 9, type: !18, isLocal: false, isDefinition: true) !18 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !19) - !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "parent", scope: !2, file: !2, line: 9, size: 384, align: 64, flags: DIFlagPublic, elements: !20, identifier: "parent") + !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "parent", scope: !2, file: !2, line: 9, size: 384, align [filtered], flags: DIFlagPublic, elements: !20, identifier: "parent") !20 = !{!21, !22, !26} - !21 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 192, align: 64, flags: DIFlagPublic) - !22 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !23, size: 176, align: 16, offset: 192, flags: DIFlagPublic) - !23 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 176, align: 16, elements: !24) + !21 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 192, align [filtered], flags: DIFlagPublic) + !22 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !23, size: 176, align [filtered], offset: 192, flags: DIFlagPublic) + !23 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 176, align [filtered], elements: !24) !24 = !{!25} !25 = !DISubrange(count: 11, lowerBound: 0) - !26 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 12, baseType: !12, size: 16, align: 16, offset: 368, flags: DIFlagPublic) + !26 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 12, baseType: !12, size: 16, align [filtered], offset: 368, flags: DIFlagPublic) !27 = !DIGlobalVariableExpression(var: !28, expr: !DIExpression()) !28 = distinct !DIGlobalVariable(name: "__child__init", scope: !2, file: !2, line: 16, type: !29, isLocal: false, isDefinition: true) !29 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !30) - !30 = !DICompositeType(tag: DW_TAG_structure_type, name: "child", scope: !2, file: !2, line: 16, size: 576, align: 64, flags: DIFlagPublic, elements: !31, identifier: "child") + !30 = !DICompositeType(tag: DW_TAG_structure_type, name: "child", scope: !2, file: !2, line: 16, size: 576, align [filtered], flags: DIFlagPublic, elements: !31, identifier: "child") !31 = !{!32, !33} - !32 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !19, size: 384, align: 64, flags: DIFlagPublic) - !33 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !2, file: !2, line: 18, baseType: !23, size: 176, align: 16, offset: 384, flags: DIFlagPublic) + !32 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !19, size: 384, align [filtered], flags: DIFlagPublic) + !33 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !2, file: !2, line: 18, baseType: !23, size: 176, align [filtered], offset: 384, flags: DIFlagPublic) !34 = !{i32 2, !"Dwarf Version", i32 5} !35 = !{i32 2, !"Debug Info Version", i32 3} !36 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !37, splitDebugInlining: false) @@ -1048,8 +1048,8 @@ fn array_in_parent_generated() { !54 = distinct !DISubprogram(name: "main", linkageName: "main", scope: !2, file: !2, line: 22, type: !55, scopeLine: 26, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !36, retainedNodes: !41) !55 = !DISubroutineType(flags: DIFlagPublic, types: !56) !56 = !{null} - !57 = !DILocalVariable(name: "arr", scope: !54, file: !2, line: 24, type: !58, align: 64) - !58 = !DICompositeType(tag: DW_TAG_array_type, baseType: !30, size: 6336, align: 64, elements: !24) + !57 = !DILocalVariable(name: "arr", scope: !54, file: !2, line: 24, type: !58, align [filtered]) + !58 = !DICompositeType(tag: DW_TAG_array_type, baseType: !30, size: 6336, align [filtered], elements: !24) !59 = !DILocation(line: 24, column: 12, scope: !54) !60 = !DILocation(line: 26, column: 12, scope: !54) !61 = !DILocation(line: 27, column: 12, scope: !54) @@ -1307,36 +1307,36 @@ fn complex_array_access_generated() { !1 = distinct !DIGlobalVariable(name: "__grandparent__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "grandparent", scope: !2, file: !2, line: 2, size: 192, align: 64, flags: DIFlagPublic, elements: !5, identifier: "grandparent") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "grandparent", scope: !2, file: !2, line: 2, size: 192, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "grandparent") !5 = !{!6, !10, !15} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____grandparent___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__grandparent___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____grandparent___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__grandparent___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 4, baseType: !11, size: 96, align: 16, offset: 64, flags: DIFlagPublic) - !11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 96, align: 16, elements: !13) + !10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !2, file: !2, line: 4, baseType: !11, size: 96, align [filtered], offset: 64, flags: DIFlagPublic) + !11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 96, align [filtered], elements: !13) !12 = !DIBasicType(name: "INT", size: 16, encoding: DW_ATE_signed, flags: DIFlagPublic) !13 = !{!14} !14 = !DISubrange(count: 6, lowerBound: 0) - !15 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 5, baseType: !12, size: 16, align: 16, offset: 160, flags: DIFlagPublic) + !15 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 5, baseType: !12, size: 16, align [filtered], offset: 160, flags: DIFlagPublic) !16 = !DIGlobalVariableExpression(var: !17, expr: !DIExpression()) !17 = distinct !DIGlobalVariable(name: "__parent__init", scope: !2, file: !2, line: 9, type: !18, isLocal: false, isDefinition: true) !18 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !19) - !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "parent", scope: !2, file: !2, line: 9, size: 384, align: 64, flags: DIFlagPublic, elements: !20, identifier: "parent") + !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "parent", scope: !2, file: !2, line: 9, size: 384, align [filtered], flags: DIFlagPublic, elements: !20, identifier: "parent") !20 = !{!21, !22, !26} - !21 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 192, align: 64, flags: DIFlagPublic) - !22 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !23, size: 176, align: 16, offset: 192, flags: DIFlagPublic) - !23 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 176, align: 16, elements: !24) + !21 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 192, align [filtered], flags: DIFlagPublic) + !22 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 11, baseType: !23, size: 176, align [filtered], offset: 192, flags: DIFlagPublic) + !23 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 176, align [filtered], elements: !24) !24 = !{!25} !25 = !DISubrange(count: 11, lowerBound: 0) - !26 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 12, baseType: !12, size: 16, align: 16, offset: 368, flags: DIFlagPublic) + !26 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 12, baseType: !12, size: 16, align [filtered], offset: 368, flags: DIFlagPublic) !27 = !DIGlobalVariableExpression(var: !28, expr: !DIExpression()) !28 = distinct !DIGlobalVariable(name: "__child__init", scope: !2, file: !2, line: 16, type: !29, isLocal: false, isDefinition: true) !29 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !30) - !30 = !DICompositeType(tag: DW_TAG_structure_type, name: "child", scope: !2, file: !2, line: 16, size: 576, align: 64, flags: DIFlagPublic, elements: !31, identifier: "child") + !30 = !DICompositeType(tag: DW_TAG_structure_type, name: "child", scope: !2, file: !2, line: 16, size: 576, align [filtered], flags: DIFlagPublic, elements: !31, identifier: "child") !31 = !{!32, !33} - !32 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !19, size: 384, align: 64, flags: DIFlagPublic) - !33 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !2, file: !2, line: 18, baseType: !23, size: 176, align: 16, offset: 384, flags: DIFlagPublic) + !32 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !19, size: 384, align [filtered], flags: DIFlagPublic) + !33 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !2, file: !2, line: 18, baseType: !23, size: 176, align [filtered], offset: 384, flags: DIFlagPublic) !34 = !{i32 2, !"Dwarf Version", i32 5} !35 = !{i32 2, !"Debug Info Version", i32 3} !36 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !37, splitDebugInlining: false) @@ -1522,18 +1522,18 @@ fn function_block_method_debug_info() { !1 = distinct !DIGlobalVariable(name: "__foo__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 2, size: 64, align: 64, flags: DIFlagPublic, elements: !5, identifier: "foo") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 2, size: 64, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "foo") !5 = !{!6} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____foo___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__foo___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) !10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression()) !11 = distinct !DIGlobalVariable(name: "__bar__init", scope: !2, file: !2, line: 7, type: !12, isLocal: false, isDefinition: true) !12 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !13) - !13 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", scope: !2, file: !2, line: 7, size: 64, align: 64, flags: DIFlagPublic, elements: !14, identifier: "bar") + !13 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", scope: !2, file: !2, line: 7, size: 64, align [filtered], flags: DIFlagPublic, elements: !14, identifier: "bar") !14 = !{!15} - !15 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 64, align: 64, flags: DIFlagPublic) + !15 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 64, align [filtered], flags: DIFlagPublic) !16 = !{i32 2, !"Dwarf Version", i32 5} !17 = !{i32 2, !"Debug Info Version", i32 3} !18 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !19, splitDebugInlining: false) @@ -1940,28 +1940,28 @@ END_FUNCTION !1 = distinct !DIGlobalVariable(name: "__parent__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) - !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "parent", scope: !2, file: !2, line: 2, size: 128, align: 64, flags: DIFlagPublic, elements: !5, identifier: "parent") + !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "parent", scope: !2, file: !2, line: 2, size: 128, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "parent") !5 = !{!6, !10} - !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align: 64, flags: DIFlagPublic) - !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____parent___vtable", scope: !2, file: !2, baseType: !8, align: 64) - !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__parent___vtable", baseType: !9, size: 64, align: 64, dwarfAddressSpace: 1) + !6 = !DIDerivedType(tag: DW_TAG_member, name: "__vtable", scope: !2, file: !2, baseType: !7, size: 64, align [filtered], flags: DIFlagPublic) + !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "__POINTER_TO____parent___vtable", scope: !2, file: !2, baseType: !8, align [filtered]) + !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__parent___vtable", baseType: !9, size: 64, align [filtered], dwarfAddressSpace: 1) !9 = !DIBasicType(name: "__VOID", encoding: DW_ATE_unsigned, flags: DIFlagPublic) - !10 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 4, baseType: !11, size: 32, align: 32, offset: 64, flags: DIFlagPublic) + !10 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 4, baseType: !11, size: 32, align [filtered], offset: 64, flags: DIFlagPublic) !11 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !12 = !DIGlobalVariableExpression(var: !13, expr: !DIExpression()) !13 = distinct !DIGlobalVariable(name: "__child__init", scope: !2, file: !2, line: 8, type: !14, isLocal: false, isDefinition: true) !14 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !15) - !15 = !DICompositeType(tag: DW_TAG_structure_type, name: "child", scope: !2, file: !2, line: 8, size: 192, align: 64, flags: DIFlagPublic, elements: !16, identifier: "child") + !15 = !DICompositeType(tag: DW_TAG_structure_type, name: "child", scope: !2, file: !2, line: 8, size: 192, align [filtered], flags: DIFlagPublic, elements: !16, identifier: "child") !16 = !{!17, !18} - !17 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 128, align: 64, flags: DIFlagPublic) - !18 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 10, baseType: !11, size: 32, align: 32, offset: 128, flags: DIFlagPublic) + !17 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !4, size: 128, align [filtered], flags: DIFlagPublic) + !18 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 10, baseType: !11, size: 32, align [filtered], offset: 128, flags: DIFlagPublic) !19 = !DIGlobalVariableExpression(var: !20, expr: !DIExpression()) !20 = distinct !DIGlobalVariable(name: "__grandchild__init", scope: !2, file: !2, line: 14, type: !21, isLocal: false, isDefinition: true) !21 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !22) - !22 = !DICompositeType(tag: DW_TAG_structure_type, name: "grandchild", scope: !2, file: !2, line: 14, size: 256, align: 64, flags: DIFlagPublic, elements: !23, identifier: "grandchild") + !22 = !DICompositeType(tag: DW_TAG_structure_type, name: "grandchild", scope: !2, file: !2, line: 14, size: 256, align [filtered], flags: DIFlagPublic, elements: !23, identifier: "grandchild") !23 = !{!24, !25} - !24 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !15, size: 192, align: 64, flags: DIFlagPublic) - !25 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 16, baseType: !11, size: 32, align: 32, offset: 192, flags: DIFlagPublic) + !24 = !DIDerivedType(tag: DW_TAG_member, name: "SUPER", scope: !2, file: !2, baseType: !15, size: 192, align [filtered], flags: DIFlagPublic) + !25 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 16, baseType: !11, size: 32, align [filtered], offset: 192, flags: DIFlagPublic) !26 = !{i32 2, !"Dwarf Version", i32 5} !27 = !{i32 2, !"Debug Info Version", i32 3} !28 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !29, splitDebugInlining: false) @@ -1985,24 +1985,24 @@ END_FUNCTION !46 = distinct !DISubprogram(name: "main", linkageName: "main", scope: !2, file: !2, line: 20, type: !47, scopeLine: 20, flags: DIFlagPublic, spFlags: DISPFlagDefinition, unit: !28, retainedNodes: !33) !47 = !DISubroutineType(flags: DIFlagPublic, types: !48) !48 = !{null} - !49 = !DILocalVariable(name: "array_of_parent", scope: !46, file: !2, line: 22, type: !50, align: 64) - !50 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 384, align: 64, elements: !51) + !49 = !DILocalVariable(name: "array_of_parent", scope: !46, file: !2, line: 22, type: !50, align [filtered]) + !50 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 384, align [filtered], elements: !51) !51 = !{!52} !52 = !DISubrange(count: 3, lowerBound: 0) !53 = !DILocation(line: 22, column: 4, scope: !46) - !54 = !DILocalVariable(name: "array_of_child", scope: !46, file: !2, line: 23, type: !55, align: 64) - !55 = !DICompositeType(tag: DW_TAG_array_type, baseType: !15, size: 576, align: 64, elements: !51) + !54 = !DILocalVariable(name: "array_of_child", scope: !46, file: !2, line: 23, type: !55, align [filtered]) + !55 = !DICompositeType(tag: DW_TAG_array_type, baseType: !15, size: 576, align [filtered], elements: !51) !56 = !DILocation(line: 23, column: 4, scope: !46) - !57 = !DILocalVariable(name: "array_of_grandchild", scope: !46, file: !2, line: 24, type: !58, align: 64) - !58 = !DICompositeType(tag: DW_TAG_array_type, baseType: !22, size: 768, align: 64, elements: !51) + !57 = !DILocalVariable(name: "array_of_grandchild", scope: !46, file: !2, line: 24, type: !58, align [filtered]) + !58 = !DICompositeType(tag: DW_TAG_array_type, baseType: !22, size: 768, align [filtered], elements: !51) !59 = !DILocation(line: 24, column: 4, scope: !46) - !60 = !DILocalVariable(name: "parent1", scope: !46, file: !2, line: 25, type: !4, align: 64) + !60 = !DILocalVariable(name: "parent1", scope: !46, file: !2, line: 25, type: !4, align [filtered]) !61 = !DILocation(line: 25, column: 4, scope: !46) - !62 = !DILocalVariable(name: "child1", scope: !46, file: !2, line: 26, type: !15, align: 64) + !62 = !DILocalVariable(name: "child1", scope: !46, file: !2, line: 26, type: !15, align [filtered]) !63 = !DILocation(line: 26, column: 4, scope: !46) - !64 = !DILocalVariable(name: "grandchild1", scope: !46, file: !2, line: 27, type: !22, align: 64) + !64 = !DILocalVariable(name: "grandchild1", scope: !46, file: !2, line: 27, type: !22, align [filtered]) !65 = !DILocation(line: 27, column: 4, scope: !46) - !66 = !DILocalVariable(name: "main", scope: !46, file: !2, line: 20, type: !11, align: 32) + !66 = !DILocalVariable(name: "main", scope: !46, file: !2, line: 20, type: !11, align [filtered]) !67 = !DILocation(line: 20, column: 9, scope: !46) !68 = !DILocation(line: 0, scope: !46) !69 = !DILocation(line: 30, column: 4, scope: !46) diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__dwarf_version_override.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__dwarf_version_override.snap index 4ac0576071..ae937cba99 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__dwarf_version_override.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__dwarf_version_override.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests.rs expression: codegen -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "gInt", scope: !2, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "myInt", scope: !2, file: !2, line: 2, baseType: !4, align: 32) +!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "myInt", scope: !2, file: !2, line: 2, baseType: !4, align [filtered]) !4 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !5 = !{i32 2, !"Dwarf Version", i32 4} !6 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_alias_type.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_alias_type.snap index d029ce1d8b..da8c6cd38b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_alias_type.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_alias_type.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests.rs expression: codegen -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -16,7 +15,7 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "gInt", scope: !2, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "myInt", scope: !2, file: !2, line: 2, baseType: !4, align: 32) +!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "myInt", scope: !2, file: !2, line: 2, baseType: !4, align [filtered]) !4 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !5 = !{i32 2, !"Dwarf Version", i32 5} !6 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_array_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_array_added_to_debug_info.snap index 32148e8699..d10db9574f 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_array_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_array_added_to_debug_info.snap @@ -1,7 +1,6 @@ --- source: src/codegen/tests/debug_tests.rs expression: codegen -snapshot_kind: text --- ; ModuleID = '' source_filename = "" @@ -18,19 +17,19 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 352, align: 32, elements: !5) +!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 352, align [filtered], elements: !5) !4 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !5 = !{!6} !6 = !DISubrange(count: 11, lowerBound: 0) !7 = !DIGlobalVariableExpression(var: !8, expr: !DIExpression()) !8 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !2, line: 4, type: !9, isLocal: false, isDefinition: true) -!9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 3520, align: 32, elements: !10) +!9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 3520, align [filtered], elements: !10) !10 = !{!6, !11} !11 = !DISubrange(count: 10, lowerBound: 11) !12 = !DIGlobalVariableExpression(var: !13, expr: !DIExpression()) !13 = distinct !DIGlobalVariable(name: "c", scope: !2, file: !2, line: 5, type: !14, isLocal: false, isDefinition: true) -!14 = !DICompositeType(tag: DW_TAG_array_type, baseType: !15, size: 3520, align: 32, elements: !5) -!15 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 320, align: 32, elements: !16) +!14 = !DICompositeType(tag: DW_TAG_array_type, baseType: !15, size: 3520, align [filtered], elements: !5) +!15 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 320, align [filtered], elements: !16) !16 = !{!11} !17 = !{i32 2, !"Dwarf Version", i32 5} !18 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_enum_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_enum_added_to_debug_info.snap index 324bb591e3..9180b408a1 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_enum_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_enum_added_to_debug_info.snap @@ -24,12 +24,12 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "en3", scope: !2, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__global_en3", scope: !2, file: !2, line: 5, baseType: !4, align: 64) +!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__global_en3", scope: !2, file: !2, line: 5, baseType: !4, align [filtered]) !4 = !DIBasicType(name: "LINT", size: 64, encoding: DW_ATE_signed, flags: DIFlagPublic) !5 = !DIGlobalVariableExpression(var: !6, expr: !DIExpression()) !6 = distinct !DIGlobalVariable(name: "en1.a", scope: !2, file: !2, line: 2, type: !7, isLocal: false, isDefinition: true) !7 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8) -!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "en1", scope: !2, file: !2, line: 2, baseType: !9, align: 32) +!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "en1", scope: !2, file: !2, line: 2, baseType: !9, align [filtered]) !9 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression()) !11 = distinct !DIGlobalVariable(name: "en1.b", scope: !2, file: !2, line: 2, type: !7, isLocal: false, isDefinition: true) @@ -38,7 +38,7 @@ target triple = "[filtered]" !14 = !DIGlobalVariableExpression(var: !15, expr: !DIExpression()) !15 = distinct !DIGlobalVariable(name: "en2.d", scope: !2, file: !2, line: 3, type: !16, isLocal: false, isDefinition: true) !16 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !17) -!17 = !DIDerivedType(tag: DW_TAG_typedef, name: "en2", scope: !2, file: !2, line: 3, baseType: !18, align: 8) +!17 = !DIDerivedType(tag: DW_TAG_typedef, name: "en2", scope: !2, file: !2, line: 3, baseType: !18, align [filtered]) !18 = !DIBasicType(name: "BYTE", size: 8, encoding: DW_ATE_unsigned, flags: DIFlagPublic) !19 = !DIGlobalVariableExpression(var: !20, expr: !DIExpression()) !20 = distinct !DIGlobalVariable(name: "en2.e", scope: !2, file: !2, line: 3, type: !16, isLocal: false, isDefinition: true) diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap index daad42631a..c33550951e 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_nested_struct_added_to_debug_info.snap @@ -63,15 +63,15 @@ entry: !1 = distinct !DIGlobalVariable(name: "__myStruct__init", scope: !2, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") !3 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) -!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 2, size: 192, align: 64, flags: DIFlagPublic, elements: !5, identifier: "myStruct") +!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 2, size: 192, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "myStruct") !5 = !{!6, !8} -!6 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 3, baseType: !7, size: 32, align: 32, flags: DIFlagPublic) +!6 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 3, baseType: !7, size: 32, align [filtered], flags: DIFlagPublic) !7 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) -!8 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 4, baseType: !9, size: 128, align: 64, offset: 64, flags: DIFlagPublic) -!9 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct2", scope: !2, file: !2, line: 8, size: 128, align: 64, flags: DIFlagPublic, elements: !10, identifier: "myStruct2") +!8 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 4, baseType: !9, size: 128, align [filtered], offset: 64, flags: DIFlagPublic) +!9 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct2", scope: !2, file: !2, line: 8, size: 128, align [filtered], flags: DIFlagPublic, elements: !10, identifier: "myStruct2") !10 = !{!11, !12} -!11 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 9, baseType: !7, size: 32, align: 32, flags: DIFlagPublic) -!12 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 10, baseType: !13, size: 64, align: 64, offset: 64, flags: DIFlagPublic) +!11 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 9, baseType: !7, size: 32, align [filtered], flags: DIFlagPublic) +!12 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 10, baseType: !13, size: 64, align [filtered], offset: 64, flags: DIFlagPublic) !13 = !DIBasicType(name: "LREAL", size: 64, encoding: DW_ATE_float, flags: DIFlagPublic) !14 = !DIGlobalVariableExpression(var: !15, expr: !DIExpression()) !15 = distinct !DIGlobalVariable(name: "__myStruct2__init", scope: !2, file: !2, line: 8, type: !16, isLocal: false, isDefinition: true) diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_pointer_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_pointer_added_to_debug_info.snap index 9ff4815e4c..bc52a2091b 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_pointer_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_pointer_added_to_debug_info.snap @@ -16,14 +16,14 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_a", scope: !2, file: !2, baseType: !4, align: 64) -!4 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_a", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 1) +!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_a", scope: !2, file: !2, baseType: !4, align [filtered]) +!4 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_a", baseType: !5, size: 64, align [filtered], dwarfAddressSpace: 1) !5 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression()) !7 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !2, line: 4, type: !8, isLocal: false, isDefinition: true) -!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_b", scope: !2, file: !2, baseType: !9, align: 64) -!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_b", baseType: !10, size: 64, align: 64, dwarfAddressSpace: 1) -!10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 352, align: 32, elements: !11) +!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__REF_TO____global_b", scope: !2, file: !2, baseType: !9, align [filtered]) +!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__global_b", baseType: !10, size: 64, align [filtered], dwarfAddressSpace: 1) +!10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 352, align [filtered], elements: !11) !11 = !{!12} !12 = !DISubrange(count: 11, lowerBound: 0) !13 = !{i32 2, !"Dwarf Version", i32 5} diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_string_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_string_added_to_debug_info.snap index 6138b23178..58146cdd99 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_string_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_string_added_to_debug_info.snap @@ -16,15 +16,15 @@ target triple = "[filtered]" !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !4, align: 8) -!4 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 648, align: 8, elements: !6) +!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "__STRING__81", scope: !2, file: !2, baseType: !4, align [filtered]) +!4 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 648, align [filtered], elements: !6) !5 = !DIBasicType(name: "CHAR", size: 8, encoding: DW_ATE_UTF, flags: DIFlagPublic) !6 = !{!7} !7 = !DISubrange(count: 81, lowerBound: 0) !8 = !DIGlobalVariableExpression(var: !9, expr: !DIExpression()) !9 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !2, line: 4, type: !10, isLocal: false, isDefinition: true) -!10 = !DIDerivedType(tag: DW_TAG_typedef, name: "__WSTRING__81", scope: !2, file: !2, baseType: !11, align: 16) -!11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 1296, align: 16, elements: !6) +!10 = !DIDerivedType(tag: DW_TAG_typedef, name: "__WSTRING__81", scope: !2, file: !2, baseType: !11, align [filtered]) +!11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 1296, align [filtered], elements: !6) !12 = !DIBasicType(name: "WCHAR", size: 16, encoding: DW_ATE_UTF, flags: DIFlagPublic) !13 = !{i32 2, !"Dwarf Version", i32 5} !14 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap index 892ca523bd..1f4ba02123 100644 --- a/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap +++ b/src/codegen/tests/snapshots/rusty__codegen__tests__debug_tests__global_var_struct_added_to_debug_info.snap @@ -41,15 +41,15 @@ entry: !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !2, line: 12, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: "", directory: "") -!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 5632, align: 64, elements: !12) -!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 2, size: 512, align: 64, flags: DIFlagPublic, elements: !5, identifier: "myStruct") +!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 5632, align [filtered], elements: !12) +!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "myStruct", scope: !2, file: !2, line: 2, size: 512, align [filtered], flags: DIFlagPublic, elements: !5, identifier: "myStruct") !5 = !{!6, !8, !10} -!6 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 3, baseType: !7, size: 32, align: 32, flags: DIFlagPublic) +!6 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 3, baseType: !7, size: 32, align [filtered], flags: DIFlagPublic) !7 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) -!8 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 4, baseType: !9, size: 64, align: 64, offset: 64, flags: DIFlagPublic) +!8 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 4, baseType: !9, size: 64, align [filtered], offset: 64, flags: DIFlagPublic) !9 = !DIBasicType(name: "LREAL", size: 64, encoding: DW_ATE_float, flags: DIFlagPublic) -!10 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 5, baseType: !11, size: 352, align: 32, offset: 128, flags: DIFlagPublic) -!11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 352, align: 32, elements: !12) +!10 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !2, file: !2, line: 5, baseType: !11, size: 352, align [filtered], offset: 128, flags: DIFlagPublic) +!11 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 352, align [filtered], elements: !12) !12 = !{!13} !13 = !DISubrange(count: 11, lowerBound: 0) !14 = !DIGlobalVariableExpression(var: !15, expr: !DIExpression()) diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap index b794311623..6717cac72a 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__actions_debug.snap @@ -74,11 +74,11 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "main", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: ".cfc", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "main", scope: !2, file: !2, line: 1, size: 64, align: 64, flags: DIFlagPublic, elements: !4, identifier: "main") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "main", scope: !2, file: !2, line: 1, size: 64, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "main") !4 = !{!5, !7} -!5 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align: 32, flags: DIFlagPublic) +!5 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align [filtered], flags: DIFlagPublic) !6 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) -!7 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align: 32, offset: 32, flags: DIFlagPublic) +!7 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align [filtered], offset: 32, flags: DIFlagPublic) !8 = !{i32 2, !"Dwarf Version", i32 5} !9 = !{i32 2, !"Debug Info Version", i32 3} !10 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "RuSTy Structured text Compiler", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !11, splitDebugInlining: false) diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap index 7b678222f9..f8638a1dcb 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__conditional_return_debug.snap @@ -52,7 +52,7 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !8 = !{} !9 = !DILocalVariable(name: "val", scope: !4, file: !3, line: 1, type: !7) !10 = !DILocation(line: 1, column: 30, scope: !4) -!11 = !DILocalVariable(name: "foo", scope: !4, file: !3, line: 1, type: !7, align: 32) +!11 = !DILocalVariable(name: "foo", scope: !4, file: !3, line: 1, type: !7, align [filtered]) !12 = !DILocation(line: 1, column: 9, scope: !4) !13 = !DILocation(line: 2, scope: !4) !14 = !DILocation(line: 3, scope: !4) diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap index 9f2dd1c3d3..0a3549e7f4 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__jump_debug.snap @@ -57,9 +57,9 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "foo", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: ".cfc", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 1, size: 32, align: 64, flags: DIFlagPublic, elements: !4, identifier: "foo") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", scope: !2, file: !2, line: 1, size: 32, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "foo") !4 = !{!5} -!5 = !DIDerivedType(tag: DW_TAG_member, name: "val", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align: 32, flags: DIFlagPublic) +!5 = !DIDerivedType(tag: DW_TAG_member, name: "val", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align [filtered], flags: DIFlagPublic) !6 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !7 = !{i32 2, !"Dwarf Version", i32 5} !8 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap b/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap index 2bd8303317..26095e84af 100644 --- a/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap +++ b/tests/integration/snapshots/tests__integration__cfc__ir__sink_source_debug.snap @@ -49,9 +49,9 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn } !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression()) !1 = distinct !DIGlobalVariable(name: "main", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true) !2 = !DIFile(filename: ".cfc", directory: "") -!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "main", scope: !2, file: !2, line: 1, size: 32, align: 64, flags: DIFlagPublic, elements: !4, identifier: "main") +!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "main", scope: !2, file: !2, line: 1, size: 32, align [filtered], flags: DIFlagPublic, elements: !4, identifier: "main") !4 = !{!5} -!5 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align: 32, flags: DIFlagPublic) +!5 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !2, file: !2, line: 1, baseType: !6, size: 32, align [filtered], flags: DIFlagPublic) !6 = !DIBasicType(name: "DINT", size: 32, encoding: DW_ATE_signed, flags: DIFlagPublic) !7 = !{i32 2, !"Dwarf Version", i32 5} !8 = !{i32 2, !"Debug Info Version", i32 3} From c4cbb783bacc6dbbfca81836a904f0b7f3718325 Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Tue, 25 Nov 2025 14:37:13 +0000 Subject: [PATCH 08/10] update new test --- src/codegen/tests/typesystem_test.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/codegen/tests/typesystem_test.rs b/src/codegen/tests/typesystem_test.rs index a9647ae461..4c20840864 100644 --- a/src/codegen/tests/typesystem_test.rs +++ b/src/codegen/tests/typesystem_test.rs @@ -352,18 +352,18 @@ fn enum_typed_varargs_get_promoted() { define i32 @main() { entry: - %main = alloca i32, align 4 - %e1 = alloca i16, align 2 - %i1 = alloca i16, align 2 - store i16 10, i16* %e1, align 2 - store i16 10, i16* %i1, align 2 - store i32 0, i32* %main, align 4 - %load_e1 = load i16, i16* %e1, align 2 + %main = alloca i32, align [filtered] + %e1 = alloca i16, align [filtered] + %i1 = alloca i16, align [filtered] + store i16 10, i16* %e1, align [filtered] + store i16 10, i16* %i1, align [filtered] + store i32 0, i32* %main, align [filtered] + %load_e1 = load i16, i16* %e1, align [filtered] %0 = sext i16 %load_e1 to i32 - %load_i1 = load i16, i16* %i1, align 2 + %load_i1 = load i16, i16* %i1, align [filtered] %1 = sext i16 %load_i1 to i32 %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @utf08_literal_0, i32 0, i32 0), i32 %0, i32 %1) - %main_ret = load i32, i32* %main, align 4 + %main_ret = load i32, i32* %main, align [filtered] ret i32 %main_ret } "#); From c600d37f75519346d8e89845d860850c958d1149 Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Thu, 27 Nov 2025 10:52:39 +0100 Subject: [PATCH 09/10] add alignment tests --- compiler/plc_util/src/lib.rs | 19 +++ src/codegen/tests.rs | 1 + src/codegen/tests/alignment_tests.rs | 182 +++++++++++++++++++++++++++ src/codegen/tests/code_gen_tests.rs | 4 +- 4 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 src/codegen/tests/alignment_tests.rs diff --git a/compiler/plc_util/src/lib.rs b/compiler/plc_util/src/lib.rs index 349f4f76aa..022fd58ee5 100644 --- a/compiler/plc_util/src/lib.rs +++ b/compiler/plc_util/src/lib.rs @@ -20,3 +20,22 @@ macro_rules! filtered_assert_snapshot { settings.bind(|| insta::assert_snapshot!($value, @$snapshot)); }}; } + +#[macro_export] +macro_rules! filtered_assert_snapshot_with_alginments { + // Case for normal snapshot (no inline expected output) + ($value:expr) => {{ + let mut settings = insta::Settings::clone_current(); + settings.add_filter(r#"target datalayout = ".*""#, r#"target datalayout = "[filtered]""#); + settings.add_filter(r#"target triple = ".*""#, r#"target triple = "[filtered]""#); + settings.bind(|| insta::assert_snapshot!($value)) + }}; + + // Case for inline snapshot: expression @literal + ($value:expr, @$snapshot:literal) => {{ + let mut settings = insta::Settings::clone_current(); + settings.add_filter(r#"target datalayout = ".*""#, r#"target datalayout = "[filtered]""#); + settings.add_filter(r#"target triple = ".*""#, r#"target triple = "[filtered]""#); + settings.bind(|| insta::assert_snapshot!($value, @$snapshot)); + }}; +} diff --git a/src/codegen/tests.rs b/src/codegen/tests.rs index ccbe645acf..5d2dda2b22 100644 --- a/src/codegen/tests.rs +++ b/src/codegen/tests.rs @@ -1,5 +1,6 @@ // Copyright (c) 2020 Ghaith Hachem and Mathias Rieder mod address_tests; +mod alignment_tests; mod code_gen_tests; mod codegen_error_messages_tests; mod compare_instructions_tests; diff --git a/src/codegen/tests/alignment_tests.rs b/src/codegen/tests/alignment_tests.rs new file mode 100644 index 0000000000..edb269c0bf --- /dev/null +++ b/src/codegen/tests/alignment_tests.rs @@ -0,0 +1,182 @@ +use crate::test_utils::tests::codegen; +use plc_util::filtered_assert_snapshot_with_alginments; + +// Tests for aligment of datatypes on x86_64 and aarch64 +#[test] +fn test_datatype_alignment() { + let result = codegen( + r#"FUNCTION main +VAR +a : BYTE; // 1 byte +b : WORD; // 2 bytes +c : DWORD; // 4 bytes +d : LWORD; // 8 bytes +e : INT; // 2 bytes +f : DINT; // 4 bytes +g : LINT; // 8 bytes +h : REAL; // 4 bytes +i : LREAL; // 8 bytes +j : BOOL; // 1 byte +END_VAR +END_FUNCTION +"#, + ); + + // Arm assertion + #[cfg(target_arch = "aarch64")] + filtered_assert_snapshot_with_alginments!(result, @r#" + ; ModuleID = '' + source_filename = "" + target datalayout = "[filtered]" + target triple = "[filtered]" + + define void @main() { + entry: + %a = alloca i8, align 1 + %b = alloca i16, align 2 + %c = alloca i32, align 4 + %d = alloca i64, align 8 + %e = alloca i16, align 2 + %f = alloca i32, align 4 + %g = alloca i64, align 8 + %h = alloca float, align 4 + %i = alloca double, align 8 + %j = alloca i8, align 1 + store i8 0, i8* %a, align 1 + store i16 0, i16* %b, align 2 + store i32 0, i32* %c, align 4 + store i64 0, i64* %d, align 8 + store i16 0, i16* %e, align 2 + store i32 0, i32* %f, align 4 + store i64 0, i64* %g, align 8 + store float 0.000000e+00, float* %h, align 4 + store double 0.000000e+00, double* %i, align 8 + store i8 0, i8* %j, align 1 + ret void + } + "#); + + // x86_64 assertion + #[cfg(target_arch = "x86_64")] + filtered_assert_snapshot_with_alginments!(result, @r#" + ; ModuleID = '' + source_filename = "" + target datalayout = "[filtered]" + target triple = "[filtered]" + + define void @main() { + entry: + %a = alloca i8, align 1 + %b = alloca i16, align 2 + %c = alloca i32, align 4 + %d = alloca i64, align 8 + %e = alloca i16, align 2 + %f = alloca i32, align 4 + %g = alloca i64, align 8 + %h = alloca float, align 4 + %i = alloca double, align 8 + %j = alloca i8, align 1 + store i8 0, i8* %a, align 1 + store i16 0, i16* %b, align 2 + store i32 0, i32* %c, align 4 + store i64 0, i64* %d, align 8 + store i16 0, i16* %e, align 2 + store i32 0, i32* %f, align 4 + store i64 0, i64* %g, align 8 + store float 0.000000e+00, float* %h, align 4 + store double 0.000000e+00, double* %i, align 8 + store i8 0, i8* %j, align 1 + ret void + } + "#); +} + +#[test] +fn test_struct_alignment() { + let result = codegen( + r#"FUNCTION main + VAR + x : MyStruct; + y : MyStruct; + a : BOOL; + END_VAR + END_FUNCTION + TYPE + MyStruct : STRUCT + a : BYTE; // 1 byte + b : WORD; // 2 bytes + c : DWORD; // 4 bytes + d : LWORD; // 8 bytes + e : INT; // 2 bytes + f : DINT; // 4 bytes + g : LINT; // 8 bytes + h : REAL; // 4 bytes + i : LREAL; // 8 bytes + j : BOOL; // 1 byte + END_STRUCT + END_TYPE + "#, + ); + + // Arm assertion + #[cfg(target_arch = "aarch64")] + filtered_assert_snapshot_with_alginments!(result, @r#" + ; ModuleID = '' + source_filename = "" + target datalayout = "[filtered]" + target triple = "[filtered]" + + %MyStruct = type { i8, i16, i32, i64, i16, i32, i64, float, double, i8 } + + @__MyStruct__init = unnamed_addr constant %MyStruct zeroinitializer + + define void @main() { + entry: + %x = alloca %MyStruct, align 8 + %y = alloca %MyStruct, align 8 + %a = alloca i8, align 1 + %0 = bitcast %MyStruct* %x to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%MyStruct, %MyStruct* @__MyStruct__init, i32 0, i32 0), i64 ptrtoint (%MyStruct* getelementptr (%MyStruct, %MyStruct* null, i32 1) to i64), i1 false) + %1 = bitcast %MyStruct* %y to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds (%MyStruct, %MyStruct* @__MyStruct__init, i32 0, i32 0), i64 ptrtoint (%MyStruct* getelementptr (%MyStruct, %MyStruct* null, i32 1) to i64), i1 false) + store i8 0, i8* %a, align 1 + ret void + } + + ; Function Attrs: argmemonly nofree nounwind willreturn + declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #0 + + attributes #0 = { argmemonly nofree nounwind willreturn } + "#); + + // x86_64 assertion + #[cfg(target_arch = "x86_64")] + filtered_assert_snapshot_with_alginments!(result, @r#" + ; ModuleID = '' + source_filename = "" + target datalayout = "[filtered]" + target triple = "[filtered]" + + %MyStruct = type { i8, i16, i32, i64, i16, i32, i64, float, double, i8 } + + @__MyStruct__init = unnamed_addr constant %MyStruct zeroinitializer + + define void @main() { + entry: + %x = alloca %MyStruct, align 8 + %y = alloca %MyStruct, align 8 + %a = alloca i8, align 1 + %0 = bitcast %MyStruct* %x to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%MyStruct, %MyStruct* @__MyStruct__init, i32 0, i32 0), i64 ptrtoint (%MyStruct* getelementptr (%MyStruct, %MyStruct* null, i32 1) to i64), i1 false) + %1 = bitcast %MyStruct* %y to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %1, i8* align 1 getelementptr inbounds (%MyStruct, %MyStruct* @__MyStruct__init, i32 0, i32 0), i64 ptrtoint (%MyStruct* getelementptr (%MyStruct, %MyStruct* null, i32 1) to i64), i1 false) + store i8 0, i8* %a, align 1 + ret void + } + + ; Function Attrs: argmemonly nofree nounwind willreturn + declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #0 + + attributes #0 = { argmemonly nofree nounwind willreturn } + "#); +} diff --git a/src/codegen/tests/code_gen_tests.rs b/src/codegen/tests/code_gen_tests.rs index aa93083bcd..662d00668a 100644 --- a/src/codegen/tests/code_gen_tests.rs +++ b/src/codegen/tests/code_gen_tests.rs @@ -4058,7 +4058,7 @@ fn methods_var_output() { " FUNCTION_BLOCK foo METHOD baz - VAR_OUTPUT + VAR_OUTPUT out : STRING; END_VAR out := 'hello'; @@ -4066,7 +4066,7 @@ fn methods_var_output() { END_FUNCTION_BLOCK FUNCTION main - VAR + VAR s: STRING; fb: foo; END_VAR From 943e9fe189b1b91397ad0f7ffe75dacb5f30c6da Mon Sep 17 00:00:00 2001 From: Ghaith Hachem Date: Thu, 27 Nov 2025 10:59:33 +0100 Subject: [PATCH 10/10] adjust the snapshot for arm alignments --- src/codegen/tests/alignment_tests.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/codegen/tests/alignment_tests.rs b/src/codegen/tests/alignment_tests.rs index edb269c0bf..3dbe16491d 100644 --- a/src/codegen/tests/alignment_tests.rs +++ b/src/codegen/tests/alignment_tests.rs @@ -32,16 +32,16 @@ END_FUNCTION define void @main() { entry: - %a = alloca i8, align 1 - %b = alloca i16, align 2 + %a = alloca i8, align 4 + %b = alloca i16, align 4 %c = alloca i32, align 4 %d = alloca i64, align 8 - %e = alloca i16, align 2 + %e = alloca i16, align 4 %f = alloca i32, align 4 %g = alloca i64, align 8 %h = alloca float, align 4 %i = alloca double, align 8 - %j = alloca i8, align 1 + %j = alloca i8, align 4 store i8 0, i8* %a, align 1 store i16 0, i16* %b, align 2 store i32 0, i32* %c, align 4 @@ -134,7 +134,7 @@ fn test_struct_alignment() { entry: %x = alloca %MyStruct, align 8 %y = alloca %MyStruct, align 8 - %a = alloca i8, align 1 + %a = alloca i8, align 4 %0 = bitcast %MyStruct* %x to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 getelementptr inbounds (%MyStruct, %MyStruct* @__MyStruct__init, i32 0, i32 0), i64 ptrtoint (%MyStruct* getelementptr (%MyStruct, %MyStruct* null, i32 1) to i64), i1 false) %1 = bitcast %MyStruct* %y to i8*