Age | Commit message (Expand) | Author | Files | Lines |
2021-03-08 | phi-sources can only have a single user (or none) | Luc Van Oostenryck | 1 | -2/+0 |
2020-11-21 | add a new instruction for label-as-value | Luc Van Oostenryck | 1 | -0/+8 |
2020-10-23 | llvm: fix crash with llvm-11 / use real phi-nodes | Luc Van Oostenryck | 1 | -46/+29 |
2018-08-25 | Merge branch 'ssa' into tip | Luc Van Oostenryck | 1 | -0/+6 |
2018-07-01 | add PSEUDO_UNDEF & undef_pseudo() | Luc Van Oostenryck | 1 | -0/+6 |
2018-06-30 | Merge branch 'cast-optim' into tip | Luc Van Oostenryck | 1 | -0/+4 |
2018-06-29 | cast: optimize away casts to/from pointers | Luc Van Oostenryck | 1 | -0/+4 |
2018-06-28 | bool: remove OP_{AND,OR}_BOOL instructions | Luc Van Oostenryck | 1 | -24/+0 |
2018-06-23 | cast: specialize integer casts | Luc Van Oostenryck | 1 | -4/+7 |
2018-06-23 | cast: specialize cast from pointers | Luc Van Oostenryck | 1 | -6/+19 |
2018-06-23 | cast: specialize casts from unsigned to pointers | Luc Van Oostenryck | 1 | -0/+1 |
2018-06-23 | cast: specialize floats to integer conversion | Luc Van Oostenryck | 1 | -1/+7 |
2018-06-23 | cast: specialize FPCAST into [USF]CVTF | Luc Van Oostenryck | 1 | -4/+12 |
2018-06-21 | ptrlist: remove the now unneeded FOR_EACH_PTR_NOTAG() | Luc Van Oostenryck | 1 | -2/+2 |
2018-03-11 | llvm: fix typo for constant addresses | Luc Van Oostenryck | 1 | -1/+2 |
2018-03-01 | IR: let .cond unionize with .src and not .target | Luc Van Oostenryck | 1 | -1/+1 |
2018-03-01 | IR: remove now unused OP_LNOP & OP_SNOP | Luc Van Oostenryck | 1 | -6/+0 |
2018-02-20 | no need for signed & unsigned multiplication | Luc Van Oostenryck | 1 | -5/+1 |
2018-02-17 | llvm: initialize at declaration time | Luc Van Oostenryck | 1 | -12/+5 |
2018-02-17 | llvm: use list_size() to count the numbers of arguments | Luc Van Oostenryck | 1 | -7/+2 |
2018-01-08 | add OP_SETFVAL | Luc Van Oostenryck | 1 | -4/+12 |
2018-01-07 | Merge branches 'fmax-warnings', 'funsigned-char', 'testcase-fix-missing-retur... | Luc Van Oostenryck | 1 | -35/+25 |
2017-12-28 | llvm: default init of arrays & structs | Luc Van Oostenryck | 1 | -0/+6 |
2017-12-28 | llvm: simplify emit of null pointers | Luc Van Oostenryck | 1 | -4/+6 |
2017-12-27 | llvm: add declares for function prototypes | Luc Van Oostenryck | 1 | -1/+4 |
2017-12-27 | llvm: use LLVMModuleRef for get_sym_value() | Luc Van Oostenryck | 1 | -8/+8 |
2017-12-27 | llvm: fix: previous function ref MUST be reused | Luc Van Oostenryck | 1 | -23/+2 |
2017-11-18 | add support of floating-point specific arithmetic ops | Luc Van Oostenryck | 1 | -17/+20 |
2017-11-18 | fix support of floating-point compare | Luc Van Oostenryck | 1 | -12/+15 |
2017-11-17 | llvm: only compare void pointers | Luc Van Oostenryck | 1 | -0/+4 |
2017-11-17 | llvm: add support for float initializer | Luc Van Oostenryck | 1 | -0/+3 |
2017-11-17 | llvm: warn instead of assert on global inits | Luc Van Oostenryck | 1 | -1/+6 |
2017-11-17 | llvm: gracefully catch impossible type/value | Luc Van Oostenryck | 1 | -2/+9 |
2017-11-17 | llvm: give names easier to debug | Luc Van Oostenryck | 1 | -3/+3 |
2017-11-17 | llvm: cleanup of output_[ptr]cast() | Luc Van Oostenryck | 1 | -27/+12 |
2017-11-17 | llvm: add support for cast from floats | Luc Van Oostenryck | 1 | -1/+9 |
2017-11-17 | llvm: add support for OP_FPCAST | Luc Van Oostenryck | 1 | -1/+21 |
2017-11-17 | llvm: fix type of bitfields | Luc Van Oostenryck | 1 | -0/+2 |
2017-11-17 | llvm: fix get value from non-anonymous symbol | Luc Van Oostenryck | 1 | -9/+2 |
2017-11-17 | llvm: fix get value from initialized symbol | Luc Van Oostenryck | 1 | -14/+13 |
2017-11-17 | llvm: add support for restricted types | Luc Van Oostenryck | 1 | -0/+1 |
2017-11-17 | llvm: fix mutated OP_[PTR]CAST | Luc Van Oostenryck | 1 | -6/+4 |
2017-11-17 | llvm: fix mutated OP_PHISOURCE | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-17 | llvm: fix mutated OP_SWITCH | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-17 | llvm: fix mutated OP_SEL | Luc Van Oostenryck | 1 | -3/+3 |
2017-11-17 | llvm: fix mutated OP_RET | Luc Van Oostenryck | 1 | -3/+1 |
2017-11-17 | llvm: fix mutating function pointer | Luc Van Oostenryck | 1 | -6/+27 |
2017-11-17 | llvm: take care of degenerated rvalues | Luc Van Oostenryck | 1 | -2/+12 |
2017-11-17 | llvm: fix variadic calls with constants | Luc Van Oostenryck | 1 | -1/+5 |
2017-11-17 | llvm: let pseudo_to_value() directly use the type | Luc Van Oostenryck | 1 | -21/+21 |
2017-11-17 | llvm: make value_to_ivalue() more flexible | Luc Van Oostenryck | 1 | -5/+10 |
2017-11-17 | llvm: make value_to_pvalue() more flexible | Luc Van Oostenryck | 1 | -3/+12 |
2017-11-17 | llvm: fix OP_SWITCH has no target | Luc Van Oostenryck | 1 | -3/+1 |
2017-11-17 | llvm: add support for OP_SWITCH with a range | Luc Van Oostenryck | 1 | -10/+7 |
2017-11-17 | llvm: give a name to all values | Luc Van Oostenryck | 1 | -13/+20 |
2017-11-17 | llvm: make pseudo_name() more flexible | Luc Van Oostenryck | 1 | -11/+6 |
2017-11-17 | llvm: fix type of switch constants | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-17 | llvm: variadic functions are not being marked as such | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-17 | llvm: adjust OP_RET's type | Luc Van Oostenryck | 1 | -0/+1 |
2017-11-17 | llvm: give correct type to binops | Luc Van Oostenryck | 1 | -0/+30 |
2017-11-17 | llvm: fix type in comparison with an address constant | Luc Van Oostenryck | 1 | -2/+1 |
2017-11-17 | llvm: fix pointer/float mixup in comparisons | Luc Van Oostenryck | 1 | -2/+15 |
2017-11-17 | llvm: ignore OP_INLINED_CALL | Luc Van Oostenryck | 1 | -1/+0 |
2017-11-17 | llvm: add support for OP_SETVAL with labels | Luc Van Oostenryck | 1 | -0/+3 |
2017-11-17 | llvm: add support for OP_SETVAL with floats | Luc Van Oostenryck | 1 | -1/+18 |
2017-11-17 | llvm: add support for OP_NEG | Luc Van Oostenryck | 1 | -2/+15 |
2017-11-17 | llvm: fix output_op_[ptr]cast() | Luc Van Oostenryck | 1 | -5/+35 |
2017-11-17 | llvm: fix output_op_store() which modify its operand | Luc Van Oostenryck | 1 | -4/+2 |
2017-11-17 | llvm: fix translation of PSEUDO_VALs into a ValueRefs | Luc Van Oostenryck | 1 | -1/+30 |
2017-11-17 | llvm: fix test of floating-point type | Luc Van Oostenryck | 1 | -25/+17 |
2017-11-17 | llvm: extract get_sym_value() from pseudo_to_value() | Luc Van Oostenryck | 1 | -47/+53 |
2017-11-17 | llvm: avoid useless temp variable | Luc Van Oostenryck | 1 | -5/+2 |
2017-11-17 | llvm: give a name to call's return values | Luc Van Oostenryck | 1 | -1/+6 |
2017-11-17 | llvm: give arguments a name | Luc Van Oostenryck | 1 | -0/+12 |
2017-11-17 | llvm: use pseudo_list_size() instead of open coding it | Luc Van Oostenryck | 1 | -4/+1 |
2017-11-17 | llvm: reduce scope of 'bb_nr' | Luc Van Oostenryck | 1 | -2/+1 |
2017-11-17 | llvm: remove unneeded function::type | Luc Van Oostenryck | 1 | -3/+3 |
2017-11-17 | llvm: remove unneeded 'generation' | Luc Van Oostenryck | 1 | -11/+2 |
2017-11-17 | llvm: remove unneeded arg 'module' | Luc Van Oostenryck | 1 | -37/+37 |
2017-05-15 | use -fmem-report to report allocation stats | Luc Van Oostenryck | 1 | -0/+1 |
2017-03-06 | split OP_BR between unconditional & conditional: OP_CBR | Luc Van Oostenryck | 1 | -11/+14 |
2017-02-13 | llvm: remove unneeded OP_COPY support | Luc Van Oostenryck | 1 | -29/+1 |
2017-02-13 | llvm: fix typing when comparing to a constant | Luc Van Oostenryck | 1 | -17/+32 |
2015-06-14 | sparse, llvm: compile: skip function prototypes to avoid SIGSEGV | Azat Khuzhin | 1 | -0/+11 |
2013-05-27 | Fix result type of relational and logical operators | Xi Wang | 1 | -11/+18 |
2013-05-21 | sparse, llvm: die if error | Xi Wang | 1 | -1/+4 |
2013-05-21 | sparse, llvm: set more data attributes | Xi Wang | 1 | -0/+6 |
2013-05-21 | sparse, llvm: fix struct name generation | Xi Wang | 1 | -6/+3 |
2013-05-21 | sparse, llvm: cache symbol_type() result | Xi Wang | 1 | -1/+10 |
2013-05-21 | sparse, llvm: fix array size | Xi Wang | 1 | -1/+3 |
2013-05-21 | sparse, llvm: use LLVM_DEFAULT_TARGET_TRIPLE | Xi Wang | 1 | -1/+5 |
2013-05-20 | sparse, llvm: Use LLVM_HOSTTRIPLE | Pekka Enberg | 1 | -1/+1 |
2013-05-19 | sparse, llvm: set target specification | Xi Wang | 1 | -3/+53 |
2013-05-19 | sparse, llvm: improve pointer arithmetic handling | Xi Wang | 1 | -12/+26 |
2013-05-19 | sparse, llvm: base load/store address type on insn_symbol_type() | Jonathan Neuschäfer | 1 | -3/+4 |
2013-05-19 | sparse, llvm: de-duplicate load/store address calculation code | Jonathan Neuschäfer | 1 | -17/+14 |
2013-05-19 | sparse, llvm: Fix resulting type of store address calculations | Jonathan Neuschäfer | 1 | -1/+1 |
2013-05-18 | sparse, llvm: simplify function generation | Xi Wang | 1 | -163/+12 |
2013-05-18 | sparse, llvm: fix phi generation | Xi Wang | 1 | -91/+40 |
2012-10-10 | sparse, llvm: Fix type of loaded values | Jonathan Neuschäfer | 1 | -1/+1 |
2012-08-19 | sparse, llvm: convert the condition of branch/select to bool | Jonathan Neuschäfer | 1 | -2/+11 |
2012-08-19 | sparse, llvm: Fix 'void' return type code generation | Pekka Enberg | 1 | -2/+10 |
2012-08-19 | sparse, llvm: 'Verify' the LLVM module before writing it | Jonathan Neuschäfer | 1 | -0/+3 |
2012-08-05 | sparse, llvm: Fix SIGSEGV for extern symbols | Pekka Enberg | 1 | -0/+8 |
2012-06-09 | sparse, llvm: Fix global string access code generation | Pekka Enberg | 1 | -1/+7 |
2012-06-08 | sparse, llvm: Fix string initializer code generation | Pekka Enberg | 1 | -0/+6 |
2012-06-08 | sparse, llvm: Simplify output_data() type logic | Pekka Enberg | 1 | -1/+1 |
2012-02-04 | sparse, llvm: Fix varargs functions | Benjamin Herrenschmidt | 1 | -2/+2 |
2011-12-21 | sparse, llvm: Use LLVMInt1Type() in sym_basetype_type() | Pekka Enberg | 1 | -0/+3 |
2011-11-23 | sparse, llvm: Fix loops, by properly handling OP_PHI forward references | Jeff Garzik | 1 | -7/+77 |
2011-11-22 | sparse, llvm: FP comparison op code generation | Pekka Enberg | 1 | -2/+27 |
2011-11-22 | sparse, llvm: Simplify comparison op code generation | Pekka Enberg | 1 | -33/+23 |
2011-11-22 | sparse, llvm: More comparison ops code generation | Pekka Enberg | 1 | -4/+4 |
2011-11-22 | sparse, llvm: OP_SET_B and OP_SET_A code generation | Pekka Enberg | 1 | -2/+2 |
2011-11-22 | sparse, llvm: Pointer cast code generation | Pekka Enberg | 1 | -1/+19 |
2011-11-21 | sparse, llvm: Fix 'extern' symbol code generation | Pekka Enberg | 1 | -1/+2 |
2011-11-21 | sparse, llvm: Fix symbol initializer code generation | Pekka Enberg | 1 | -2/+4 |
2011-11-19 | sparse, llvm: Function pointer code generation | Pekka Enberg | 1 | -2/+52 |
2011-10-28 | sparse, llvm: Add support for union types | Pekka Enberg | 1 | -0/+20 |
2011-10-25 | sparse, llvm: Add support for array types | Pekka Enberg | 1 | -0/+17 |
2011-10-25 | sparse, llvm: Fix symbol_type() for bitfields and enums | Pekka Enberg | 1 | -0/+2 |
2011-10-24 | sparse, llvm: Fix struct code generation | Pekka Enberg | 1 | -23/+27 |
2011-10-24 | sparse, llvm: Use new LLVM type system API for structs | Pekka Enberg | 1 | -2/+13 |
2011-10-24 | sparse, llvm: Fix 'void *' pointer code generation | Pekka Enberg | 1 | -3/+1 |
2011-09-28 | sparse, llvm: Add support for logical ops | Pekka Enberg | 1 | -4/+19 |
2011-09-09 | sparse, llvm: Add support for symbol initializers | Pekka Enberg | 1 | -2/+11 |
2011-09-07 | sparse, llvm: Add support for struct types | Pekka Enberg | 1 | -2/+53 |
2011-08-31 | sparse, llvm: Fix code generation for 'long double' data type | Pekka Enberg | 1 | -0/+3 |
2011-08-31 | sparse, llvm: support OP_STORE | Jeff Garzik | 1 | -1/+31 |
2011-08-30 | sparse, llvm: move OP_COPY support to separate function. Add FP support. | Jeff Garzik | 1 | -12/+30 |
2011-08-30 | sparse, llvm: store module-local functions on function reference list | Jeff Garzik | 1 | -1/+9 |
2011-08-30 | llvm, sparse: Fix symbol_is_fp_type() goof | Pekka Enberg | 1 | -1/+2 |
2011-08-30 | Merge branch 'master' of github.com:penberg/sparse-llvm | Pekka Enberg | 1 | -7/+27 |
2011-08-30 | sparse, llvm: Fix pseudo_type() for PSEUDO_ARG | Pekka Enberg | 1 | -4/+4 |
2011-08-30 | sparse, llvm: create helper for obtaining instruction's type | Jeff Garzik | 1 | -7/+27 |
2011-08-30 | sparse, llvm: Fix code generation for casts | Pekka Enberg | 1 | -6/+10 |
2011-08-30 | Revert "sparse, llvm: Don't redefine module local functions" | Pekka Enberg | 1 | -5/+0 |
2011-08-30 | sparse, llvm: Don't redefine module local functions | Pekka Enberg | 1 | -0/+5 |
2011-08-30 | sparse, llvm: Fix PSEUDO_OP code generation | Pekka Enberg | 1 | -21/+21 |
2011-08-29 | sparse, llvm: Fix OP_CAST to use zero-extend | Pekka Enberg | 1 | -1/+1 |
2011-08-29 | sparse, llvm: Cleanup output_data() | Pekka Enberg | 1 | -3/+5 |
2011-08-29 | sparse, llvm: Code generation for string constants | Pekka Enberg | 1 | -6/+48 |
2011-08-28 | sparse, llvm: move OP_CAST code to separate func. support FP casts. | Jeff Garzik | 1 | -12/+20 |
2011-08-27 | sparse, llvm: move OP_PHI code from switch statement to separate function | Jeff Garzik | 1 | -31/+35 |
2011-08-27 | sparse, llvm: implement OP_CALL | Jeff Garzik | 1 | -1/+157 |
2011-08-27 | sparse, llvm: replace FIXME comment with assert(), following existing style | Jeff Garzik | 1 | -2/+2 |
2011-08-27 | sparse-llvm OP_PHISOURCE: replace copy with target=src pointer operation | Jeff Garzik | 1 | -12/+3 |
2011-08-27 | sparse, llvm: Kill debugging code | Pekka Enberg | 1 | -4/+0 |
2011-08-27 | sparse, llvm: Kill ifdef'd unssa() call | Pekka Enberg | 1 | -4/+0 |
2011-08-27 | sparse, llvm: Bitwise not operator codegen | Pekka Enberg | 1 | -1/+14 |
2011-08-27 | sparse, llvm: Floating point support for binops | Pekka Enberg | 1 | -24/+70 |
2011-08-27 | sparse-llvm: OP_LOAD | Jeff Garzik | 1 | -1/+29 |
2011-08-27 | sparse-llvm: OP_SWITCH | Jeff Garzik | 1 | -5/+47 |
2011-08-27 | sparse-llvm: OP_SEL | Jeff Garzik | 1 | -1/+14 |
2011-08-27 | sparse, llvm: if-else code generation | Jeff Garzik | 1 | -12/+86 |
2011-08-25 | sparse, llvm: Implement OP_CAST | Pekka Enberg | 1 | -3/+12 |
2011-08-25 | sparse, llvm: Implement some binary comparison ops | Pekka Enberg | 1 | -4/+30 |
2011-08-25 | sparse, llvm: Add support for more binary ops | Pekka Enberg | 1 | -13/+15 |
2011-08-25 | sparse, llvm: Implement OP_ADD | Pekka Enberg | 1 | -22/+69 |
2011-08-25 | sparse, llvm: Add output_op_binary() stub | Pekka Enberg | 1 | -0/+91 |
2011-08-25 | sparse, llvm: Introduce 'struct function' to clean up code | Pekka Enberg | 1 | -18/+23 |
2011-08-25 | sparse, llvm: Add support for OP_RET/PSEUDO_ARG | Pekka Enberg | 1 | -10/+15 |
2011-08-23 | sparse, llvm: OP_RET/PSEUDO_VAL code generation | Pekka Enberg | 1 | -20/+39 |
2011-08-23 | sparse, llvm: Add switch statement to output_insn() | Pekka Enberg | 1 | -8/+62 |
2011-08-23 | llvm, sparse: Separate entry and exit basic blocks | Pekka Enberg | 1 | -6/+14 |
2011-08-23 | sparse, llvm: Fix global variable initialization | Pekka Enberg | 1 | -2/+11 |
2011-08-23 | sparse, llvm: Initial commit | Pekka Enberg | 1 | -0/+185 |