Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suppress unrolling by clang #89

Open
nomaddo opened this issue Apr 25, 2018 · 2 comments
Open

Suppress unrolling by clang #89

nomaddo opened this issue Apr 25, 2018 · 2 comments
Labels
enhancement optimization related to an optimization step

Comments

@nomaddo
Copy link
Collaborator

nomaddo commented Apr 25, 2018

Currently the front-end clang unroll loops because -O3 is specified as compilation option.
This makes harder to do

  • fusion of write back to memory
  • vectorization in VC4C unrolling
  • Suppress explosion in use of registers

It requires careful optimization design, but tt's better to do in our optimization pass.

@nomaddo nomaddo added enhancement optimization related to an optimization step labels Apr 25, 2018
@nomaddo nomaddo changed the title Suppress unrolling Suppress unrolling by clang Apr 25, 2018
@doe300
Copy link
Owner

doe300 commented May 5, 2018

I'm not sure about this one. Sure, if we have full control over loop unrolling, we can adapt it more to our platform. But I would not trust the efficiency and correctness of out optimizations over the clang compiler;)

@nomaddo
Copy link
Collaborator Author

nomaddo commented May 7, 2018

Unrolling inner-loops is easy compared with other loop optimizations.
Vectorization require some analysis no to make wrong program, but unrolling inner-loops are always correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement optimization related to an optimization step
Projects
None yet
Development

No branches or pull requests

2 participants