[LLVMdev] Recent Commits by Tim Northover

Gary Fuehrer gfuehrer at defiant-tech.com
Tue Dec 3 14:01:19 PST 2013


Today I updated to trunk the toolchain for my work developing on 
Cortex-M4F. I was super excited to see three commits by Tim Northover 
that actually attempt to improve the machine code generation for my 
target, or any ARM target for that matter (as opposed to other important 
work on compiler correctness or architectural elegance or formatting 
comment white-space, I mean). Is he alone or are there others working 
toward such improvements?

The subject of two of his commits dealt with substituting MOVW/MOVT 
pairs for an LDR and a lit-pool. Isn't this what MachineConstantPool and 
ARMConstantIslandPass was all about? I vaguely recall a while back that 
it was disabled by some Darwin snob who thought no useful target 
benefited from it. What about enabling it again? Perhaps you've noticed 
in the last two months that someone's been porting it to the MIPS 
target, suggesting to me that it's still a good starting point. Finally, 
I would really like to see this optimization be promoted from -Oz to 
-Os. Doesn't it satisfy the criteria for -Os over -Oz?

Tim's other commit was about stack adjustment folding. So, Tim, did you 
see the treads with Andrea Mucignat back in October? She asked for some 
help so that she could provide a patch to improve machine code 
generation for Thumb entry/exit points. No one with knowledge about the 
matter responded. This commit of yours looks to me like you do have some 
knowledge about it. She seems to have given up (and judging by the way 
she was treated, I don't blame her -- sad). But would you review what 
she was attempting, please?

http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-October/
066451.html
066461.html, 066466.html, 066470.html, 066475.html
066641.html, 066650.html

Thanks,
Gary Fuehrer



More information about the llvm-dev mailing list