Skip to content

Conversation

@CodaFi
Copy link
Member

@CodaFi CodaFi commented Sep 6, 2017

  • Renames threadLocalMode to threadLocalModel - LLVM is wrong, not us.
  • Adds an accessor to Switch instructions to get the default block
  • Add atomic ordering parameters to memory access instructions
  • Add volatility parameters to memory access instructions
  • Add constant inline assembly references. Note that this is different from module-level inline assembly and should only be done when constructing IR inside a function.

(Support for module-level ASM is tricky without a better C API)

///
/// - returns: A representation of the newly created inline assembly
/// expression.
public func buildInlineAssembly(_ asm: String, type: FunctionType, constraints: String = "", hasSideEffects: Bool = true, needsAlignedStack: Bool = true) -> IRValue {
Copy link
Member

Choose a reason for hiding this comment

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

Is there a URL we can point to for more information? Or is this documentation already better than the existing LLVM doc...?

Copy link
Member Author

Choose a reason for hiding this comment

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

This kind of is LLVM's docs on this. Paraphrased and updated a bit with references to external stuff.

@harlanhaskins
Copy link
Member

LGTM!

Use the derived ==.  Providing our own causes a
cyclic dependency on the ordering -> LLVM map
which causes crashes on recursive initial accesses
to the dictionary.
Copy link
Contributor

@segiddins segiddins left a comment

Choose a reason for hiding this comment

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

Cool!

@CodaFi
Copy link
Member Author

CodaFi commented Sep 7, 2017

⛵️

@CodaFi CodaFi merged commit 7dd5dbc into llvm-swift:master Sep 7, 2017
@CodaFi CodaFi deleted the parody branch September 7, 2017 01:50
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.

3 participants