Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
what is best in optimizer pipeline
value numbering
code motion
peepholing
loop idiom recognition
legalization
thread gassing
op banning
View Results
 
  • Locked thread
Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

rjmccall posted:

in clang, i can tell you that the objc arc optimizer is a bit suspect. it used to be really buggy, and then we neutered it a lot, and now i think it mostly just doesn't optimize all that well

these days it seems to do an okay job with purely local analysis but never ever optimizes away retain/release pairs for function arguments even if the function gets inlined, which i guess is in practice probably not an issue for idiomatic obj-c that doesn't have anything that can be inlined

Adbot
ADBOT LOVES YOU

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

echinopsis posted:

does writing a compiler (presumably understanding it while doing so rather than apeing something else) make you a better coder

writing anything that is significantly different from things you have worked on before while putting in the effort to properly understand why you're doing what you're doing will make you a better coder

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

rjmccall posted:

apple's arm32 abi is pretty terrible, mostly around floating-point arguments. the calling convention clearly predates the idea that arm processors might drive general-purpose computation and/or actually have a floating-point unit; it's basically an all-arguments-on-stack convention that pops the first 16 bytes into integer registers, which means e.g. an early double will get passed as two ints. also the arm bitfield layout rules are needlessly different from the standard sysv rules

actually that's something that i've wondered about. was there any particular reason apple had to use the lovely arm abi rather than diverging like with arm64, or is that just one of those ideas that just never came up until years after it was too late to be practical?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

The Management posted:

hey, how about we make a c compiler that doesn't need declarations of local functions before use because it's not the 70's anymore?

no, I don't care about the standard.

use c++ and make all of your functions templates

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
watchOS and tvOS are really wacky and different in ways that you would probably not expect

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
i guess "wacky" has overly negative connotations, but they definitely took advantage of the chance to make backwards-incompatible changes

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
the kernel isn't the same everywhere. it's a single code base, but there's nontrivial differences in what's enabled for each platform

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

The Management posted:

I.e., you were writing a program

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
if you've ever typed sudo make install without running make first you've probably run a linker as root. it's obviously not something you should be doing, but it's not at all hard to do accidentally

Adbot
ADBOT LOVES YOU

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
it's portable to every compiler that actually exists. even tcc supports it.

  • Locked thread