language and compiler written on top of LLVM, intended for producing
single-address-space managed code operating systems that
run faster than the equivalent multiple-address-space C systems.
-More in-depth blurb is available on <a
-href="http://www.quokforge.org/projects/horizon/wiki/Wiki">the wiki</a>.</p>
+More in-depth blurb is available on the <a
+href="http://www.quokforge.org/projects/horizon/wiki/Wiki">wiki</a>.</p>
</div>
href="http://vrt-sourcefire.blogspot.com/2010/09/introduction-to-clamavs-low-level.html">bytecode
signatures</a> that allow writing detections for complex malware. It
uses LLVM's JIT to speed up the execution of bytecode on
-X86,X86-64,PPC32/64, falling back to its own interpreter otherwise.
-The git version was updated to work with LLVM 2.8
+X86, X86-64, PPC32/64, falling back to its own interpreter otherwise.
+The git version was updated to work with LLVM 2.8.
</p>
<p>The <a
<a href="http://tm.inf.tu-dresden.de">DTMC</a> provides support for
Transactional Memory, which is an easy-to-use and efficient way to synchronize
accesses to shared memory. Transactions can contain normal C/C++ code (e.g.,
-__transaction { list.remove(x); x.refCount--; }) and will be executed
+<code>__transaction { list.remove(x); x.refCount--; }</code>) and will be executed
virtually atomically and isolated from other transactions.</p>
</div>
<ul>
<li>The X86 backend now supports holding X87 floating point stack values
in registers across basic blocks, dramatically improving performance of code
- that uses long double, and when targetting CPUs that don't support SSE.</li>
+ that uses long double, and when targeting CPUs that don't support SSE.</li>
<li>The X86 backend now uses a SSEDomainFix pass to optimize SSE operations. On
Nehalem ("Core i7") and newer CPUs there is a 2 cycle latency penalty on
<li>When printing .s files in verbose assembly mode (the default for clang -S),
the X86 backend now decodes X86 shuffle instructions and prints human
- readable comments after the most inscrutible of them, e.g.:
+ readable comments after the most inscrutable of them, e.g.:
<pre>
insertps $113, %xmm3, %xmm0 <i># xmm0 = zero,xmm0[1,2],xmm3[1]</i>
</li>
<li>
The llvm.arm.neon.vabdl and llvm.arm.neon.vabal intrinsics (lengthening
- vector absolute difference with and without accumlation) have been removed.
+ vector absolute difference with and without accumulation) have been removed.
They are represented using the llvm.arm.neon.vabd intrinsic (vector absolute
difference) followed by a vector zero-extend operation, and for vabal,
a vector add.
operands are now address-space qualified.
If you were creating these intrinsic calls and prototypes yourself (as opposed
to using Intrinsic::getDeclaration), you can use
- UpgradeIntrinsicFunction/UpgradeIntrinsicCall to be portable accross releases.
+ UpgradeIntrinsicFunction/UpgradeIntrinsicCall to be portable across releases.
</li>
<li>
SetCurrentDebugLocation takes a DebugLoc now instead of a MDNode.