summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/mir/rvalue.rs
AgeCommit message (Collapse)AuthorLines
2018-09-11renamed is_nil to is_unitkenta7777-2/+2
2018-09-11Revert "renamed is_nil to is_unit"kenta7777-2/+2
This reverts commit 6f685ffad42a2d12dd1fad5ccb0471e7fa260826.
2018-09-10renamed is_nil to is_unitkenta7777-2/+2
2018-08-24support user-given types in adtsNiko Matsakis-1/+1
2018-08-22Remove Ty prefix from Ty{Bool|Char|Int|Uint|Float|Str}varkor-37/+37
2018-08-22Remove Ty prefix from ↵varkor-3/+3
Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error}
2018-08-19Integrate OperandValue::UnsizedRef into OperandValue::Ref.Masaki Hara-5/+2
2018-08-19Implement simple codegen for unsized rvalues.Masaki Hara-0/+26
2018-08-12Do not generate assumes for plain integer castsSimonas Kazlauskas-1/+3
2018-08-04Simplify some handling of target_pointer_widthMark Rousskov-12/+2
2018-07-30rustc_codegen_llvm: use safe references for Value.Irina Popa-32/+36
2018-07-30rustc_codegen_llvm: use safe references for Type.Irina Popa-18/+18
2018-07-05Store scalar pair bools as i8 in memoryJosh Stone-2/+2
We represent `bool` as `i1` in a `ScalarPair`, unlike other aggregates, to optimize IR for checked operators and the like. With this patch, we still do so when the pair is an immediate value, but we use the `i8` memory type when the value is loaded or stored as an LLVM aggregate. So `(bool, bool)` looks like an `{ i1, i1 }` immediate, but `{ i8, i8 }` in memory. When a pair is a direct function argument, `PassMode::Pair`, it is still passed using the immediate `i1` type, but as a return value it will use the `i8` memory type. Also, `bool`-like` enum tags will now use scalar pairs when possible, where they were previously excluded due to optimization issues.
2018-06-16rustc_codegen_llvm: don't treat i1 as signed, even for #[repr(i8)] enums.Eduard-Mihai Burtescu-1/+5
2018-05-17Rename trans to codegen everywhere.Irina Popa-0/+952