aboutsummaryrefslogtreecommitdiff
path: root/src/zig_llvm.cpp
AgeCommit message (Collapse)Author
2017-11-15basic union supportAndrew Kelley
See #144
2017-11-03Add emit command-line option (#580)Marc Tiehuis
Add emit command-line option
2017-10-23remove CXX ABI workaroundAndrew Kelley
the actual solution is you must compile zig with the same compiler that compiled llvm, lld, and clang. reverts 8d60ffe314306e5295fb76338c6391e5fe986dea
2017-10-15clean up some resourcesAndrew Kelley
2017-10-10add module flag to emit CodeView for COFF object filesAndrew Kelley
see #516
2017-09-17add -mllvm supportAndrew Kelley
useful for debugging crashes in llvm optimizer
2017-09-01cleanup whitespaceJosh Wolfe
2017-08-30codegen: all stores specify align valueAndrew Kelley
See #37
2017-08-29introduce align keywordAndrew Kelley
* remove `@setGlobalAlign` * add align keyword for setting alignment on functions and variables. * loads and stores use alignment from pointer * memcpy, memset use alignment from pointer * add syntax for pointer alignment * slices can have volatile * add u2, i2 primitives * ignore preferred align and use abi align everywhere * back to only having alignOf builtin. preferredAlignOf is too tricky to be useful. See #432. Partial revert of e726925e802eddab53cbfd9aacbc5eefe95c356f. See #37
2017-08-26update for llvm 5.0.0rc1Andrew Kelley
2017-08-09more intuitive left shift and right shift operatorsAndrew Kelley
Before: * << is left shift, not allowed to shift 1 bits out * <<% is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out After: * << is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out * @shlExact is left shift, not allowed to shift 1 bits out * @shrExact is right shift, not allowed to shift 1 bits out Closes #413
2017-06-14progress toward windows hello world workingAndrew Kelley
2017-04-30back to AT&T syntax for assemblyAndrew Kelley
this reverts 5c04730534ea7933855429c5fc5dc7b22eba7bc2. sadly the quality of the intel dialect in llvm's assembly parser has many frustrating bugs, and generally has unfortunate syntax. the plan is to use AT&T for now since it at least works, and eventually zig will have its own assembly parser for x86 and it will be as close to NASM as possible.
2017-04-13fix crash when using zig to linkAndrew Kelley
without explicit dynamic linker
2017-04-13ability to inline at function callsiteAndrew Kelley
closes #306
2017-04-11run alwaysinline pass in debug modeAndrew Kelley
before this commit, the optimized IR code that is displayed in --verbose mode is not actually what gets emitted to an object file. that is now corrected, and we make sure to run the alwaysinliner pass even in debug mode, so you can rely on "inline" keyword inlining a function, guaranteed. See #306
2017-03-23use intel dialect for inline assemblyAndrew Kelley
closes #242
2017-03-13use lld instead of system linkerAndrew Kelley
2017-03-10update to llvm 4.0Andrew Kelley
2017-02-06coldcc works betterAndrew Kelley
* Only use Cold Calling Convention on x86 * Add the cold attribute to functions marked with coldcc
2017-02-05tell LLVM the target sub arch typeAndrew Kelley
2017-02-05infer hard float from target environments that imply itAndrew Kelley
2016-09-10rename LLVMZig to ZigLLVMAndrew Kelley
2016-09-04generate debug info for global constantsAndrew Kelley
See #41
2016-09-04port to llvm 3.9Andrew Kelley
2016-05-07add div_exact builtin fnAndrew Kelley
closes #149
2016-05-06add debug safety for left shiftingAndrew Kelley
See #46
2016-05-04add cmpxchg builtin functionAndrew Kelley
2016-04-28better alignment value for stack variablesAndrew Kelley
fixes debug info sometimes not being available for parameters
2016-04-27better parameter codegenAndrew Kelley
* ability to take address of a parameter (closes #97) * debug symbols work for parameters
2016-04-09fix debug symbols regression after llvm 3.8.0Andrew Kelley
2016-03-08update to llvm 3.8.0Andrew Kelley
2016-02-16rename 'environ' to 'env_type'Andrew Kelley
environ appears to clash with another symbol in mingw land
2016-02-12fix build on GCCAndrew Kelley
2016-02-11ability to cross compileAndrew Kelley
hello_libc.zig can produce a windows build
2016-02-10cleanup target data organizationAndrew Kelley
2016-02-10targets command shows which ones are nativeAndrew Kelley
2016-02-10add "targets" command to list architectures, oses, abisAndrew Kelley
2016-02-05Added code for generating nonnull attributesrealazthat
2016-02-04fix debug info for bool typeAndrew Kelley
2016-02-03fix debug info for arrays being 1 element too shortAndrew Kelley
2016-01-31parseh: correct debug for forward declsAndrew Kelley
also C typedefs emit simply `const Foo = Bar;` since in C you can implicitly cast from a typedef child to parent but in zig you can't.
2016-01-18add function pointer supportAndrew Kelley
See #14
2016-01-18pave the road for function pointersAndrew Kelley
See #14
2016-01-15solve the mystery of undefined reference errorAndrew Kelley
big surprise, C++ is to blame
2016-01-11resolve enum types and emit debug infoAndrew Kelley
2016-01-02codegen: emit debug metadata for parametersAndrew Kelley
2015-12-16structs have debug informationAndrew Kelley
2015-12-12prepare codebase for struct and string supportAndrew Kelley
parsing code for structs, strings, and c string literals partial semantic analyzing code for structs, strings, and c string literals
2015-12-08codegen does signed, unsigned, and floating point mathAndrew Kelley