rust/src/librustc_trans
Jorge Aparicio 18d49288d5 PTX support
- `--emit=asm --target=nvptx64-nvidia-cuda` can be used to turn a crate
  into a PTX module (a `.s` file).

- intrinsics like `__syncthreads` and `blockIdx.x` are exposed as
  `"platform-intrinsics"`.

- "cabi" has been implemented for the nvptx and nvptx64 architectures.
  i.e. `extern "C"` works.

- a new ABI, `"ptx-kernel"`. That can be used to generate "global"
  functions. Example: `extern "ptx-kernel" fn kernel() { .. }`. All
  other functions are "device" functions.
2016-12-26 21:06:23 -05:00
..
back target spec: add an asm-args field to pass arguments to the external .. 2016-12-18 22:25:46 -05:00
debuginfo Replace bcx.ccx() with bcx.ccx 2016-12-20 20:04:41 -07:00
mir Make drop glue for unsized value pass two arguments instead of *(data, meta) 2016-12-21 12:02:09 -07:00
abi.rs PTX support 2016-12-26 21:06:23 -05:00
adt.rs Replace bcx.ccx() with bcx.ccx 2016-12-20 20:04:41 -07:00
asm.rs Replace bcx.ccx() with bcx.ccx 2016-12-20 20:04:41 -07:00
assert_module_sources.rs Use Symbol instead of InternedString in the AST, HIR, and various other places. 2016-11-21 09:00:55 +00:00
attributes.rs Add new #[target_feature = "..."] attribute. 2016-11-29 20:32:14 -05:00
base.rs Remove fn_ty from FunctionContext 2016-12-20 20:04:44 -07:00
builder.rs Rename 'blk and 'bcx to 'a 2016-12-20 20:03:31 -07:00
cabi_aarch64.rs
cabi_arm.rs Remove needless allows 2016-12-20 20:02:52 -07:00
cabi_asmjs.rs Use llvm::Attribute API instead of "raw value" APIs, which will be removed in LLVM 4.0. 2016-11-17 21:12:26 +01:00
cabi_mips64.rs
cabi_mips.rs
cabi_msp430.rs add cabi_msp430 2016-11-13 11:03:44 -05:00
cabi_nvptx64.rs PTX support 2016-12-26 21:06:23 -05:00
cabi_nvptx.rs PTX support 2016-12-26 21:06:23 -05:00
cabi_powerpc64.rs
cabi_powerpc.rs
cabi_s390x.rs
cabi_sparc.rs implement cabi for 32-bit sparc 2016-12-19 12:23:37 -05:00
cabi_x86_64.rs Use llvm::Attribute API instead of "raw value" APIs, which will be removed in LLVM 4.0. 2016-11-17 21:12:26 +01:00
cabi_x86_win64.rs
cabi_x86.rs Cleaned up the code and added tests. 2016-12-22 14:54:42 +03:00
callee.rs Make drop glue for unsized value pass two arguments instead of *(data, meta) 2016-12-21 12:02:09 -07:00
Cargo.toml Use llvm::Attribute API instead of "raw value" APIs, which will be removed in LLVM 4.0. 2016-11-17 21:12:26 +01:00
cleanup.rs Make drop glue for unsized value pass two arguments instead of *(data, meta) 2016-12-21 12:02:09 -07:00
collector.rs Move param_env onto SharedCrateContext, and move functions which need the ParamEnv onto it. 2016-12-20 20:03:32 -07:00
common.rs Move eh_unwind_resume into CrateContext 2016-12-20 20:04:46 -07:00
consts.rs Remove push_ctxt 2016-12-20 20:02:50 -07:00
context.rs Improve cache quality for eh_personality. 2016-12-20 20:04:46 -07:00
declare.rs Refactor ty::FnSig to privatize all fields 2016-12-05 22:22:49 -07:00
diagnostics.rs
disr.rs
glue.rs Make drop glue for unsized value pass two arguments instead of *(data, meta) 2016-12-21 12:02:09 -07:00
intrinsic.rs Move eh_personality() onto CrateContext 2016-12-20 20:04:45 -07:00
lib.rs PTX support 2016-12-26 21:06:23 -05:00
machine.rs
macros.rs
meth.rs Remove fn_ty from FunctionContext 2016-12-20 20:04:44 -07:00
monomorphize.rs rustc: simplify AdtDef by removing the field types and ty::ivar. 2016-11-29 21:24:26 +02:00
partitioning.rs incr.comp.: Take symbol visibility into account for CGU hashes. 2016-12-09 17:47:56 -05:00
README.md Rename README.txt to README.md 2016-12-22 12:52:22 -06:00
symbol_map.rs Replace FnvHasher use with FxHasher. 2016-11-08 15:14:59 +11:00
symbol_names_test.rs revamp Visitor with a single method for controlling nested visits 2016-11-29 13:04:27 +01:00
trans_item.rs Make drop glue for unsized value pass two arguments instead of *(data, meta) 2016-12-21 12:02:09 -07:00
tvec.rs Replace bcx.ccx() with bcx.ccx 2016-12-20 20:04:41 -07:00
type_.rs Get rid of superfluous HashMap in LocalCrateContext. We only need the str slice type. 2016-11-10 16:15:06 -05:00
type_of.rs Move param_env onto SharedCrateContext, and move functions which need the ParamEnv onto it. 2016-12-20 20:03:32 -07:00
value.rs Inline last remaining use of Callee::call and delete unused code 2016-12-20 20:03:31 -07:00