Are there any Swift/LLVM optimizations I could be assigned to?


(Eddie Santos) #1

Hi all,

Are there any moderately do-able optimizations that can be done in the
Swift compiler that have not been done yet?

I am a masters student at the University of Alberta in Dr. J. Nelson
Amaral's compiler optimization course, and I am searching for a project
that can be reasonably completed in two months' time. Contributing to
Swift's compiler seems like a great choice! I am also open to making
improvements to LLVM in general, though the point of this project is to get
my feet wet in static analysis -- I'm not an expert yet.

I'm interested in anything character encodings, strings and unicode, but
that limits my options in terms of *compiler optimizations*. I can also
look into profile-guided optimizations in LLVM [Profile], but I wanna know
who's got dibs before I start off on my own.

Your input is welcome.

[Profile]: http://llvm.org/OpenProjects.html#profileguided

Regards,
Eddie

···

--
Eddie Antonio Santos
M.Sc. Student and Teaching Assistant
Department of Computing Science
University of Alberta
easantos@ualberta.ca
http://eddieantonio.ca/


(Erik Eckstein) #2

Hi Eddie,

Hi all,

Are there any moderately do-able optimizations that can be done in the Swift compiler that have not been done yet?

I am a masters student at the University of Alberta in Dr. J. Nelson Amaral's compiler optimization course, and I am searching for a project that can be reasonably completed in two months' time. Contributing to Swift's compiler seems like a great choice!

Cool! Welcome!

I am also open to making improvements to LLVM in general, though the point of this project is to get my feet wet in static analysis -- I'm not an expert yet.

I'm interested in anything character encodings, strings and unicode, but that limits my options in terms of *compiler optimizations*. I can also look into profile-guided optimizations in LLVM [Profile], but I wanna know who's got dibs before I start off on my own.

There are two things which I have in mind:

1) You could look at optimizing character literals. Try to compile the following code and you’ll see what I mean.

func foo() -> Character {
  return Character("x")
}

2) Vedant has started working on PGO for swift. When the basic infrastructure is in place you could work on using PGO data in various SIL optimizations.

Erik

···

On Sep 19, 2016, at 6:10 PM, Eddie Santos via swift-dev <swift-dev@swift.org> wrote:

Your input is welcome.

[Profile]: http://llvm.org/OpenProjects.html#profileguided

Regards,
Eddie
--
Eddie Antonio Santos
M.Sc. Student and Teaching Assistant
Department of Computing Science
University of Alberta
easantos@ualberta.ca <mailto:easantos@ualberta.ca>
http://eddieantonio.ca/_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev