Skip to content
This repository was archived by the owner on Sep 2, 2018. It is now read-only.

WIP: Support atomics #206

Closed
wants to merge 0 commits into from
Closed

WIP: Support atomics #206

wants to merge 0 commits into from

Conversation

dylanmckay
Copy link
Member

This adds atomics support to AVR-LLVM. Based of @shepmaster's original work.

Fix for #197

@dylanmckay
Copy link
Member Author

I also had trouble with gluing all the nodes together. Have asked for help on the llvm-dev list.

@@ -157,6 +157,11 @@ AVRTargetLowering::AVRTargetLowering(AVRTargetMachine &tm)
// improvements in how we treat 16-bit "registers" to be feasible.
}

for (MVT VT : MVT::integer_valuetypes()) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was being lazy originally. I don't think that an i8 needs to have the atomic wrapping as the CPU cannot break it up into pieces.

@dylanmckay
Copy link
Member Author

LLVMDev suggests that the only real way to do this is in the machine instruction stage.

Even if we managed to glue all the nodes together, the pipeline would likely insert spills and stuff inbetween.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants