Andrew Kelley a5fb28070f add -femit-llvm-bc CLI option and implement it
* Added doc comments for `std.Target.ObjectFormat` enum
 * `std.Target.oFileExt` is removed because it is incorrect for Plan-9
   targets. Instead, use `std.Target.ObjectFormat.fileExt` and pass a
   CPU architecture.
 * Added `Compilation.Directory.joinZ` for when a null byte is desired.
 * Improvements to `Compilation.create` logic for computing `use_llvm`
   and reporting errors in contradictory flags. `-femit-llvm-ir` and
   `-femit-llvm-bc` will now imply `-fLLVM`.
 * Fix compilation when passing `.bc` files on the command line.
 * Improvements to the stage2 LLVM backend:
   - cleaned up error messages and error reporting. Properly bubble up
     some errors rather than dumping to stderr; others turn into panics.
   - properly call ZigLLVMCreateTargetMachine and
     ZigLLVMTargetMachineEmitToFile and implement calculation of the
     respective parameters (cpu features, code model, abi name, lto,
     tsan, etc).
   - LLVM module verification only runs in debug builds of the compiler
   - use LLVMDumpModule rather than printToString because in the case
     that we incorrectly pass a null pointer to LLVM it may crash during
     dumping the module and having it partially printed is helpful in
     this case.
   - support -femit-asm, -fno-emit-bin, -femit-llvm-ir, -femit-llvm-bc
   - Support LLVM backend when used with Mach-O and WASM linkers.
2021-07-22 19:51:32 -07:00
..
2021-06-30 21:49:00 -05:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-04 16:15:23 +02:00
2021-07-08 14:30:45 -04:00
2021-06-17 16:37:38 -04:00
2020-12-31 15:45:24 -08:00
2021-06-30 21:49:38 -05:00
2020-12-31 15:45:24 -08:00
2021-06-21 17:03:03 -07:00
2021-06-30 21:49:00 -05:00
2021-05-08 15:15:30 +03:00
2021-07-08 14:30:45 -04:00
2020-12-31 15:45:24 -08:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2020-12-31 15:45:24 -08:00
2021-05-08 15:15:30 +03:00
2020-12-31 15:45:24 -08:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-19 12:55:05 +03:00
2021-06-10 20:13:43 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-20 10:22:06 +02:00
2021-06-21 17:03:03 -07:00
2021-07-08 14:30:45 -04:00
2021-06-21 17:03:03 -07:00
2021-07-11 01:58:26 -04:00
2021-05-08 15:15:30 +03:00
2021-07-15 20:37:16 +03:00
2021-05-08 15:15:30 +03:00