Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
Chris Lattner a34b3cf953 X86 supports i8/i16 overflow ops (except i8 multiplies), we should
generate them.  

Now we compile:

define zeroext i8 @X(i8 signext %a, i8 signext %b) nounwind ssp {
entry:
  %0 = tail call %0 @llvm.sadd.with.overflow.i8(i8 %a, i8 %b)
  %cmp = extractvalue %0 %0, 1
  br i1 %cmp, label %if.then, label %if.end

into:

_X:                                     ## @X
## BB#0:                                ## %entry
	subl	$12, %esp
	movb	16(%esp), %al
	addb	20(%esp), %al
	jo	LBB0_2

Before we were generating:

_X:                                     ## @X
## BB#0:                                ## %entry
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	movb	12(%ebp), %al
	testb	%al, %al
	setge	%cl
	movb	8(%ebp), %dl
	testb	%dl, %dl
	setge	%ah
	cmpb	%cl, %ah
	sete	%cl
	addb	%al, %dl
	testb	%dl, %dl
	setge	%al
	cmpb	%al, %ah
	setne	%al
	andb	%cl, %al
	testb	%al, %al
	jne	LBB0_2




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122186 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-19 20:03:11 +00:00
autoconf Use GZIPBIN instead of GZIP. Apparently gzip uses GZIP as an environment 2010-12-10 01:31:51 +00:00
bindings Try to fix ocaml bindings. 2010-10-08 00:36:21 +00:00
cmake Reverting commit to LLVMLibDeps that was inadvertently done in 121649. 2010-12-12 22:28:51 +00:00
docs Fix a typo that Bill spotted. 2010-12-15 23:09:41 +00:00
examples Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. Thanks 2010-11-16 17:28:22 +00:00
include add a version of IRBuilder::SetInsertPoint that takes an instruction. 2010-12-19 19:16:22 +00:00
lib X86 supports i8/i16 overflow ops (except i8 multiplies), we should 2010-12-19 20:03:11 +00:00
projects Regen configure 2010-12-12 21:42:01 +00:00
runtime Rename 'libprofile/exported_symbols.lst' to 'libprofile/libprofile.exports'. 2010-09-03 15:42:45 +00:00
test X86 supports i8/i16 overflow ops (except i8 multiplies), we should 2010-12-19 20:03:11 +00:00
tools Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
unittests Add more checks to IntervalMapOverlaps::advance() to ensure that advanceTo sees 2010-12-17 22:07:54 +00:00
utils Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
.gitignore Cleanup and document .gitignore. 2010-12-17 17:22:50 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Cleanup and document MSVC warning flags. 2010-12-18 00:18:58 +00:00
configure Use GZIPBIN instead of GZIP. Apparently gzip uses GZIP as an environment 2010-12-10 01:31:51 +00:00
CREDITS.TXT Another git svn dcommit test. This time let's hope it doesn't kill my repo. 2010-12-10 14:45:10 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Use GZIPBIN instead of GZIP. Apparently gzip uses GZIP as an environment 2010-12-10 01:31:51 +00:00
Makefile.rules build: Shared libraries shouldn't used RPATH on Darwin, only main executables 2010-12-08 02:29:26 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt Undoing test commit blank space. 2010-09-29 17:39:29 +00:00

\Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.