search for: externally_initialized

Displaying 5 results from an estimated 5 matches for "externally_initialized".

2015 Aug 28
7
Clearing the BSS section
Hi, I am writing a function that clears the BSS section on an Cortex-M4 embedded system. The LLVM (version 3.7.0rc3) code I had wrote is : ;------------ target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" target triple = "thumbv7em-none--eabi" @__bss_start = external global i32 @__bss_end = external global i32 define void @clearBSS () nounwind { entry:
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
...------------------------------------ %struct_var1 = type { <2 x float> } %struct_var2 = type { %struct_var1 } %class_var1 = type { i32, i32, i32, %struct_var2*, i32, i32, i32} %class_var2 = type { %class_var1, i8, i8*, i32 } Objects: @Obj1 = external protected local_unnamed_addr addrspace(4) externally_initialized global %class_var2, align 8 @Obj2 = internal unnamed_addr addrspace(3) constant [4000 x float] undef, align 16 Pointers: 1. %struct_var1.cast = bitcast %struct_var1* %struct_var2.gep to i64* (write) // AS1 2. %struct_var2.cast = bitcast %struct_var2* %arrayidx74 to i64* (read-o...
2015 Dec 04
3
[RFC][ARM] Add support for embedded position-independent code (ROPI/RWPI)
...mic initiaslisers will be smaller than the equivalent dynamic linker plus relocation and symbol tables. If a variable with an initialiser that needs lowering is declared with a const-qualified type, we must emit it as a non-constant so that it gets put into writable memory. I'm using the "externally_initialized" flag to prevent the optimiser from being able to turn dynamic initialisers back into static ones. Making a variable non-const can cause a chain of variables to need initialisers in RWPI-only mode. For example: extern int a; static int * const b = &a; static int * const * const c =...
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
...------------------------------------ %struct_var1 = type { <2 x float> } %struct_var2 = type { %struct_var1 } %class_var1 = type { i32, i32, i32, %struct_var2*, i32, i32, i32} %class_var2 = type { %class_var1, i8, i8*, i32 } Objects: @Obj1 = external protected local_unnamed_addr addrspace(4) externally_initialized global %class_var2, align 8 @Obj2 = internal unnamed_addr addrspace(3) constant [4000 x float] undef, align 16 Pointers: 1. %struct_var1.cast = bitcast %struct_var1* %struct_var2.gep to i64* (write) // AS1 2. %struct_var2.cast = bitcast %struct_var2* %arrayidx74 to i64* (read-o...
2017 Apr 04
3
RFC: Adding a string table to the bitcode format
On Tue, Apr 4, 2017 at 12:36 PM, Duncan P. N. Exon Smith < dexonsmith at apple.com> wrote: > > On 2017-Apr-04, at 12:12, Peter Collingbourne <peter at pcc.me.uk> wrote: > > On Mon, Apr 3, 2017 at 8:13 PM, Mehdi Amini <mehdi.amini at apple.com> wrote: > >> >> On Apr 3, 2017, at 7:08 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: >>