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

Compiler and LLVM refactors and minor additions #7972

Merged
merged 3 commits into from
Jul 18, 2019

Conversation

bcardiff
Copy link
Member

@bcardiff bcardiff commented Jul 17, 2019

Add methods to emit LLVM's switch and helpers for load volatile and store volatile.

This also removes a method_missing used for delegation in favor of explicit macro expansion. This is easier to track and to customize later if needed.

@@ -65,10 +65,18 @@ module Crystal
@builder.to_unsafe
end

macro method_missing(call)
return llvm_nil if @end
{% for name in %w(add add_handler alloca and ashr atomicrmw bit_cast build_catch_ret call
Copy link
Member

Choose a reason for hiding this comment

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

Thank you! 😍

@bcardiff bcardiff added this to the 0.30.0 milestone Jul 17, 2019
@bcardiff bcardiff merged commit b85cae7 into crystal-lang:master Jul 18, 2019
@bcardiff bcardiff deleted the compiler/refactor-llvm branch July 18, 2019 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants