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

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

This comment has been minimized.

Copy link
@asterite

asterite Jul 17, 2019

Member

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

4 checks passed

ci/circleci: test_darwin Your tests passed on CircleCI!
Details
ci/circleci: test_linux Your tests passed on CircleCI!
Details
ci/circleci: test_linux32 Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@bcardiff bcardiff deleted the bcardiff:compiler/refactor-llvm branch Jul 18, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.