Commit Graph

7 Commits

Author SHA1 Message Date
Sam Clegg
2ca79fdeee [WebAssembly] Update CodeGen test expectations after rL354697. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354705 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-23 00:07:39 +00:00
Dan Gohman
4002e04050 [WebAssembly] Re-enable main-function signature rewriting
Re-enable the code to rewrite main-function signatures into
"int main(int argc, char *argv[])", but limited to only handling
the case of "int main(void)", so that it doesn't silently strip
an argument in the "int main(int argc, char *argv[], char *envp[])"
case.

This allows main to be called by C startup code, since WebAssembly
requires caller and callee signatures to match, so it can't rely
on passing main a different number of arguments than it expects.

Differential Revision: https://reviews.llvm.org/D57323


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352479 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-29 10:53:42 +00:00
Wouter van Oortmerssen
934cbe28f3 [WebAssembly] replaced .param/.result by .functype
Summary:
This makes it easier/cleaner to generate a single signature from
this directive. Also:
- Adds the symbol name, such that we don't depend on the location
  of this directive anymore.
- Actually constructs the signature in the assembler, and make the
  assembler own it.
- Refactor the use of MVT vs ValType in the streamer and assembler
  to require less conversions overall.
- Changed 700 or so tests to use it.

Reviewers: sbc100, dschuff

Subscribers: jgravelle-google, eraman, aheejin, sunfish, jfb, llvm-commits

Differential Revision: https://reviews.llvm.org/D54652

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347228 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-19 17:10:36 +00:00
Sam Clegg
fd192da868 Revert "[WebAssembly] Fixup main signature by default"
This reverts rL345880.  It caused some test failures on the
webassembly waterfall.  e.g. binaryen2.test_mainenv fails due
the fact that `envp` ends up being undef rather than 0.

Differential Revision: https://reviews.llvm.org/D54117

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346187 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-06 00:31:02 +00:00
Sam Clegg
63131d5e33 [WebAssembly] Fixup main signature by default
Differential Revision: https://reviews.llvm.org/D53396

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345880 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-01 19:38:44 +00:00
Sam Clegg
8d1235ff26 [WebAsembly] Update default triple in test files to wasm32-unknown-unkown.
Summary: The final -wasm component has been the default for some time now.

Subscribers: jfb, dschuff, jgravelle-google, eraman, aheejin, JDevlieghere, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D46342

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332007 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-10 17:49:11 +00:00
Dan Gohman
2e99c3afda [WebAssemby] Re-apply r320041: "Support main functions with alternate signatures."
This includes a fix so that it doesn't transform declarations, and it
puts the functionality under control of a command-line option which is off
by default to avoid breaking existing setups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320196 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-08 21:18:21 +00:00