[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-12-13 Thread Thomas Lively via Phabricator via cfe-commits
tlively planned changes to this revision. tlively added a comment. This issue is still not resolved. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/new/ https://reviews.llvm.org/D66983 ___ cfe-com

[PATCH] D69832: [WebAssembly] -fwasm-exceptions enables reference-types

2019-11-13 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. LGTM, sorry for the delay! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69832/new/ https://reviews.llvm.org/D69832 ___

[PATCH] D69697: [WebAssembly] Add experimental SIMD dot product instruction

2019-11-01 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG935c84c3c27d: [WebAssembly] Add experimental SIMD dot product instruction (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69697/new/ ht

[PATCH] D69697: [WebAssembly] Add experimental SIMD dot product instruction

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 227393. tlively added a comment. - Add second argument Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69697/new/ https://reviews.llvm.org/D69697 Files: clang/include/clang/Basic/BuiltinsWebAssembly.def clan

[PATCH] D69696: [WebAssembly] SIMD integer min and max instructions

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGa07019a275cd: [WebAssembly] SIMD integer min and max instructions (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69696/new/ https://re

[PATCH] D69697: [WebAssembly] Add experimental SIMD dot product instruction

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. https://github.com/WebAssembly/simd/pull/127 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69697/new/ https://reviews.llvm.org/D69697 ___ cfe-commits mailing list cfe-commits@l

[PATCH] D69699: [clang][driver] Add ProfileData to LLVM_LINK_COMPONENTS

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. LGTM! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69699/new/ https://reviews.llvm.org/D69699

[PATCH] D69697: [WebAssembly] Add experimental SIMD dot product instruction

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. This is https://github.com/WebAssembly/simd/pull/127 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69697/new/ https://reviews.llvm.org/D69697 ___ cfe-commits mailing list cfe-c

[PATCH] D69696: [WebAssembly] SIMD integer min and max instructions

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D69696#1729676 , @aheejin wrote: > Is this https://github.com/WebAssembly/simd/pull/27 ? Can you please include > the spec (even if it's still an unmerged PR) in the CL description next time? > LGTM. Yes, that's right. Will

[PATCH] D69697: [WebAssembly] Add experimental SIMD dot product instruction

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. This instruction is not merged to the spec proposal, but we need it to be implemented i

[PATCH] D69696: [WebAssembly] SIMD integer min and max instructions

2019-10-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. Introduces a clang builtins and LLVM intrinsics representing integer min/max instructio

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2019-10-24 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. One other thought: Does the implementation in this diff care what type the reference type pointers are pointing to? It would be nice if we could enforce the use of an opaque pointee type to prevent the reference types from being dereferenced. Repository: rG LLVM Git

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2019-10-24 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. It would be great to see some test .ll files here so we can get a better understanding for what is implemented here. I would also like to see tests of what happens if you try to do a `ptrtoint` or some other illegal operation on a reference type. Com

[PATCH] D69075: [WebAssembly] -pthread implies -target-feature +sign-ext

2019-10-17 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. tlively marked an inline comment as done. Closed by commit rG807cecad5d98: [WebAssembly] -pthread implies -target-feature +sign-ext (authored by tlively). Changed prior to commit: https://reviews.llvm.org/D69075?vs=225331

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-10-17 Thread Thomas Lively via Phabricator via cfe-commits
tlively reclaimed this revision. tlively added a comment. I'm re-opening this revision. After discussion on https://github.com/WebAssembly/simd/issues/118, there is clear consensus that we do not want to break WebAssembly's abstraction and consider underlying platforms, so shuffles should not b

[PATCH] D69075: [WebAssembly] -pthread implies -target-feature +sign-ext

2019-10-16 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: cfe-commits, jfb, sunfish, jgravelle-google, sbc100. Herald added a project: clang. The sign extension proposal was motivated by a desire to not have separate sign-extending atomic operations, so it

[PATCH] D68902: [WebAssembly] Trapping fptoint builtins and intrinsics

2019-10-14 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG232fd99d9ee6: [WebAssembly] Trapping fptoint builtins and intrinsics (authored by tlively). Changed prior to commit: https://reviews.llvm.org/D68902?vs=224718&id=224945#toc Repository: rG LLVM Github

[PATCH] D68902: [WebAssembly] Trapping fptoint builtins and intrinsics

2019-10-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. The WebAssembly backend lowers fptoint instructions to a code sequence that checks for

[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle

2019-10-09 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3419e90dc1a2: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68531/new/ http

[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle

2019-10-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked an inline comment as done. tlively added a comment. In D68531#1699855 , @aheejin wrote: > > LLVM produces a poison value if the dynamic swizzle indices are greater > > than the vector size, but the WebAssembly instruction sets the > > corr

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2019-10-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Another approach to reference types we should look at is clang's upcoming sizeless types support (https://reviews.llvm.org/D62962, RFC: http://lists.llvm.org/pipermail/cfe-dev/2019-June/062523.html). This would allow reference types to be constructed at the source level

[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle

2019-10-04 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. This clang builtin and corresponding LLVM intrinsic are necessary to expose the exact se

[PATCH] D67739: [WebAssembly] Let users know that wasm64 does not exist

2019-09-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively abandoned this revision. tlively added a comment. Closing in favor of D68254 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67739/new/ https://reviews.llvm.org/D67739

[PATCH] D67739: [WebAssembly] Let users know that wasm64 does not exist

2019-09-23 Thread Thomas Lively via Phabricator via cfe-commits
tlively planned changes to this revision. tlively added a comment. It sounds reasonable to check this from the backend instead. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67739/new/ https://reviews.llvm.org/D67739

[PATCH] D67739: [WebAssembly] Let users know that wasm64 does not exist

2019-09-18 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: dschuff, aheejin. Herald added subscribers: cfe-commits, jfb, sunfish, jgravelle-google, sbc100. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D67739 Files: clang/include/clang/Basic/Diagnos

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-13 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL371906: [WebAssembly] Narrowing and widening SIMD ops (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D67425?vs=219784&id=220189#toc Repository: rL LLVM CHANG

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D67425#1668831 , @aheejin wrote: > LGTM. > > - Maybe we can lower these > > to these new ins

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 219784. tlively added a comment. - Make narrows binary ops Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67425/new/ https://reviews.llvm.org/D67425 Files: clang/include/clang/Basic/BuiltinsWebAssembly.def

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively planned changes to this revision. tlively added a comment. I missed the fact that the narrows are supposed to be binary operations. Oops. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67425/new/ https://reviews.llvm.org/D67425 __

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. Implements target-specific LLVM intrinsics and clang builtins for these new SIMD operat

[PATCH] D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH

2019-09-06 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Thanks for the clarification. It makes sense to me that `-mexception-handling` only enables the architectural feature and a separate flag enables the behavior change. This is indeed consistent with how `-pthread` works. What happens when users have exceptions in their c

[PATCH] D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH

2019-09-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Is there a plan to turn this on by default at some point, or will users always have to opt-in to using exceptions? Also, would it make sense to automatically turn this feature on if the user instead supplies `-mexception-handling` to turn on the target feature? Reposi

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-09-03 Thread Thomas Lively via Phabricator via cfe-commits
tlively abandoned this revision. tlively added a comment. Abandoning in favor of @sunfish's idea for introducing a cost mechanism for shuffle masks in DAGCombiner. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/new/ https://reviews.llvm.org/D

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. @sunfish That sounds like a useful mechanism to me. I'd be happy to work on that next week. Is the consensus that we should not merge this change and instead pursue that idea? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL370556: [WebAssembly] Add SIMD QFMA/QFMS (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D67020?vs=218167&id=218193#toc Repository: rL LLVM CHANGES SINCE LAST

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D67020#1653403 , @aheejin wrote: > Should we handle these too? > > - There seems to be a generic intrinsic for fused multiply-add: > https://github.com/llvm/llvm-project/blob/d21a3e41a4cfd52e3c5c9341f0b5ce8a173198bf/llvm/includ

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Link to DAGCombiner.cpp code: https://github.com/llvm/llvm-project/blob/802aab5/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L19014 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/new/ https://reviews.llvm.org/D66983

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. https://github.com/WebAssembly/simd/pull/79/files They need benchmarking data before they can be merged into the proposal, and they need to be supported in the toolchain for us to get good benchmarking data. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACT

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. The context for this CL is https://github.com/emscripten-core/emscripten/issues/9340. The code that does the undesirable optimization is around llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:18776. I think it is a reasonable assumption that what you put in is what you g

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. Adds clang builtins and LLVM intrinsics for these experimental instructions. They are no

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-29 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. Although using `__builtin_shufflevector` and the `shufflevector` instruction works fine,

[PATCH] D65028: [WebAssembly] Compute and export TLS block alignment

2019-07-19 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. Nice Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65028/new/ https://reviews.llvm.org/D65028 _

[PATCH] D64949: [WebAssembly] Fix __builtin_wasm_tls_base intrinsic

2019-07-18 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. LGTM modulo a test! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64949/new/ https://reviews.llvm.org/D64949 __

[PATCH] D64537: [WebAssembly] Implement thread-local storage (local-exec model)

2019-07-16 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. Nice work! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64537/new/ https://reviews.llvm.org/D64537 ___ cfe-commits mailing list cfe-commits@lis

[PATCH] D64537: [WebAssembly] Implement thread-local storage (local-exec model)

2019-07-16 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. LGTM apart from one last comment Comment at: llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp:193 + +if (!Features[WebAssembly::FeatureBulkMemory]) Stripped |= stripThreadLocals(M); quantum wrote: > tlively wrote: > >

[PATCH] D64537: [WebAssembly] Implement thread-local storage (local-exec model)

2019-07-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lld/wasm/Driver.cpp:543 + "__wasm_init_tls", WASM_SYMBOL_VISIBILITY_HIDDEN, + make(I32ArgSignature, "__wasm_init_tls")); + quantum wrote: > aheejin wrote: > > Does this TLS thing work when `Config->Shared == tr

[PATCH] D64586: [WebAssembly] Make pthread imply bulk-memory, mutable-globals

2019-07-12 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365935: [WebAssembly] Make pthread imply bulk-memory, mutable-globals (authored by tlively, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D64586: [WebAssembly] Make pthread imply bulk-memory, mutable-globals

2019-07-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 209369. tlively added a comment. - and other comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64586/new/ https://reviews.llvm.org/D64586 Files: clang/lib/Driver/ToolChains/WebAssembly.cpp clang/test/D

[PATCH] D64586: [WebAssembly] Make pthread imply bulk-memory, mutable-globals

2019-07-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 209367. tlively added a comment. - Update comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64586/new/ https://reviews.llvm.org/D64586 Files: clang/lib/Driver/ToolChains/WebAssembly.cpp clang/test/Driv

[PATCH] D64586: [WebAssembly] Make pthread imply bulk-memory, mutable-globals

2019-07-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 209365. tlively added a comment. - Add mutable-globals Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64586/new/ https://reviews.llvm.org/D64586 Files: clang/lib/Driver/ToolChains/WebAssembly.cpp clang/test

[PATCH] D64537: [WebAssembly] Implement thread-local storage (local-exec model)

2019-07-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: clang/include/clang/Basic/BuiltinsWebAssembly.def:33 +// Thread-local storage +TARGET_BUILTIN(__builtin_wasm_tls_size, "z", "nc", "bulk-memory") + quantum wrote: > quantum wrote: > > aheejin wrote: > > > Why is it `c`(co

[PATCH] D64586: [WebAssembly] Make -pthread imply -bulk-memory

2019-07-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: cfe-commits, jfb, sunfish, jgravelle-google, sbc100. Herald added a project: clang. This paves the way for using passive segments in pthread builds, which will make separate memory files unnecessary

[PATCH] D63575: [WebAssembly] Add builtin functions for creating vector constants

2019-06-19 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. This CL does not provide a mechanism for enforcing that the lanes of a floating point vector are constant, and it doesn't look like clang supports that kind of check. That makes this CL a half-baked solution, so I'm not sure we should actually go in this direction. Re

[PATCH] D63575: [WebAssembly] Add builtin functions for creating vector constants

2019-06-19 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: dschuff, aheejin. Herald added subscribers: cfe-commits, sunfish, jgravelle-google, sbc100. Herald added a project: clang. These builtins do not offer any functionality over the normal aggregate initialization for vector types, except that th

[PATCH] D62830: [WebAssembly] Support Leak Sanitizer on Emscripten

2019-06-05 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL362667: [WebAssembly] Support Leak Sanitizer on Emscripten (authored by tlively, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://r

[PATCH] D62559: [WebAssembly] Support VPtr sanitizer for Emscripten

2019-05-29 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL362004: [WebAssembly] Support VPtr sanitizer for Emscripten (authored by tlively, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://

[PATCH] D62559: [WebAssembly] Support VPtr sanitizer for Emscripten

2019-05-28 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Please add a test! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62559/new/ https://reviews.llvm.org/D62559 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://list

[PATCH] D62333: Fix unresolved symbols when linking tools/clang/unittests/Tooling/ToolingTests

2019-05-23 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL361536: Fix unresolved symbols when linking tools/clang/unittests/Tooling/ToolingTests (authored by tlively, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed

[PATCH] D62047: [WebAssembly] Add multivalue and tail-call target features

2019-05-23 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL361516: [WebAssembly] Add multivalue and tail-call target features (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D62047?vs=199941&id=201010#toc Repository: r

[PATCH] D62047: [WebAssembly] Add multivalue and tail-call target features

2019-05-21 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D62047#1505878 , @aheejin wrote: > How about using `multi_value`/`multi-value`/`MultiValue`/`MULTI-VALUE` > (depending on positions)? The repo name is also multi-value. > https://github.com/WebAssembly/multi-value > Otherwise

[PATCH] D62047: [WebAssembly] Add multivalue and tail-call target features

2019-05-16 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. These features will both be implemented soon, so I thought I would save time by adding

[PATCH] D60013: [WebAssembly] Add mutable globals feature

2019-03-29 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL357321: [WebAssembly] Add mutable globals feature (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D60013?vs=192911&id=192925#toc Repository: rL LLVM CHANGES S

[PATCH] D60013: [WebAssembly] Add mutable globals feature

2019-03-29 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, jdoerfert, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. This feature is not actually used for anything in the WebAssembly backend, bu

[PATCH] D59721: [WebAssembly] Make driver -pthread imply linker --shared-memory

2019-03-22 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL356817: [WebAssembly] Make driver -pthread imply linker --shared-memory (authored by tlively, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit

[PATCH] D59721: [WebAssembly] Make driver -pthread imply linker --shared-memory

2019-03-22 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: sbc100, aheejin. Herald added subscribers: cfe-commits, jfb, sunfish, jgravelle-google, dschuff. Herald added a project: clang. This eliminates a linker error the user might otherwise see about how using the 'atomics' feature requires --share

[PATCH] D58854: [WebAssembly] Temporarily disable bulk-memory with -pthread

2019-03-01 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC355248: [WebAssembly] Temporarily disable bulk-memory with -pthread (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D58854?vs=188997&id=189000#toc Repository:

[PATCH] D58854: [WebAssembly] Temporarily disable bulk-memory with -pthread

2019-03-01 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: sbc100. Herald added subscribers: cfe-commits, jfb, sunfish, aheejin, jgravelle-google, dschuff. Herald added a project: clang. aheejin accepted this revision. This revision is now accepted and ready to land. To prevent the instability of b

[PATCH] D58742: [WebAssembly] Remove uses of ThreadModel

2019-02-28 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rLLD355112: [WebAssembly] Remove uses of ThreadModel (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D58742?vs=188634&id=188758#toc Repository: rLLD LLVM Linker

[PATCH] D58742: [WebAssembly] Remove uses of ThreadModel

2019-02-27 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked an inline comment as done. tlively added a comment. In D58742#1413077 , @sunfish wrote: > This is still a little confusing to me. -matomic is supposed to be a > subtarget flag, stating that the wasm implementation we will run on supports >

[PATCH] D58742: [WebAssembly] Remove uses of ThreadModel

2019-02-27 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. I'll wait and see if @aheejin has any concerns before landing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58742/new/ https://reviews.llvm.org/D58742 ___ cfe-commits mailing

[PATCH] D58742: [WebAssembly] Remove uses of ThreadModel

2019-02-27 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked an inline comment as done. tlively added inline comments. Comment at: llvm/test/CodeGen/WebAssembly/atomic-mem-consistency.ll:1 -; RUN: not llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt +; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthroug

[PATCH] D58742: [WebAssembly] Remove uses of ThreadModel

2019-02-27 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, sbc100, dschuff. Herald added subscribers: llvm-commits, cfe-commits, jdoerfert, jfb, rupprecht, dexonsmith, steven_wu, sunfish, hiraditya, jgravelle-google, mehdi_amini. Herald added projects: clang, LLVM. In the clang UI, replaces

[PATCH] D57736: [WebAssembly] Bulk memory intrinsics and builtins

2019-02-13 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL353983: [WebAssembly] Bulk memory intrinsics and builtins (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D57736?vs=186504&id=186740#toc Repository: rL LLVM C

[PATCH] D57736: [WebAssembly] Bulk memory intrinsics and builtins

2019-02-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 186504. tlively added a comment. - Update tests to check full polymorphism of llvm.memcpy and llvm.memmove Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57736/new/ https://reviews.llvm.org/D57736 Files: clan

[PATCH] D57736: [WebAssembly] Bulk memory intrinsics and builtins

2019-02-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: clang/include/clang/Basic/BuiltinsWebAssembly.def:29 +// Bulk memory builtins +TARGET_BUILTIN(__builtin_wasm_memory_init, "vIiv*ii", "", "bulk-memory") +TARGET_BUILTIN(__builtin_wasm_data_drop, "vIi", "", "bulk-memory")

[PATCH] D57736: [WebAssembly] Bulk memory intrinsics and builtins

2019-02-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 186393. tlively marked 12 inline comments as done. tlively added a comment. - Address comments - Use `Ui` in builtin signatures - Remove unnecessary intrinsic polymorphism - Tweak intrinsic properties Repository: rG LLVM Github Monorepo CHANGES SINC

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lib/Driver/ToolChains/WebAssembly.cpp:29 + Pthread = + DriverArgs.hasFlag(options::OPT_pthread, options::OPT_no_pthread, false); + ThreadModel = aheejin wrote: > tlively wrote: > > Shouldn't every use of `hasFlag`

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lib/Driver/ToolChains/WebAssembly.cpp:29 + Pthread = + DriverArgs.hasFlag(options::OPT_pthread, options::OPT_no_pthread, false); + ThreadModel = Shouldn't every use of `hasFlag` be `getLastArgValue` instead? ===

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D57874#1391384 , @aheejin wrote: > In D57874#1391133 , @tlively wrote: > > > In D57874#1389953 , @aheejin wrote: > > > > > Anyway, moved all logic

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lib/Driver/ToolChains/WebAssembly.cpp:50 + bool HasNoPthread = + !Pthread && DriverArgs.hasArg(clang::driver::options::OPT_no_pthread); + Should this logic use `getLastArg` or perhaps `getLastArgNoClaim` to check o

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D57874#1390014 , @sbc100 wrote: > In D57874#1389981 , @sunfish wrote: > > > > - `-matomics` means `-mthread-model posix` > > > > The others sound reasonable, though this one seems a littl

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D57874#1389953 , @aheejin wrote: > Anyway, moved all logic to the driver layer and did this: > > - `-matomics` means `-mthread-model posix` > - `-mthread-model posix` means `-matomics` > - `-pthread` means both `-matomics` and `

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D57874#1391116 , @tlively wrote: > In D57874#1389953 , @aheejin wrote: > > > - `-matomics` means `-mthread-model posix` > > > Why should this be the case? Atomic instructions are necessar

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D57874#1389953 , @aheejin wrote: > - `-matomics` means `-mthread-model posix` Why should this be the case? Atomic instructions are necessary for multithreading, but I wouldn't think multithreading would be necessary for atom

[PATCH] D57874: [WebAssembly] Make thread-related options consistent

2019-02-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lib/Driver/ToolChains/WebAssembly.cpp:66 +if (Args.hasFlag(clang::driver::options::OPT_pthread, + clang::driver::options::OPT_no_pthread), +false) sbc100 wrote: > aheejin wrote: > > This c

[PATCH] D57798: [WebAssembly] Add atomics target option

2019-02-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. LGTM Comment at: lib/Basic/Targets/WebAssembly.cpp:172 +} +if (Feature == "0atomics") { + HasAtomics = false; tlively wrote: > -atomics You wo

[PATCH] D57798: [WebAssembly] Add atomics target option

2019-02-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lib/Basic/Targets/WebAssembly.cpp:172 +} +if (Feature == "0atomics") { + HasAtomics = false; -atomics Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57798/new/ https://revie

[PATCH] D57736: [WebAssembly] Bulk memory intrinsics and builtins

2019-02-04 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added a project: clang. implements llvm intrinsics and clang intrinsics for memory.init and data.drop. Repository: rG LLVM Git

[PATCH] D56504: [WebAssembly] Add unimplemented-simd128 feature, gate builtins

2019-01-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively closed this revision. tlively added a comment. Closed by commit rC350909 . Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56504/new/ https://reviews.llvm.org/D56504 ___ cfe-c

[PATCH] D56504: [WebAssembly] Add unimplemented-simd128 feature, gate builtins

2019-01-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: include/clang/Basic/BuiltinsWebAssembly.def:53 // Saturating fp-to-int conversions -BUILTIN(__builtin_wasm_trunc_saturate_s_i32_f32, "if", "nc") -BUILTIN(__builtin_wasm_trunc_saturate_u_i32_f32, "if", "nc") -BUILTIN(__builtin_wasm_trunc

[PATCH] D56504: [WebAssembly] Add unimplemented-simd128 feature, gate builtins

2019-01-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 181171. tlively marked an inline comment as done. tlively added a comment. - Change names again to reflect latest committed LLVM change Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56504/new/ https://reviews.llvm.org/D56504

[PATCH] D56504: [WebAssembly] Add simd128-unimplemented feature, gate builtins

2019-01-09 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 180989. tlively marked 3 inline comments as done. tlively added a comment. - Fix formatting, fix and test macro name Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56504/new/ https://reviews.llvm.org/D56504 Files: include/c

[PATCH] D56504: [WebAssembly] Add simd128-unimplemented feature, gate builtins

2019-01-09 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: lib/Basic/Targets/WebAssembly.cpp:89 +// features control availability of builtins +setSIMDLevel(Features, SIMDLevel); +if (HasNontrappingFPToInt) aheejin wrote: > Minor thing, but should we extract this as a

[PATCH] D56504: [WebAssembly] Add unimplemented-simd128 feature, gate builtins

2019-01-09 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 180984. tlively added a comment. - Match the new naming scheme from rL350791 Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56504/new/ https://reviews.llvm.org/D56504 Files: include/clang

[PATCH] D56504: [WebAssembly] Add unimplemented-simd128 feature, gate builtins

2019-01-09 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 180921. tlively added a comment. - Decouple sign-ext from simd128 Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56504/new/ https://reviews.llvm.org/D56504 Files: include/clang/Basic/BuiltinsWebAssembly.def include/clang/

[PATCH] D56504: [WebAssembly] Add unimplemented-simd128 feature, gate builtins

2019-01-09 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: cfe-commits, kristina, sunfish, jgravelle-google, sbc100. Depends on D56501 . Also adds a macro define __wasm_unimplemented_simd128__ for feature detection of unimp

[PATCH] D53675: [WebAssembly] Lower select for vectors

2018-11-08 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL346462: [WebAssembly] Lower select for vectors (authored by tlively, committed by ). Repository: rL LLVM https://reviews.llvm.org/D53675 Files: llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLower

[PATCH] D53675: [WebAssembly] Lower select for vectors

2018-11-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 173120. tlively added a comment. - Update comment Repository: rL LLVM https://reviews.llvm.org/D53675 Files: lib/Target/WebAssembly/WebAssemblyISelLowering.cpp test/CodeGen/WebAssembly/simd-select.ll test/CodeGen/WebAssembly/simd-vselect.ll Index:

[PATCH] D53675: [WebAssembly] Lower select for vectors

2018-11-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In https://reviews.llvm.org/D53675#1290660, @aheejin wrote: > I tried to add `ISD::SELECT` in the expansion list, like > > for (auto Op : {ISD::VSELECT, ISD::SELECT_CC, ISD::SELECT}) { > ... > } > > > And the code generation apparently works for current test `s

[PATCH] D53675: [WebAssembly] Lower select for vectors

2018-11-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 173119. tlively added a comment. - Use automatic expansion instead of patterns Repository: rL LLVM https://reviews.llvm.org/D53675 Files: lib/Target/WebAssembly/WebAssemblyISelLowering.cpp test/CodeGen/WebAssembly/simd-select.ll test/CodeGen/WebAss

<    1   2   3   4   5   >