Skip to content

Conversation

@auroranockert
Copy link
Contributor

This commit is similar to the old one, and does the following

  • Removes most LLVM intrinsics from the compiler
  • Adds functions that optimize down to specific LLVM intrinsics to
    libcore
  • Adds a pragma #[constant_arg] for constant integer arguments to intrinsics (and other functions)
  • Utilize the sqrt intrinsic for f32/f64 since LLVM lowers it to an actual instruction sequence.

This commit does the following

 - Removes most LLVM intrinsics from the compiler
 - Adds functions that optimize down to specific LLVM intrinsics to
   libcore
 - Utilize the sqrt intrinsic in f32/f64
@auroranockert
Copy link
Contributor Author

Once a new snapshot is made, the memory-related (memmove, memcpy and memset?) intrinsics can be removed as well, but I left them unmodified for now to simplify the transition since they are called by rustc.

@brson
Copy link
Contributor

brson commented May 10, 2013

@JensNockert How do you feel about this branch now? Can it be done?

@auroranockert
Copy link
Contributor Author

I am pretty sure it can be done, but there are some (minor) issues on Windows that I cannot debug right now.

Hopefully when I am finished moving, I can rebase it upon the other intrinsics work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants