about summary refs log tree commit diff
path: root/src/librustc_trans/expr.rs
AgeCommit message (Collapse)AuthorLines
2016-08-24rustc_trans: remove the bulk of old trans and most of its support code.Eduard Burtescu-2473/+0
2016-08-17rustc: reduce Substs and Generics to a simple immutable API.Eduard Burtescu-1/+1
2016-08-15Fix bug for ! in old transAndrew Cann-1/+1
2016-08-13Rename empty/bang to neverAndrew Cann-3/+3
Split Ty::is_empty method into is_never and is_uninhabited
2016-08-13Make AdjustEmptyToAny actually perform the adjustmentAndrew Cann-4/+4
2016-08-13Remove obsolete divergence related stuffAndrew Cann-2/+2
Replace FnOutput with Ty Replace FnConverging(ty) with ty Purge FnDiverging, FunctionRetTy::NoReturn and FunctionRetTy::None
2016-08-13Add EmptyToAny adjustmentAndrew Cann-1/+8
2016-08-04Update wording on E0080Shantanu Raj-1/+1
Change "attempted" to "attempt"
2016-07-08hir-trans: Don't generate code for unreachable operands in short-circuiting ↵Michael Woerister-0/+13
logical operations.
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-3/+4
2016-06-10Introduce TyCtxt::expect_def/expect_resolution helpers and use them where ↵Vadim Petrochenkov-5/+5
possible
2016-06-07Auto merge of #34012 - eddyb:tick-erased, r=nikomatsakisbors-1/+1
rustc: add ReErased to be used by trait selection, MIR and trans. `ReErased` replaces `ReStatic` (i.e. `'static`) for erasing regions. Using a distinct lifetime helps prevent accidental mix-ups between the two. It also allows cleaner type printing (see test changes), including in symbol names: ```rust str..pattern..CharSearcher$LT$$u27$static$GT$::drop.30560::h840c2f2afc03bbea // before str..pattern..CharSearcher::drop.30561::h6bd31d2af614377a // after ``` Not that we should be producing symbols this way, but it's still better.
2016-06-05trans: use the same messages for both MIR and old arithmetic checks.Eduard Burtescu-5/+15
2016-06-05Add a new Assert terminator to MIR for bounds & arithmetic checks.Eduard Burtescu-3/+3
2016-06-05rustc: add ReErased to be used by trait selection, MIR and trans.Eduard Burtescu-1/+1
2016-05-19Support 16-bit pointers as well as i/usizeJake Goulding-0/+2
This is based on the original work of Dylan McKay for the [avr-rust project][ar]. [ar]: https://github.com/avr-rust/rust
2016-05-16Remove hir::IdentVadim Petrochenkov-2/+2
2016-05-13Auto merge of #33508 - alexcrichton:always-lower-frem, r=nikomatsakisbors-38/+1
trans: Always lower to `frem` Long ago LLVM unfortunately didn't handle the 32-bit MSVC case of `frem` where it can't be lowered to `fmodf` because that symbol doesn't exist. That was since fixed in http://reviews.llvm.org/D12099 (landed as r246615) and was released in what appears to be LLVM 3.8. Now that we're using that branch of LLVM let's remove our own hacks and help LLVM optimize a little better by giving it knowledge about what we're doing.
2016-05-11rustc: More interning for data used in Ty<'tcx>.Eduard Burtescu-1/+1
2016-05-11rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.Eduard Burtescu-3/+3
2016-05-11rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.Eduard Burtescu-8/+8
2016-05-09trans: Make base::custom_coerce_unsize_info only depend on SharedCrateContext.Michael Woerister-1/+3
2016-05-09trans: Always lower to `frem`Alex Crichton-38/+1
Long ago LLVM unfortunately didn't handle the 32-bit MSVC case of `frem` where it can't be lowered to `fmodf` because that symbol doesn't exist. That was since fixed in http://reviews.llvm.org/D12099 (landed as r246615) and was released in what appears to be LLVM 3.8. Now that we're using that branch of LLVM let's remove our own hacks and help LLVM optimize a little better by giving it knowledge about what we're doing.
2016-04-24thread tighter span for closures aroundNiko Matsakis-1/+1
Track the span corresponding to the `|...|` part of the closure.
2016-04-11trans: initial implementation of MIR debuginfo.Eduard Burtescu-5/+5
2016-04-06rustc: move middle::{def,def_id,pat_util} to hir.Eduard Burtescu-1/+1
2016-04-06rustc: dismantle hir::util, mostly moving functions to methods.Eduard Burtescu-2/+2
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-4/+3
2016-03-31librustc_trans: use bug!(), span_bug!()Benjamin Herr-74/+67
2016-03-27rustc_trans: move the contents of the trans module to top-level.Eduard Burtescu-0/+2483