aboutsummaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2013-08-14Updating the developer's guide with additional PNaCl information.Eli Bendersky
I don't think this specific format will be what we eventually "ship" to the NaCl documentation website, but it's useful to have a placeholder to add things to. For example, information like language and library versions supported, preprocessor macros and so on. We will have to document these at some point. Feel free to suggest additional such things that need to be documented (here or in subsequent CLs). BUG=None R=jvoung@chromium.org Review URL: https://codereview.chromium.org/23105006
2013-08-06Rework PNaCl memory orderingJF Bastien
This CL reworks memory ordering as specified by PNaCl. The documentation needed some clarification, and the implementation needs a bit more work around volatile and __sync_synchronize to offer stronger guarantees than what LLVM intends to offer for legacy code. There is a companion patch with Clang changes: https://codereview.chromium.org/22294002 R=eliben@chromium.org TEST= ninja check-all BUG= https://code.google.com/p/nativeclient/issues/detail?id=3475 Review URL: https://codereview.chromium.org/22240002
2013-08-01Add Intrinsic::nacl_atomic_is_lock_freeJF Bastien
This is part of a bigger CL to fix C++11 in PNaCl, to commit in the following order: - https://codereview.chromium.org/20552002 - https://codereview.chromium.org/20554002 - https://codereview.chromium.org/20560002 - https://codereview.chromium.org/20561002 This should be the last PNaCl ABI change for C11/C+11 atomic support. Note that Clang already has a builtin for lock-free, but it's partly resolved by Clang's ExprConstant.cpp and CGBuiltin.cpp, whereas what we want is a call that becomes a constant at translation-time. I made the translation part fairly general so it's easy to support architectures where ``true`` isn't always the right answer. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3475 TEST= ./scons run_synchronization_cpp11_test --verbose bitcode=1 platform=x86-64 TEST= ninja check-all R=dschuff@chromium.org Review URL: https://codereview.chromium.org/20554002
2013-07-30Rewrite ``asm("":::"memory")`` to ``fence seq_cst``JF Bastien
This is often used as a compiler barrier and should "just work" in user code. BUG= https://code.google.com/p/nativeclient/issues/detail?id=2345 R=eliben@chromium.org TEST= (cd ./pnacl/build/llvm_x86_64 && ninja check-all) Review URL: https://codereview.chromium.org/21178002
2013-07-30Move alloca into subsection for better formatting.Eli Bendersky
BUG=None R=sehr@chromium.org Review URL: https://codereview.chromium.org/21069006
2013-07-30Clarify that externally_initialized is not supported.Eli Bendersky
BUG= R=sehr@chromium.org Review URL: https://codereview.chromium.org/21046009
2013-07-30Describe NaCl-specific intrinsics.Eli Bendersky
BUG=None R=jfb@chromium.org Review URL: https://codereview.chromium.org/21162002
2013-07-29Beginnings of a "PNaCl Developer's Guide".Eli Bendersky
The first piece of contents is the atomic/memory model "notes" - currently cruderly ripped out of PNaClLangRef.rst and replaced with links. BUG=None R=jfb@chromium.org Review URL: https://codereview.chromium.org/21089005
2013-07-29Fix formatting and remove TODO in PNaClLangRef.rstEli Bendersky
BUG=None R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/21011005
2013-07-29Updating the PNaCl reference manual to be in line with ABI verifierEli Bendersky
BUG=None R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/20862002
2013-07-18Merge remote-tracking branch 'origin/master'Eli Bendersky
2013-07-15Merge commit '7dfcb84fc16b3bf6b2379713b53090757f0a45f9'Eli Bendersky
Conflicts: docs/LangRef.rst include/llvm/CodeGen/CallingConvLower.h include/llvm/IRReader/IRReader.h include/llvm/Target/TargetMachine.h lib/CodeGen/CallingConvLower.cpp lib/IRReader/IRReader.cpp lib/IRReader/LLVMBuild.txt lib/IRReader/Makefile lib/LLVMBuild.txt lib/Makefile lib/Support/MemoryBuffer.cpp lib/Support/Unix/PathV2.inc lib/Target/ARM/ARMBaseInstrInfo.cpp lib/Target/ARM/ARMISelLowering.cpp lib/Target/ARM/ARMInstrInfo.td lib/Target/ARM/ARMSubtarget.cpp lib/Target/ARM/ARMTargetMachine.cpp lib/Target/Mips/CMakeLists.txt lib/Target/Mips/MipsDelaySlotFiller.cpp lib/Target/Mips/MipsISelLowering.cpp lib/Target/Mips/MipsInstrInfo.td lib/Target/Mips/MipsSubtarget.cpp lib/Target/Mips/MipsSubtarget.h lib/Target/X86/X86FastISel.cpp lib/Target/X86/X86ISelDAGToDAG.cpp lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86InstrControl.td lib/Target/X86/X86InstrFormats.td lib/Transforms/IPO/ExtractGV.cpp lib/Transforms/InstCombine/InstCombineCompares.cpp lib/Transforms/Utils/SimplifyLibCalls.cpp test/CodeGen/X86/fast-isel-divrem.ll test/MC/ARM/data-in-code.ll tools/Makefile tools/llvm-extract/llvm-extract.cpp tools/llvm-link/CMakeLists.txt tools/opt/CMakeLists.txt tools/opt/LLVMBuild.txt tools/opt/Makefile tools/opt/opt.cpp
2013-07-13Concurrency support for PNaCl ABIJF Bastien
Add portable support for concurrency in PNaCl's ABI: - Promote volatile to atomic. - Promote all memory ordering to sequential consistency. - Rewrite all atomic operations to frozen NaCl intrinsics for pexe. - Rewrite atomic intrinsics to LLVM instructions for translation. This change also adds documentation to the PNaCl language reference, as well as tests where it makes sense. A future CL could clean up more of our code which mentions atomics, volatiles, memory orderings. Multiple reviewers because this is a big patch: - eliben: LLVM-fu and ResolvePNaClIntrinsics. - dschuff: ABI stability. - mseaborn: ABI stability. - sehr: Tron-duty (fight for the user's programs to work). BUG= https://code.google.com/p/nativeclient/issues/detail?id=3475 R=dschuff@chromium.org, eliben@chromium.org, sehr@google.com TEST= (cd ./pnacl/build/llvm_x86_64; ninja check-all) && ./pnacl/test.sh test-x86-32 && ./pnacl/test.sh test-x86-64 && ./pnacl/test.sh test-arm && ./pnacl/test.sh test-x86-32-sbtc && ./pnacl/test.sh test-x86-64-sbtc && ./pnacl/test.sh test-arm-sbtc Review URL: https://codereview.chromium.org/17777004
2013-07-02Move LLVM sqrt intrinsic to stable (for float and doubles).Jan Voung
On the hardware that we support, they are implemented by instructions and have consistent behavior for -0.0, values less than -0.0, infinity, and nan. We will need to be careful to guarantee the same behavior for untested hardware. TEST=run_llvm_math_intrinsics_test BUG=http://code.google.com/p/nativeclient/issues/detail?id=3378 R=jfb@chromium.org, mseaborn@chromium.org Review URL: https://codereview.chromium.org/18559005
2013-07-02Tweak the PNaClLangRef doc with some recent changesEli Bendersky
BUG=None R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/18543004
2013-06-28Move stacksave/restore to allowed list, pow to disallowed.Jan Voung
The stacksave/restore intrinsics are covered by "run_vla_test", tests in GCC torture testsuite, and basic llvm lit tests (mostly related to debug info...). The pow intrinsic is no longer needed after Eli's change to Clang, and pow is done purely in libm (even with -fno-math-errno). BUG=http://code.google.com/p/nativeclient/issues/detail?id=3378 R=eliben@chromium.org, jfb@chromium.org, mseaborn@chromium.org Review URL: https://codereview.chromium.org/18180002
2013-06-24Clarify PNaClLangRef w.r.t. function attributes or varargsEli Bendersky
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3338 BUG=https://code.google.com/p/nativeclient/issues/detail?id=3415 R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/17633003
2013-06-24PNaCl ABI: Disallow built-in multiplication in "alloca" instructionsMark Seaborn
Simplify the set of "alloca" instructions the ABI verifier allows. Before this change, we used i8 arrays, such as: alloca [8 x i8] After this change, we will just use i8 with an explicit size value, so that becomes: alloca i8, i32 8 Allocation of variable-length arrays will require an explicit multiply instruction. This means that the code generator no longer has to handle an implicit multiplication in "alloca", reducing the burden on fast-and-simple code generators a little. This means the PNaCl ABI doesn't need to specify whether alloca's implicit multiplication checks for overflow. This doesn't affect what the backend generates. See lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp, which handles constant-size AllocaInsts (by filling out StaticAllocaMap) and which is uses for both -O2 (SelectionDAG) and -O0 (FastISel) translation. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3343 TEST=*.ll tests + PNaCl toolchain trybots Review URL: https://codereview.chromium.org/17631004
2013-06-24Move i32/i64 cttz, ctlz, and ctpop to whitelisted intrinsics.Jan Voung
Disallow the other input types. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3378 R=jfb@chromium.org Review URL: https://codereview.chromium.org/17613002
2013-06-21Update LangRef.rst to the 3.3 version and add PnaclRef.rstEli Bendersky
PnaclRef.rst is an initial reference manual for PNaCl bitcode. It's using the same documentation system to build as the other LLVM .rst docs and has multiple links into relevant sections of LangRef. BUG=None R=jvoung@chromium.org Review URL: https://codereview.chromium.org/17463004
2013-06-07Updated the links in the LLDB 3.3 sub-project (now 3.3 links) to fix the 3.4 ↵Ashok Thirumurthi
merge from trunk. - Also split out a section on build portability and updated the list of features and improvements. --- This now reflects the up-coming merge of patches from trunk into the release_33 branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183554 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07Add blurb for PowerPC.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183500 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06Release notes for dragonegg.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183396 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06Add missing space.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183386 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-04Update release notes for mips.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183249 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-04Update the release notes for the 3.3 release.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183207 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-08Merge of r181431Richard Sandiford
Add SystemZ feats to CodeGenerator.rst git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@181432 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-08Merge of r181328Richard Sandiford
Mention SystemZ in the release notes git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@181427 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-06Implemented public interface for modifying registered (not positional or ↵Andrew Trick
sink options) command line options at runtime. Patch by Dan Liew! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181254 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-06Support command line option categories.Andrew Trick
Patch by Dan Liew! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181253 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-06[SystemZ] Add configure bitsUlrich Weigand
This patch wires up the SystemZ target in configure, so that it can now be built using --enable-targets=systemz. It is not yet included in the default build (--enable-targets=all); this will be done by a follow-up patch. Patch by Richard Sandiford. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181208 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-05[docs] Update Target Feature Matrix for the XCore backend.Richard Osborne
Disassembler support has recently been added. Fill in some other unknowns at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181156 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-03Revert r181009.Amara Emerson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181079 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-03Remove comment that no target supports 128-bit IEEE floatsRichard Sandiford
The soon-to-be-committed SystemZ port uses 128-bit IEEE floats. MIPS64 GNU/Linux does too (albeit with unusual NaNs). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181016 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-03Add support for reading ARM ELF build attributes.Amara Emerson
Build attribute sections can now be read if they exist via ELFObjectFile, and the llvm-readobj tool has been extended with an option to dump this information if requested. Regression tests are also included which exercise these features. Also update the docs with a fixed ARM ABI link and a new link to the Addenda which provides the build attributes specification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181009 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-03Added pocl and TCE blurbs to the ReleaseNotes.Pekka Jaaskelainen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181001 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-02Added table of contents declaration in CommandLine Library documentation.Tobias Grosser
Contributed-by: Dan Liew <daniel.liew@imperial.ac.uk> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180919 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-01Updating the getting started guide for Visual Studio users. Specifically, ↵Aaron Ballman
pointing out that you have to pass additional parameters to llvm-lit and explicitly specify python on the command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180869 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-01Fix spellingNikola Smiljanic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180843 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-30Update the release notes about the min/max reductions that Arnold added.Nadav Rotem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180805 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-27Documentation: end option description with a periodDmitri Gribenko
Patch by Dimitry Andric. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180675 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-26Updated GettingStarted.rst so that it references utils/git-svn for git-svnup ↵Michael Gottesman
instead of catting it into the documentation itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180589 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-23Add basic zlib support to LLVM. This would allow to use ↵Alexey Samsonov
compression/uncompression in selected LLVM tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180083 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Document the -filetype option of llc (PR #12902)Eli Bendersky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180031 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Clarify that llvm.used can contain aliases.Rafael Espindola
Also add a check for llvm.used in the verifier and simplify clients now that they can assume they have a ConstantArray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180019 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Add CodeGen support for functions that always return arguments via a new ↵Stephen Lin
parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179925 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18Fix grammar in LLVMBuild.rstEli Bendersky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179768 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18Fixes to LangRef.rst: incorrect attributes syntax and misplaced 'nobuiltin'Eli Bendersky
Patch by Stephen Lin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179763 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-17More consistent formatting and tidying-upEli Bendersky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179716 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-17Make formatting more consistent and tidy-up.Eli Bendersky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179689 91177308-0d34-0410-b5e6-96231b3b80d8