r366272 - [WebAssembly] Implement thread-local storage (local-exec model)

2019-07-16 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Tue Jul 16 15:00:45 2019 New Revision: 366272 URL: http://llvm.org/viewvc/llvm-project?rev=366272&view=rev Log: [WebAssembly] Implement thread-local storage (local-exec model) Summary: Thread local variables are placed inside a `.tdata` segment. Their symbols are offsets fro

r366475 - [WebAssembly] Implement __builtin_wasm_tls_base intrinsic

2019-07-18 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Thu Jul 18 10:53:22 2019 New Revision: 366475 URL: http://llvm.org/viewvc/llvm-project?rev=366475&view=rev Log: [WebAssembly] Implement __builtin_wasm_tls_base intrinsic Summary: Add `__builtin_wasm_tls_base` so that LeakSanitizer can find the thread-local block and scan thr

r366499 - [WebAssembly] Fix __builtin_wasm_tls_base intrinsic

2019-07-18 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Thu Jul 18 14:17:52 2019 New Revision: 366499 URL: http://llvm.org/viewvc/llvm-project?rev=366499&view=rev Log: [WebAssembly] Fix __builtin_wasm_tls_base intrinsic Summary: Properly generate the outchain for the `__builtin_wasm_tls_base` intrinsic. Also marked the intrinsic

r366624 - [WebAssembly] Compute and export TLS block alignment

2019-07-19 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Fri Jul 19 16:34:16 2019 New Revision: 366624 URL: http://llvm.org/viewvc/llvm-project?rev=366624&view=rev Log: [WebAssembly] Compute and export TLS block alignment Summary: Add immutable WASM global `__tls_align` which stores the alignment requirements of the TLS segment.

r368101 - [WebAssembly] Lower ASan constructor priority on Emscripten

2019-08-06 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Tue Aug 6 14:52:58 2019 New Revision: 368101 URL: http://llvm.org/viewvc/llvm-project?rev=368101&view=rev Log: [WebAssembly] Lower ASan constructor priority on Emscripten Summary: This change gives Emscripten the ability to use more than one constructor priorities that runs

r368750 - [WebAssembly] Make clang emit correct va_arg code for structs

2019-08-13 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Tue Aug 13 14:41:11 2019 New Revision: 368750 URL: http://llvm.org/viewvc/llvm-project?rev=368750&view=rev Log: [WebAssembly] Make clang emit correct va_arg code for structs Summary: In the WebAssembly backend, when lowering variadic function calls, non-single member aggrega

r369042 - [WebAssembly] Correctly handle va_arg of zero-sized structures

2019-08-15 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Thu Aug 15 12:33:36 2019 New Revision: 369042 URL: http://llvm.org/viewvc/llvm-project?rev=369042&view=rev Log: [WebAssembly] Correctly handle va_arg of zero-sized structures Summary: D66168 passes size 0 structs indirectly, while the wasm backend expects it to be passed dir

r364468 - [WebAssembly] Implement Address Sanitizer for Emscripten

2019-06-28 Thread Guanzhong Chen via cfe-commits
Author: quantum Date: Wed Jun 26 13:16:14 2019 New Revision: 364468 URL: http://llvm.org/viewvc/llvm-project?rev=364468&view=rev Log: [WebAssembly] Implement Address Sanitizer for Emscripten Summary: This diff enables address sanitizer on Emscripten. On Emscripten, real memory starts at the valu