aboutsummaryrefslogtreecommitdiff
path: root/tools/update_cpu_features.zig
AgeCommit message (Collapse)Author
2023-10-22child_process + Build: rename exec to run + all related codeJan Philipp Hafer
Justification: exec, execv etc are unix concepts and portable version should be called differently. Do no touch non-Zig code. Adjust error names as well, if associated. Closes #5853.
2023-09-19LLVM 17 std lib updates and fixesAndrew Kelley
* some manual fixes to generated CPU features code. in the future it would be nice to make the script do those automatically. I suspect the sm_90a thing is a bug in LLVM. * add liteos to various target OS switches. I know nothing about this OS; someone will need to work specifically on support for this OS when the time comes to support it properly in zig. * while waiting for the compiler, I went ahead and made more conservative choices about when to use `inline` in std/Target.zig
2023-09-19update CPU features to LLVM 17Andrew Kelley
release/17.x branch, commit 8f4dd44097c9ae25dd203d5ac87f3b48f854bba8
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-06-19std: Support user-provided jsonParse method. Unify json.Parser and ↵Josh Wolfe
json.parse* (#15705)
2023-05-23std.sort: add pdqsort and heapsortAli Chraghi
2023-05-13std: Rewrite low-level json api to support streaming (#15602)Josh Wolfe
2023-04-18std.target.riscv: fix baseline_rv32 missing feature "32bit"serg
2023-02-19Merge remote-tracking branch 'origin/master' into llvm16Andrew Kelley
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2023-02-18Merge remote-tracking branch 'origin/master' into llvm16Andrew Kelley
2023-02-04langref, tools: rename --single-threaded to -fsingle-threadedee7
Commit 40f5e5dfc60e ("CLI: introduce -fsingle-threaded/ -fno-single-threaded", 2021-12-01) removed the `--single-threaded` option, but didn't update all mentions of it. $ zig version 0.11.0-dev.1568+c9b957c93 $ zig build-exe --help | grep single -fsingle-threaded Code assumes there is only one thread -fno-single-threaded Code may not assume there is only one thread $ zig build-exe --single-threaded foo.zig error: unrecognized parameter: '--single-threaded'
2023-01-26update CPU features to LLVM 16Andrew Kelley
2022-10-20add m68k target CPU featuresAndrew Kelley
2022-08-02update target CPU features for LLVM 15Andrew Kelley
2022-07-28std: rename std.Target.systemz to .s390xMeghan Denny
2022-07-01update CPU features to LLVM 14Andrew Kelley
Notable changes: `_i386`, `_i486`, and `_i686` are renamed to `i386`, `i486`, and `i686` respectively. `std.zig.fmtId` is enhanced to support formatting `i386` as `@"i386"`. Some CPU features which are actually CPU models have been properly flattened, such as `apple_a12`, `apple_a13`, `apple_a7`, `cortex_a78c`, `exynos_m4`, `neoverse_e1`, `neoverse_n1`, `neoverse_n2`, `neoverse_v1`. Some CPU features have been added and some have been removed, following LLVM's lead. CSky CPU features support is added.
2022-02-08update more API usage of std.ProgressAndrew Kelley
fixes regression introduced in 5a00e249632716b86edac088f69d19d82e307a28
2021-11-30allocgate: renamed getAllocator function to allocatorLee Cannon
2021-11-30allocgate: stage 1 and 2 buildingLee Cannon
2021-11-30allocgate: std Allocator interface refactorLee Cannon
2021-11-30std lib API deprecations for the upcoming 0.9.0 releaseAndrew Kelley
See #3811
2021-10-04migrate from `std.Target.current` to `@import("builtin").target`Andrew Kelley
closes #9388 closes #9321
2021-08-15update target CPU features with LLVM 13 rc1 dataAndrew Kelley
2021-08-12update_cpu_features tool: work around stage1 bugAndrew Kelley
This works around a stage1 compiler bug resulting in a segfault when trying to use the tool.
2021-08-12compiler-rt: do not depend on `usingnamespace`Andrew Kelley
The idea is to depend on this language feature as little as possible with the hopes that it can be adjusted to be less of an anti-pattern. This also helps self-hosted, which does not yet implement `usingnamespace`, get closer to being able to build compiler-rt.
2021-06-30zig fmtkprotty
2021-06-30changes to accomodate std.Thread updatekprotty
2021-06-21fix code broken from previous commitJacob G-W
2021-06-17Fix `lakemont` CpuModel (#9099)d18g
Lakemont has no x86, no MMX, no SSE and no way of handling any fp-math. In theory LLVM is able to implicitly use the soft-float emulation library calls to legalize any such operation but, given Zig's use of many non-standard features, sometimes we hit a weak spot in the X86 codegen backend. Consider this as a work-around for this LLVM problem, fixing the problem in LLVM is not so high in my todo list as the target is pretty niche and Intel axed it in '19. (Commit message by @LemonBoy)
2021-06-13tools: Unbreak many toolsLemonBoy
Many tools were broken after the recent hash-table refactorings, fix them and ensure they won't silently break again.
2021-06-03Breaking hash map changes for 0.8.0Martin Wickham
- hash/eql functions moved into a Context object - *Context functions pass an explicit context - *Adapted functions pass specialized keys and contexts - new getPtr() function returns a pointer to value - remove functions renamed to fetchRemove - new remove functions return bool - removeAssertDiscard deleted, use assert(remove(...)) instead - Keys and values are stored in separate arrays - Entry is now {*K, *V}, the new KV is {K, V} - BufSet/BufMap functions renamed to match other set/map types - fixed iterating-while-modifying bug in src/link/C.zig
2021-05-03std: Add two more ARM CPUs to the known CPU listLemonBoy
Modeled after GCC's description.
2021-04-20target: drop `ppc32` and prefer `ppc`Michael Dusan
- original PR #7949 (incorrectly) patched a generated-file and changes have subsequently been lost/overwritten - fix #7947 in a different way: drop `ppc32` because `ppc` already exists
2021-03-02update to latest std Thread APIAndrew Kelley
2021-02-28tools/update_cpu_features: fix usage()Michael Dusan
2021-02-27update ARM target CPU featuresAndrew Kelley
This completes the process. All target CPU features are now auto-generated by the tools/update_cpu_features.zig script, which contains all the overrides. Invoking this tool against LLVM 12rc2 now produces an empty git diff.
2021-02-27tools/update_cpu_features: add a "flatten" featureAndrew Kelley
and use it to clean up aarch64 target CPU features
2021-02-27tools/update_cpu_features: better patching APIAndrew Kelley
With this change, added & modified cpus & features participate in the same pruning system, and sorting takes into account the zig name, not the pre-modified llvm name. The modified target files in this commit are due to the improved sorting and pruning. The script now fully supports extra cpus & features.
2021-02-27tools/update_cpu_features: consistent naming of neoverse cpusAndrew Kelley
2021-02-27update amdgpu target CPU featuresAndrew Kelley
2021-02-27update RISC-V target CPU featuresAndrew Kelley
2021-02-27tools/update_cpu_features: prune redundant featuresAndrew Kelley
When a CPU feature implies that another one must be present, avoid redundantly specifying the other one.
2021-02-26tools/update_cpu_features: handle ISAs with no featuresAndrew Kelley
These are represented by not having a file for them.
2021-02-26tools/update_cpu_features: branch quota where necessaryAndrew Kelley
also avoid unnecessary escaping of single quotes inside double quoted strings (depends on a master branch commit that will be merged into this branch in a future commit)
2021-02-26introduce tools/update_cpu_features.zigAndrew Kelley
This replaces the previous target cpu features tool, taking advantage of llvm-tblgen --dump-json instead of trying to use python to parse the .td files. This is an initial version that has the basics working, including a simple feature override system, as well as multi-threaded processing. Follow-up commits will do clean ups to make the diff of the newly generated source files against previous versions be as desired.