summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly
Commit message (Collapse)AuthorAgeFilesLines
...
* [WebAssembly] Remove an unneeded static_cast.Dan Gohman2015-12-081-2/+1
| | | | llvm-svn: 254998
* [WebAssembly] Fix an emacs syntax highlighting comment.Dan Gohman2015-12-081-1/+1
| | | | llvm-svn: 254997
* [WebAssembly] Convert a file-level comment to doxygen style.Dan Gohman2015-12-081-4/+5
| | | | llvm-svn: 254996
* [WebAssembly] Assert MRI.isSSA() in passes that depend on SSA form.Dan Gohman2015-12-082-0/+4
| | | | llvm-svn: 254995
* [WebAssembly] Trim some unneeded #includes.Dan Gohman2015-12-083-4/+0
| | | | llvm-svn: 254994
* [WebAssembly] Remove the override of haveFastSqrt.Dan Gohman2015-12-082-6/+0
| | | | | | | The default implementation in BasicTTI already checks TLI and does the right thing. llvm-svn: 254993
* [WebAssembly] Factor out a TypeToString function, since we need it in ↵Dan Gohman2015-12-063-31/+24
| | | | | | multiple places. llvm-svn: 254884
* [WebAssembly] Make tableswitch's 'default' operand explicit. NFC.Dan Gohman2015-12-061-6/+6
| | | | llvm-svn: 254883
* [WebAssembly] Enable folding of offsets into global variable addresses.Dan Gohman2015-12-062-8/+11
| | | | llvm-svn: 254882
* [WebAssembly] Add some more ideas to README.txt.Dan Gohman2015-12-061-0/+43
| | | | llvm-svn: 254880
* [WebAssembly] Don't perform the returned-argument optimization on constants.Dan Gohman2015-12-051-0/+3
| | | | llvm-svn: 254866
* [WebAssembly] Replace the fake JUMP_TABLE instruction with a def : Pat. NFC.Dan Gohman2015-12-051-5/+2
| | | | llvm-svn: 254864
* [WebAssembly] Implement direct calls to external symbols.Dan Gohman2015-12-052-7/+32
| | | | llvm-svn: 254863
* [WebAssembly] Support inline asm constraints of type i16 and similar.Dan Gohman2015-12-051-4/+7
| | | | llvm-svn: 254861
* [WebAssembly] Update a stale comment. NFC.Dan Gohman2015-12-051-2/+2
| | | | llvm-svn: 254859
* WebAssembly: improve readme, add placeholder for tests.JF Bastien2015-12-052-0/+11
| | | | llvm-svn: 254857
* [WebAssembly] Move useAA() out of line to make it more convenient to ↵Dan Gohman2015-12-052-1/+2
| | | | | | experiment with. llvm-svn: 254856
* [WebAssembly] Call TargetPassConfig base class functions in overriding ↵Dan Gohman2015-12-051-1/+11
| | | | | | functions. llvm-svn: 254855
* [WebAssembly] Expand frem as a floating point library function.Dan Gohman2015-12-051-1/+2
| | | | llvm-svn: 254854
* [WebAssembly] Implement ReverseBranchCondition, and re-enable ↵Dan Gohman2015-12-057-17/+178
| | | | | | | | | | | | | MachineBlockPlacement This patch introduces a codegen-only instruction currently named br_unless, which makes it convenient to implement ReverseBranchCondition and re-enable the MachineBlockPlacement pass. Then in a late pass, it lowers br_unless back into br_if. Differential Revision: http://reviews.llvm.org/D14995 llvm-svn: 254826
* [WebAssembly] Fix scheduling dependencies in register-stackified codeDan Gohman2015-12-051-9/+42
| | | | | | | | | | | Add physical register defs to instructions used from stackified instructions to prevent them from being scheduled into the middle of a stack sequence. This is a conservative measure which may be loosened in the future. Differential Revision: http://reviews.llvm.org/D15252 llvm-svn: 254811
* [WebAssembly] Support constant offsets on loads and storesDerek Schuff2015-12-052-75/+86
| | | | | | | | | This is just prototype for load/store for i32 types. I'll add them to the rest of the types if we like this direction. Differential Revision: http://reviews.llvm.org/D15197 llvm-svn: 254807
* [WebAssembly] Initial varargs support.Dan Gohman2015-12-047-18/+108
| | | | | | | | | Full varargs support will depend on prologue/epilogue support, but this patch gets us started with most of the basic infrastructure. Differential Revision: http://reviews.llvm.org/D15231 llvm-svn: 254799
* [WebAssembly] Add several more calling conventions to the supported list.Dan Gohman2015-12-041-2/+7
| | | | llvm-svn: 254741
* [WebAssembly] Give names to the callseq begin and end instructions.Dan Gohman2015-12-041-4/+4
| | | | llvm-svn: 254730
* [WebAssembly] clang-format CallingConvSupported. NFC.Dan Gohman2015-12-041-4/+2
| | | | llvm-svn: 254729
* [WebAssembly] Factor out the list of supported calling conventions.Dan Gohman2015-12-041-4/+13
| | | | llvm-svn: 254728
* [WebAssembly] Check for more unsupported ABI flags.Dan Gohman2015-12-041-1/+26
| | | | llvm-svn: 254727
* [WebAssembly] Use SelectionDAG::getUNDEF. NFC.Dan Gohman2015-12-041-1/+1
| | | | llvm-svn: 254726
* [WebAssembly] Fix dominance check for PHIs in the StoreResult passDan Gohman2015-12-032-16/+26
| | | | | | | | | | | | | | When a block has no terminator instructions, getFirstTerminator() returns end(), which can't be used in dominance checks. Check dominance for phi operands separately. Also, remove some bits from WebAssemblyRegStackify.cpp that were causing trouble on the same testcase; they were left behind from an earlier experiment. Differential Revision: http://reviews.llvm.org/D15210 llvm-svn: 254662
* [WebAssembly] Add a test for wasm-store-results passDerek Schuff2015-12-031-1/+5
| | | | | | Differential Revision: http://reviews.llvm.org/D15167 llvm-svn: 254570
* [WebAssembly] Assert that byval and nest are not used for return types.Dan Gohman2015-12-021-4/+2
| | | | llvm-svn: 254567
* [WebAssembly] Fix comments to say "LIFO" instead of "FIFO" when describing a ↵Dan Gohman2015-12-024-4/+4
| | | | | | stack. llvm-svn: 254523
* [WebAssembly] Fix a few minor compiler warnings. NFC.Dan Gohman2015-11-301-7/+7
| | | | llvm-svn: 254311
* [WebAssembly] Delete an obsolete TODO comment.Dan Gohman2015-11-291-1/+0
| | | | llvm-svn: 254272
* [WebAssembly] Set several MCInstrDesc flags.Dan Gohman2015-11-294-0/+20
| | | | llvm-svn: 254271
* [WebAssembly] Delete unused functions. NFC.Dan Gohman2015-11-291-6/+0
| | | | llvm-svn: 254268
* [WebAssembly] Minor clang-format and selected clang-tidy cleanups. NFC.Dan Gohman2015-11-2913-64/+68
| | | | llvm-svn: 254267
* [WebAssembly] Fix inline asm support for i64 operands.Dan Gohman2015-11-251-1/+5
| | | | llvm-svn: 254106
* [WebAssembly] Fold setne and seteq comparisons into selects.Dan Gohman2015-11-252-0/+28
| | | | llvm-svn: 254104
* [WebAssembly] Add some comments. NFC.Dan Gohman2015-11-251-0/+5
| | | | llvm-svn: 254096
* [WebAssembly] Fix WebAssembly register numbering for registers added late.Dan Gohman2015-11-252-0/+9
| | | | | | | | | If virtual registers are created late, mappings to WebAssembly registers need to be added explicitly. This patch adds a function to do so and teaches WebAssemblyPeephole to use it. This fixes an out-of-bounds access on the WARegs vector. llvm-svn: 254094
* [WebAssembly] Use a physical register to describe ARGUMENT liveness.Dan Gohman2015-11-2510-38/+66
| | | | | | | | | | Instead of trying to move ARGUMENT instructions back up to the top after they've been scheduled or sunk down, use a fake physical register to create a liveness constraint that prevents ARGUMENT instructions from moving down in the first place. This is still not entirely ideal, however it is more robust than letting them move and moving them back. llvm-svn: 254084
* [WebAssembly] Clean up several FIXME comments.Dan Gohman2015-11-256-10/+12
| | | | llvm-svn: 254079
* [WebAssembly] Support for register stackifying with load and store instructions.Dan Gohman2015-11-259-29/+314
| | | | llvm-svn: 254076
* [WebAssembly] Codegen support for ISD::ExternalSymbolDan Gohman2015-11-254-2/+26
| | | | llvm-svn: 254075
* [WebAssembly] Add 'final' to some classes. NFC.Dan Gohman2015-11-252-2/+2
| | | | llvm-svn: 254073
* [WebAssembly] Whitespace consistency. NFC.Dan Gohman2015-11-252-2/+0
| | | | llvm-svn: 254071
* [WebAssembly] Don't print the types of memory_size and grow_memoryDan Gohman2015-11-231-4/+4
| | | | | | This matches the current spec, for now. llvm-svn: 253931
* [WebAssembly] Don't special-case call operand order.Dan Gohman2015-11-231-2/+2
| | | | | | | | With the '=' suffix now indicating which operands are output operands, it's no longer as important to distinguish between a call's inputs and its outputs using operand ordering, so we can go back to printing them in the normal order. llvm-svn: 253925
OpenPOWER on IntegriCloud