about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/builder.rs
AgeCommit message (Collapse)AuthorLines
2018-11-16Generalized base::unsized_infoDenis Merigoux-7/+32
2018-11-16[eddyb/rebase cleanup] s/&self./self.Eduard-Mihai Burtescu-4/+4
2018-11-16Traitified IntrinsicCallMethodsDenis Merigoux-11/+3
2018-11-16Transfered memcpy and memset to BuilderMethodsDenis Merigoux-10/+49
2018-11-16Generalized memset and memcpyDenis Merigoux-1/+4
2018-11-16Generalized some base.rs methodsDenis Merigoux-4/+3
2018-11-16Attempt at including CodegenCx within Builder with Associated typesDenis Merigoux-31/+33
2018-11-16Removing LLVM content from CommonMethods -> ConstMethodsDenis Merigoux-1/+1
2018-11-16Prefixed type methods & removed trait impl for write::CodegenContextDenis Merigoux-9/+9
2018-11-16Prefixed const methods with "const" instead of "c"Denis Merigoux-6/+6
2018-11-16Traitification of type_ methodsDenis Merigoux-12/+12
The methods are now attached to CodegenCx instead of Type
2018-11-16Added definition of type traitDenis Merigoux-0/+1
2018-11-16Use the method form for CodegenCx everywhereDenis Merigoux-3/+3
2018-11-16CommonWriteMethods are not static any moreDenis Merigoux-8/+8
2018-11-16Split CommonMethods to accomodate for use in back/write.rsDenis Merigoux-1/+1
2018-11-16Added self argument for Codegen CommonMethod trait methodsDenis Merigoux-3/+3
2018-11-16Traitification of common.rs methodsDenis Merigoux-15/+17
2018-11-16New Backend trait containing associated typesDenis Merigoux-5/+7
2018-11-16New files and folders for traitsDenis Merigoux-13/+13
Moved common enums to common
2018-11-16Use real type names rather than Self::Denis Merigoux-163/+163
2018-11-16Removed parasite yaml file and put explicit lifetimesDenis Merigoux-1/+1
2018-11-16Use associated types instead of type parameters inside the BuilderMethods traitDenis Merigoux-170/+172
2018-11-16Removed genericity over Value in various functionsDenis Merigoux-6/+8
Prelude to using associated types in traits rather than type parameters
2018-11-16Generalized AsmDialect for BuilderMethodsDenis Merigoux-2/+3
2018-11-16Generalized SynchronisationScope for BuilderMethodsDenis Merigoux-2/+2
2018-11-16Generalized AtomicOrdering for BuilderMethodsDenis Merigoux-12/+38
2018-11-16Generalized AtomicRmwBinOp for BuilderMethodsDenis Merigoux-2/+8
2018-11-16Generalized OperandBundleDef in BuilderMethodsDenis Merigoux-4/+4
2018-11-16Removed useless traits for IntPredicate and RealPredicateDenis Merigoux-1/+1
2018-11-16Generalized RealPredicateDenis Merigoux-2/+2
2018-11-16Generalized IntPredicate in the BuilderMethods traitDenis Merigoux-4/+6
2018-11-16Generalized BasicBlocks in BuilderMethods traitDenis Merigoux-1/+2
2018-11-16Generalized base.rs#call_memcpy and everything that it usesDenis Merigoux-172/+187
Generalized operand.rs#nontemporal_store and fixed tidy issues Generalized operand.rs#nontemporal_store's implem even more With a BuilderMethod trait implemented by Builder for LLVM Cleaned builder.rs : no more code duplication, no more ValueTrait Full traitification of builder.rs
2018-11-16Reduced line length to pass tidyDenis Merigoux-3/+3
Generalized FunctionCx Added ValueTrait and first change Generalize CondegenCx Generalized the Builder struct defined in librustc_codegen_llvm/builder.rs
2018-11-11Auto merge of #55698 - nikic:remove-llvm-4-support, r=alexcrichtonbors-44/+13
Remove support for building against LLVM 4 With emscripten removed in #55626, we no longer need to support building against LLVM 4.
2018-11-08Rollup merge of #55633 - nikic:memcpy-align, r=nagisaMark Rousskov-0/+18
Support memcpy/memmove with differing src/dst alignment If LLVM 7 is used, generate memcpy/memmove with differing src/dst alignment. I've added new FFI functions to construct these through the builder API, which is more convenient than dealing with differing intrinsic signatures depending on the LLVM version. Fixes #49740.
2018-11-05Remove support for building against LLVM 4Nikita Popov-44/+13
With emscripten removed in #55626, we no longer need to support building against LLVM 4.
2018-11-04Support memcpy/memmove with differing src/dst alignmentNikita Popov-0/+18
If LLVM 7 is used, generate memcpy/memmove with differing src/dst alignment. I've added new FFI functions to construct these through the builder API, which is more convenient than dealing with differing intrinsic signatures depending on the LLVM version.
2018-10-27Correct alignment of atomic types and (re)add Atomic{I,U}128Oliver Middleton-9/+6
LLVM requires that atomic loads and stores be aligned to at least the size of the type.
2018-10-23fix typos in various placesMatthias Krüger-1/+1
2018-10-16Fix LLVMRustInlineAsmVerify return type mismatchvarkor-1/+1
2018-10-08codegen_llvm: remove explicit returnsljedrz-1/+1
2018-10-08codegen_llvm: whitespace & formatting improvementsljedrz-8/+8
2018-09-26fixup! codegen_llvm: check inline assembly constraints with LLVMLevente Kurusa-1/+1
2018-09-25codegen_llvm: check inline assembly constraints with LLVMLevente Kurusa-4/+12
LLVM provides a way of checking whether the constraints and the actual inline assembly make sense. This commit introduces a check before emitting code for the inline assembly. If LLVM rejects the inline assembly (or its constraints), then the compiler emits an error E0668 ("malformed inline assembly"). Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-23Fix an AMDGPU related load bit range metadata assertion.Richard Diamond-0/+8
2018-08-19Add Builder::array_alloca.Masaki Hara-0/+19
2018-08-10Introduce SmallCStr and use it where applicable.Michael Woerister-4/+4
2018-08-10Introduce const_cstr!() macro and use it where applicable.Michael Woerister-3/+3
2018-07-30rustc_codegen_llvm: fix ownership of Builder.Irina Popa-2/+2