[ROM][C5303][LP][5.1.1_r8][SM-4.9.x] AOSPAL 5.1 Unofficial SaberMod [20151008] - Xperia SP Android Development

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XPERIA SP/HUASHAN/C5303 PARANOID ANDROID 5.1 UNOFFICIAL SABERMOD BUILDS
LOLLIPOP 5.1.1_r8
BUILD 5.1 20151008 IS ONLINE.
DOWNLOAD
NOT WORKING YET: (?) YOU TELL ME.
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.4 (20150926)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.4 (20150926)
SOURCES:
kernel - https://github.com/infected-lp/android_kernel_sony_msm8x60/tree/saber
rom - https://github.com/infected-lp/android_device_sony_huashan/tree/pa_saber
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-a-neon)
[+] other flags to optimize even more the code.
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
BUILDBOT:
(intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl9, msi gtx 970, 1x samsung 850 evo 256gb + 1x samsung 128gb ssd 840 pro, 4x western wigital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from AOSPA Legacy open-source code:
https://github.com/AOSPA-L
SPECIAL THANKS
AOSPA Dev Team = for the source code.​
​
XDA:DevDB Information
XSP/C5303/Huashan/ Paranoid Android 5.1 Unofficial Sabermod Builds, ROM for the Sony Xperia SP
Contributors
infected_
Source Code: https://github.com/AOSPA-L
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery
Based On: Paranoid Android
Version Information
Status: Nightly
Created 2015-10-07
Last Updated 2015-10-07

Reserved
HOW-TO:
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
ps: theres no need to flash SuperSU, ive integrated it on the builds.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368

Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of Paranoid Android 5.1 for the Xperia SP
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse

Another reskined cm12.1
They even have the same exact bugs like lockscreen shows when locking the screen

DahakePL said:
Another reskined cm12.1
They even have the same exact bugs like lockscreen shows when locking the screen
Click to expand...
Click to collapse
the device sources are the same, and the github link is in OP... do you see any official SlimRom or AOSPA huashan official github repos anywhere?
and is also OP the purpose of these builds. and.. no one is forcing you to use them.
regards.

If you don't mind me asking, who's sources are you using to build this, Slim and the unofficial CM?

TheAvengingTITAN said:
If you don't mind me asking, who's sources are you using to build this, Slim and the unofficial CM?
Click to expand...
Click to collapse
Link is in OP.
regards.

Slimrom without sabermod (made by different user) feels different and it doesn't have lockscreen bug for example
So what's the matter?

DahakePL said:
Slimrom without sabermod (made by different user) feels different and it doesn't have lockscreen bug for example
So what's the matter?
Click to expand...
Click to collapse
what lockscreen bug? seems ok to me.

infected_ said:
what lockscreen bug? seems ok to me.
Click to expand...
Click to collapse
You can see the lockscreen for a second if you want to turn off the screen (old cm bug)

DahakePL said:
You can see the lockscreen for a second if you want to turn off the screen (old cm bug)
Click to expand...
Click to collapse
hm.. thats such a major bug, that i didnt even noticed until you said now.
regards.
ps: if you had the bug i have on leo with CM trees, while taking pictures, that you could really complain about.

@infected_ glad to see another one working on xsp ..but ur late a little bit to the party ...the thing that i can see is that ur source tree is from cm which is very old imo ...we had deves such as marcelo and adrian who worked on the device tree to fix a lot of problems and to make the source cleaner ...another member from this community made the slim lp with the developers kernel and source tree that i mentioned before ....as for cm and if i guessed right u should move to fixed source tree instead of cm poor one (for cm and slim lp ...idk if this applies to aospal) (if I'm not wrong )...useful links : 1...2...3
regards.

flash- said:
@infected_ glad to see another one working on xsp ..but ur late a little bit to the party ...the thing that i can see is that ur source tree is from cm which is very old imo ...we had deves such as marcelo and adrian who worked on the device tree to fix a lot of problems and to make the source cleaner ...another member from this community made the slim lp with the developers kernel and source tree that i mentioned before ....as for cm and if i guessed right u should move to fixed source tree instead of cm poor one (for cm and slim lp ...idk if this applies to aospal) (if I'm not wrong )...useful links : 1...2...3
regards.
Click to expand...
Click to collapse
That's what I'm talking about

flash- said:
@[HIDE]infected_ glad to see another one working on xsp ..but ur late a little bit to the party ...the thing that i can see is that ur source tree is from cm which is very old imo ...we had deves such as marcelo and adrian who worked on the device tree to fix a lot of problems and to make the source cleaner ...another member from this community made the slim lp with the developers kernel and source tree that i mentioned before ....as for cm and if i guessed right u should move to fixed source tree instead of cm poor one (for cm and slim lp ...idk if this applies to aospal) (if I'm not wrong )...useful links : 1...2...3
regards[/HIDE].
Click to expand...
Click to collapse
i asked permission at @darioj98 if i could use his kernel tree to make my sabermod builds. if i get a positive reply, ill continue with these builds.
regards.

infected_ said:
i asked permission at @darioj98 if i could use his kernel tree to make my sabermod builds. if i get a positive reply, ill continue with these builds.
regards.
Click to expand...
Click to collapse
That would be awesome because I love PA

allright, i got a reply from @darioj98
i have permission from @Adrian DC to use is m8x60 kernel, so expect updates and bug fixes soon on the saber builds.

i'll just wait for nxt build
Sent from my Xperia SP using XDA Free mobile app

alright.
new build is up, 20151008
new device and kernel trees used.
regards.

Hello, I want to know about performance. This Rom is suitable for daily use?

aumAP said:
Hello, I want to know about performance. This Rom is suitable for daily use?
Click to expand...
Click to collapse
its suitable for daily use.
performance is good, smoothness if awesome, and battery great. try it and report please
regards.

Related

[ROM][Z3][LP][5.1.1_r35][SM-4.9.x] CyanogenMod 12.1 SaberMod Builds [DISCONTINUED]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Z3/LEO/D6603 CYANOGENMOD 12.1 UNOFFICIAL SABERMOD BUILDS
CURRENT BUILD: 20160316
LOLLIPOP 5.1.1_r35
DOWNLOAD
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20160216)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20160216)
SOURCE: https://github.com/infected-lp/android_kernel_sony_msm8974/tree/saber_tests
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-l)
[+] other flags to optimize even more the code.
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
CHANGELOG:
http://www.cmxlog.com/12.1/z3/
BUILDBOT:
(intel core i7 [email protected] (1.22v), asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11 (1.5v), msi nvidia gtx 970, 1x samsung 850 evo 250gb + 1x samsung ssd 840 pro 128gb, 4x western digital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from CyanogenMod Rom open-source code:
https://github.com/CyanogenMod
SPECIAL THANKS
CyanogenMod Dev Team = for the source code.
​
XDA:DevDB Information
Z3/Leo/D6603 CyanogenMod 12.1 Sabermod Builds, ROM for the Sony Xperia Z3
Contributors
infected_
Source Code: https://github.com/CyanogenMod
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery and Unlocked Bootloader
Based On: CyanogenMod
Version Information
Status: Nightly
Created 2015-09-04
Last Updated 2016-04-21
HOW-TO:
* place the phone in fastboot mode.
* grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
* grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
* flash TWRP: sudo fastboot flash recovery z3fotatwrpv4.img
* reboot into recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of CyanogenMod 12.1 for the Xperia Z3/leo
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
Great to see you here OP, the work you've done at z2 has been awesome. Super glad to see more rom devs getting the Z3.
Green fish in camera is there in your builds?
Black_Eyes said:
Green fish in camera is there in your builds?
Click to expand...
Click to collapse
its on every ROM that uses CyanogenMod 12.1 device trees. But a fix is already in motion.
regards.
How to!
how can Root for this CM...?
MelvinGt5 said:
how can Root for this CM...?
Click to expand...
Click to collapse
CyanogenMod already has root included. you can enable it on Developer Settings.
Regards.
@infected_ May I ask what you mean by "a fix is already in motion"? Because I'm getting hyped right now
CedArctic said:
@infected_ May I ask what you mean by "a fix is already in motion"? Because I'm getting hyped right now
Click to expand...
Click to collapse
un-hype yourself... theres no ETA's.
regards.
Jm_Willing said:
Can i simply dirty flash it over normal cm 12.1?
Click to expand...
Click to collapse
yes, you may.
but dont use CM Updater, to flash new build, or you'll end up with official CM.
regards.
infected_ said:
un-hype yourself... theres no ETA's.
regards.
Click to expand...
Click to collapse
Never asked for an ETA, I was just asking if there was any new development on obtaining the camera blobs. Regards.
CedArctic said:
Never asked for an ETA, I was just asking if there was any new development on obtaining the camera blobs. Regards.
Click to expand...
Click to collapse
All i can tell you, is that everyone i know involved on the Zx/Shinano devel scene are trying their best to fix it. its a well know issue and things are in motion, like i said.
We need to have a little more of patience regarding this matter.
Regards.
Hey would you mind incorporating the unlimited call log tweak into this?
Shown here
HaoZeke said:
Hey would you mind incorporating the unlimited call log tweak into this?
Shown here
Click to expand...
Click to collapse
no, sorry.
have one side effect though. The SQLite3 database will be huge. and the Dialer will be slow. And there will be more frequent Automatic Index Entry creation by the SQLite3.
Click to expand...
Click to collapse
regards.
new build is up and Android has been updated to 5.1.1_r13
regards.
infected_ said:
new build is up and Android has been updated to 5.1.1_r13
regards.
Click to expand...
Click to collapse
Hey man thank u for this awesome Rom I'm trying to build my own custom Rom but I'm stuck with an error I can't fix and I don't know what I may have missed. I'm using the CM Z3 repos here is the error here please help if u can
http://pastebin.com/yguMFq7y
new build is up and Android have been updated to 5.1.1_r18.
regards.
BlaqueDroid said:
Hey man thank u for this awesome Rom I'm trying to build my own custom Rom but I'm stuck with an error I can't fix and I don't know what I may have missed. I'm using the CM Z3 repos here is the error here please help if u can
http://pastebin.com/yguMFq7y
Click to expand...
Click to collapse
@Jm_Willing and you are asking both the same thing, dunno if you guys are aware of each other.
i already download the sources a couple days back, tried to build and had the same error... Euphoria-Legacy doesnt have Sony devices repos...
ill have a look at it again, but not sure if it will be buildable. ill let you guys know.
infected_ said:
Jm_Willing and you are asking both the same thing, dunno if you guys are aware of each other.
i already download the sources a couple days back, tried to build and had the same error... Euphoria-Legacy doesnt have Sony devices repos...
ill have a look at it again, but not sure if it will be buildable. ill let you guys know.
Click to expand...
Click to collapse
Which Sony Repos do I need so I can manually add them ?

[ROM][Z3][LP][5.1.1_r33][SM-4.9] SlimROM LP SaberMod Builds [DISCONTINUED]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Z3/LEO/D6603 SLIMROM LP SABERMOD BUILDS
BETA v0.14 IS UP!
LOLLIPOP 5.1.1_r33
DOWNLOAD
NOT WORKING YET: (?)
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20151124)
KERNEL COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20151124)
SOURCE: https://github.com/infected-lp/kernel_sony_msm8974/tree/slim_lp
[+] -O3 Optimizations
[+] LTO
[+] strict-aliasing
[+] frame-pointers
[+] Graphite
[+] CPU specific flags (armv7-a-neon)
[+] Other GCC flags to optimize the build
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
CHANGELOG:
https://review.slimroms.eu/#/q/status:merged
BUILDBOT:
(intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11, msi gtx 970, 1x samsung 250gb ssd 850 evo + samsung 128gb ssd 840 pro, 4x western wigital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from SlimRoms open-source code:
https://github.com/SlimRoms
SPECIAL THANKS
SlimRom Dev Team = for the source code.
​
XDA:DevDB Information
Z3/Leo/D6603 Slim LP Sabermod Builds, ROM for the Sony Xperia Z3
Contributors
infected_
Source Code: https://github.com/SlimRoms
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recommended
Based On: SlimROMs
Version Information
Status: Beta
Current Beta Version: 0.14
Beta Release Date: 2016-01-08
Created 2015-09-04
Last Updated 2016-04-21
HOW-TO:
* place the phone in fastboot mode.
* grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
* grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
* flash TWRP: sudo fastboot flash recovery z3fotatwrpv4.img
* reboot into recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
SlimGAPPS - http://forum.xda-developers.com/slimroms/general/gapps-official-slim-gapps-trds-slimkat-t2792842
http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of SlimRom LP for the Xperia Z3/leo
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
lol u're on fire, ok if u build it, go official no?
Support rro layers?
Sent from my Xperia Z3 using XDA Free mobile app
Alx31 said:
lol u're on fire, ok if u build it, go official no?
Click to expand...
Click to collapse
thats not up to me.
drumcodex said:
Support rro layers?
Sent from my Xperia Z3 using XDA Free mobile app
Click to expand...
Click to collapse
Nop, ive just tried it using a rro layers manager.
Regards.
Well, u need to cherry pick some commits for rro supports
Alx31 said:
Well, u need to cherry pick some commits for rro supports
Click to expand...
Click to collapse
i am building slim with no modifications to the source code, besides optimizations. if they had support for rro layers, then these builds will have it also.
Great ROM, hope there will have theme possibility in the future. :thumbup:
http://www.xda-developers.com/slimroms-is-back-to-life-for-real-this-time/
new build is up. beta 0.7 is online!
regards.
beta 0.8 is online!
toolchains updated (20150926)
regards.
beta 0.9 is online!
regards.
Still no theme?
Sendt fra min D6603 med Tapatalk
beta v0.12 is up!
regards.
infected_ said:
beta v0.12 is up!
regards.
Click to expand...
Click to collapse
SlimRom MarshMallow thread opened:
http://forum.xda-developers.com/z3/development/rom-slimrom-mm-sabermod-builds-t3276434
regards.
Stable or unstable
It is usable in everyday life ??
Nulcis98 said:
It is usable in everyday life ??
Click to expand...
Click to collapse
yes.
also, ive uploaded beta 0.14 .. it will be the last slimrom lollipop build.
see you guys on marshmallow.
regards.
infected_ said:
yes.
also, ive uploaded beta 0.14 .. it will be the last slimrom lollipop build.
see you guys on marshmallow.
regards.
Click to expand...
Click to collapse
ok thanks
---------- Post added at 12:31 PM ---------- Previous post was at 12:26 PM ----------
You really like the themes cm12, you can install the theme engine of this slim cm ??
Nulcis98 said:
ok thanks
---------- Post added at 12:31 PM ---------- Previous post was at 12:26 PM ----------
You really like the themes cm12, you can install the theme engine of this slim cm ??
Click to expand...
Click to collapse
you have RRO layers for that. Search Play Store.
regards.

[ROM][Z3][LP][5.1.1_r8][SM-4.9.x] AOSPA-L 5.1 Unofficial Builds [DISCONTINUED]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Z3/LEO/D6603 PARANOID ANDROID 5.1 SABERMOD BUILDS
LOLLIPOP 5.1.1_r8
BUILD 5.1 20151006 IS ONLINE.
DOWNLOAD
NOT WORKING YET: (?) YOU TELL ME.
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.4 (20150926)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.4 (20150926)
SOURCE: https://github.com/infected-lp/android_kernel_sony_msm8974/tree/saber
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-a-neon)
[+] other flags to optimize even more the code.
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
BUILDBOT:
(intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl9, msi gtx 970, 1x samsung 850 evo 256gb + 1x samsung 128gb ssd 840 pro, 4x western wigital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from AOSPA Legacy open-source code:
https://github.com/AOSPA-L
SPECIAL THANKS
AOSPA Dev Team = for the source code.​
​
XDA:DevDB Information
Z3/Leo/D6603 Paranoid Android 5.1 Sabermod Builds, ROM for the Sony Xperia Z3
Contributors
infected_
Source Code: https://github.com/AOSPA-L
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery
Based On: AOSPA
Version Information
Status: Testing
Created 2015-09-04
Last Updated 2016-04-21
HOW-TO:
* place the phone in fastboot mode.
* grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
* grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
* flash TWRP: sudo fastboot flash recovery z3fotatwrpv4.img
* reboot into recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, flash gapps, flash supersu.
* reboot and you're done.
SUPERSU:
http://download.chainfire.eu/740/SuperSU/BETA-SuperSU-v2.49.zip | no need to flash supersu. is already integrated on the builds.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of Paranoid Android 5.1 for the Xperia Z3/leo
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
Only for UB?
Enviado desde mi D6603 mediante Tapatalk
dannybombastic said:
Only for UB?
Enviado desde mi D6603 mediante Tapatalk
Click to expand...
Click to collapse
yes. all custom kernels besides Sony Stock ROM, require unlock bootloader.
regards.
Flashing as we speak.
Will report any bugs if there is any
---------- Post added at 11:25 ---------- Previous post was at 11:20 ----------
Got one bug, it's laggy when scrolling slowly, having this on all cm rom's / this i've tried :/
---------- Post added at 12:16 ---------- Previous post was at 11:25 ----------
There's a UI bug when holding down an icon, and sometimes when opening the app.
Mr.Elmmyr said:
Flashing as we speak.
Will report any bugs if there is any
---------- Post added at 11:25 ---------- Previous post was at 11:20 ----------
Got one bug, it's laggy when scrolling slowly, having this on all cm rom's / this i've tried :/
---------- Post added at 12:16 ---------- Previous post was at 11:25 ----------
There's a UI bug when holding down an icon, and sometimes when opening the app.
Click to expand...
Click to collapse
Dont know what you mean about lag while slowly scrolling... or at least i cant notice anything of that.
About the other bug, try using stock theme/icons, and see if it happens the same.
regards.
new build (20150908) is up!
regards.
ps: forgot to mention.. theres no need to flash supersu anymore. i've integrated it on the builds.
new build (20150914) is up!
regards.
new build is up! sabermod toolchains also updated!
have a nice weekend everybody.
regards.
new build is up! toolchains also updated.
regards.
@infected_ any plan on Building AOSP 6.0 For our Leo??
Black_Eyes said:
@infected_ any plan on Building AOSP 6.0 For our Leo??
Click to expand...
Click to collapse
i sure hope so. lets see how will PA sources progress in MM.
regards.
But the Pure AOSP???
Fisheye?
You plan a new build of this ROM even 5.1.1 ?
Skyllery said:
You plan a new build of this ROM even 5.1.1 ?
Click to expand...
Click to collapse
nope... PA is dead for a long time now.
regards.

[ROM][XSP][LP][5.1.1_r37][SM-4.9] CyanogenMod 12.1 Unofficial SaberMod [20160523]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XPERIA SP/HUASHAN/C5303 CYANOGENMOD 12.1 UNOFFICIAL SABERMOD BUILDS
LOLLIPOP 5.1.1_r37
Latest Build: 20160523
DOWNLOADS
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20160402)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20160402)
SOURCE:
kernel - https://github.com/infected-lp/android_kernel_sony_msm8x60/tree/saber
rom - https://github.com/infected-lp/android_device_sony_huashan/tree/saber
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-l)
[+] other flags to optimize even more the code.
(check build.prop for the optimizations included)
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
CHANGELOG:
http://www.cmxlog.com/12.1/huashan/
BUILDBOT:
(intel core i7 [email protected] (1.22v), asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11 (1.5v), msi nvidia gtx 970, 1x samsung 850 evo 250gb + 1x samsung ssd 840 pro 128gb, 4x western digital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from CyanogenMod Rom open-source code:
https://github.com/CyanogenMod
SPECIAL THANKS
CyanogenMod Dev Team = for the source code.
​
XDA:DevDB Information
Xperia SP/C5303/Huashan CyanogenMod 12.1 Unofficial Sabermod Builds, ROM for the Sony Xperia SP
Contributors
infected_
Source Code: https://github.com/CyanogenMod
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery and Unlocked Bootloader
Based On: CyanogenMod
Version Information
Status: Nightly
Created 2015-10-06
Last Updated 2016-05-23
Reserved
HOW-TO:
* grab latest flashable TWRP zip for huashan from here: https://s.basketbuild.com/devs/AdrianDC/Huashan/TWRP-Recovery and place in on the memory card
* place the phone in fastboot mode, and flash the boot.img from the latest build: sudo fastboot flash boot boot.img
* enter Cyanogen Recovery
* flash the TWRP zip you downloaded via Cyanogen Recovery.
* shutdown and reboot into TWRP recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of CyanogenMod 12.1 for the Xperia SP
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
Wow, flashed the ROM and its supersmooth! Realy verry impressive.
I am confused between the two threads, the other one is Beta, what about the builds in this thread? Are both the same?
vvaklnprm said:
I am confused between the two threads, the other one is Beta, what about the builds in this thread? Are both the same?
Click to expand...
Click to collapse
these are build based on CM12.1 code for huashan, but optimized and compiled with sabermod toolchain, so lets say if the status of officials are nightly builds, these are are also.
the other thread applies the same. SlimRoms releases are currently on beta 0.9, so the sabermod build is also on beta 0.9
hope ive explained me well for you to understand the differences.
regards
its works with c5302
its only for c5303..?
sid_salvi said:
its only for c5303..?
Click to expand...
Click to collapse
probably.. aint there patch to use CM12.1 c5303, on the c5203 ? we had those on yuga, sirius, and leo.
try it. the worse it can happens is you not having network.
regards.
which one is latest one build in download section? there are two versions of same build date
sid_salvi said:
which one is latest one build in download section? there are two versions of same build date
Click to expand...
Click to collapse
there are always two files in each release..
look at the size of each. one is the build zip for you to flash, and the other is the md5 checksum for you to verify if your download is not corrupt.
regards.
okay:good:
Can i flash only addon multi gapps of 60mb size after flashing ur rom??
Or i have to flash zero gapps also??
Or inly the multidpi one and i really don't know do our roms are of multi dpi??
Is someone succesfull in flashing xposed?
Edit: xposed v75 is compatible.
Sent from my Xperia SP using XDA Free mobile app
anisingh62 said:
Can i flash only addon multi gapps of 60mb size after flashing ur rom??
Or i have to flash zero gapps also??
Or inly the multidpi one and i really don't know do our roms are of multi dpi??
Click to expand...
Click to collapse
you only need to flash the multi-dpi addon if you are going to change the device dpi... use one of the two other packages, if you are not going to change it.
halloarno said:
Is someone succesfull in flashing xposed?
Sent from my Xperia SP using XDA Free mobile app
Click to expand...
Click to collapse
xposed is advised and known to be used on stock ROMs. i dont recommend to use with these builds or any other CM/AOSP rom, or will give support to the users using Xposed Module.
Music stock apps are fc ...And network are working fine on C5302
new build is up, 20151008
new device and kernel trees used, more updated and with more fixes.
regards.
sid_salvi said:
Music stock apps are fc ...And network are working fine on C5302
Click to expand...
Click to collapse
But this is for c5303. How did you make it work? Any addon or a simple flash?
Sent from my Xperia SP using Tapatalk
just Simple Flash as u do...
infected_ said:
new build is up, 20151008
new device and kernel trees used, more updated and with more fixes.
regards.
Click to expand...
Click to collapse
So now it's still R8?
DahakePL said:
So now it's still R8?
Click to expand...
Click to collapse
nah, my bad. its 5.1.1_r24
https://github.com/CyanogenMod/android/blob/cm-12.1/default.xml#L7
Ill update OP.
thanks.

[ROM][XSP][MM][6.0.1_r66][SM-4.9] CyanogenMod 13.0 SaberMod [20160915]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XPERIA SP/HUASHAN/C5303 CYANOGENMOD 13.0 UNOFFICIAL SABERMOD BUILDS
MARSHMALLOW 6.0.1_r66
Build date: 20160915
Not Working: ?
DOWNLOADS
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20160726)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20160726)
SOURCE:
kernel - https://github.com/infected-lp/android_kernel_sony_msm8x60/tree/saber
rom - https://github.com/infected-lp/android_device_sony_huashan/tree/saber
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-l)
[+] other flags to optimize even more the code.
(check build.prop for the optimizations included)
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
CHANGELOG:
http://www.cmxlog.com/12.1/huashan/
BUILDBOT:
(intel core i7 [email protected] (1.22v), asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11 (1.5v), msi nvidia gtx 970, 1x samsung 850 evo 250gb + 1x samsung ssd 840 pro 128gb, 4x western digital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from CyanogenMod Rom open-source code:
https://github.com/CyanogenMod
SPECIAL THANKS
CyanogenMod Dev Team = for the source code.
​
XDA:DevDB Information
Xperia SP/C5303/Huashan CyanogenMod 13.0 Unofficial Sabermod Builds, ROM for the Sony Xperia SP
Contributors
infected_
Source Code: https://github.com/CyanogenMod
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery and Unlocked Bootloader
Based On: CyanogenMod
Version Information
Status: Nightly
Created 2016-03-07
Last Updated 2016-09-15
Reserved
HOW-TO:
* grab latest flashable TWRP zip for huashan from here: http://www.infectedbuilds.net/downloads/huashan/TWRP/, and place in on the memory card
* place the phone in fastboot mode, and flash the boot.img from the latest build: sudo fastboot flash boot boot.img
* enter Cyanogen Recovery
* flash the TWRP zip you downloaded via Cyanogen Recovery.
* shutdown and reboot into TWRP recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of CyanogenMod 13.0 for the Xperia SP
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
What's difference between 03/03 build (my current ROM) & 03/07 build?
PS : Download link still down. Thank! in advance.
Wow nice, really glad to see you sticking around with xSP builds, way to go man!
aumAP said:
What's difference between 03/03 build (my current ROM) & 03/07 build?
PS : Download link still down. Thank! in advance.
Click to expand...
Click to collapse
the link is correct. the server is down, cause donations fund cant cover the yearly renew of the domain/server yet.
you can grab the builds on a temporary host, until this is fixed:
https://basketbuild.com/devs/infected_/huashan/cm_13.0
regards.
ps: theres no official changelog.. you can check gerrit and adrian's dc github for the latest merged commits.
server is back online!
Thank you for this. Looks smooth. Btw Bluetooth doesn't work for me.
Hello, in the link for the download http://www.infectedbuilds.net/downloads/huashan/cm_12.1/ can not find the CyanogenMod 13 (Android Marshmallow 6.0) but only the version 12.1.
You can give me the link?
pickmod said:
Hello, in the link for the download can not find the CyanogenMod 13 (Android Marshmallow 6.0) but only the version 12.1.
You can give me the link?
Click to expand...
Click to collapse
Because it's in another folder. Sorry I can't post links. Look on the left and you'll see cm_13.0. Or just change up in the link from /cm_12.1 to /cm_13.0
pero93 said:
Because it's in another folder. Sorry I can't post links. Look on the left and you'll see cm_13.0. Or just change up in the link from /cm_12.1 to /cm_13.0
Click to expand...
Click to collapse
Ok! found it! Thanks!
new build is up! android updated to 6.0.1_r17
regards.
How about freezes in new build ??? any issues apart from camera ?
A part of the camera, which is not worth for photos but videos if it, the FM radio does not work. thanks for the rom
Enviado desde mi Xperia SP mediante Tapatalk
I tried the new build and Bluetooth again doesn't work for me. Anyone else??
I tried the other Marshmallow rom and it works in it, but I want to use this one because it works better on daily usage.
The camera is not a problem because you can use Snapchat to save photos.
Here are the Bluetooth logs.
Stuck in newest build
i did a clean install with 14/3 build, my phone booted up but it stuck at Starting Apps
i tried reinstall / wait, it didn't work.
GhostDc said:
i did a clean install with 14/3 build, my phone booted up but it stuck at Starting Apps
i tried reinstall / wait, it didn't work.
Click to expand...
Click to collapse
I'm looking into it.
infected_ said:
I'm looking into it.
Click to expand...
Click to collapse
The first time, i let it run for 3 hours (i felt asleep while waiting for it), it's still there.
Then i noticed that i had flash the TWRP after rom and gapps(i thought it would overwrite the recovery). so i tried to do again without flash recovery. i think it didn't work (actually i don't really remember what i did, sorry for this) and i don't know why i couldn't access the recovery at that time.
I decided to flash the recovery through fastboot (i failed drivers issue) and then it booted up flawlessly and really fast. (and now the recovery did work).
I really don't understand what happened. Btw, the rom didn't recognize my sim card. and when i turned bluetooth on, and then off. It kept showing up "android.bluetooth... has stopped working".
Thanks for the rom, it's really smooth.
Sorry for my bad english.
Te major problems of this rom is Bluetooth!!
It is not working and when u press it....... It keeps on showing that Bluetooth process stopped working........
In next build cud you please add slim recents as well as chainfire supersu root apk pre installed in this rom that wud be much appreciated!!
As well as when i am installing thru twrp it is not bieng installed as well as on downloading frm play store is also not working for chainfir supersu.....
Last suggestions is dat provide a full f2fs support dats it for now
I think rom has bootloop issue and bluetooth and play services errors.

Categories

Resources