LLVM backend for 6502
Go to file
Benjamin Kramer f238f50aaf X86: Use btq for bit tests if the immediate can't be encoded in 32 bits.
Before:
	movabsq	$4294967296, %rax       ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]
	testq	%rax, %rdi              ## encoding: [0x48,0x85,0xf8]
	jne	LBB0_2                  ## encoding: [0x75,A]

After:
	btq	$32, %rdi               ## encoding: [0x48,0x0f,0xba,0xe7,0x20]
	jb	LBB0_2                  ## encoding: [0x72,A]

btq is usually slower than testq because it doesn't fuse with the jump, but here we're better off
saving one register and a giant movabsq.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145103 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-23 13:54:17 +00:00
autoconf Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
bindings Minor fixes in Makefiles for the OCaml bindings: 2011-11-09 12:00:39 +00:00
cmake Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
docs x86/windows issues fixed. 2011-11-17 01:42:23 +00:00
examples build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
include Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
lib X86: Use btq for bit tests if the immediate can't be encoded in 32 bits. 2011-11-23 13:54:17 +00:00
projects build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
runtime PathProfiling.c: Get rid of using "inline". We may expect compiler shall optimize out "static" scope w/o "inline". 2011-11-08 12:03:14 +00:00
test X86: Use btq for bit tests if the immediate can't be encoded in 32 bits. 2011-11-23 13:54:17 +00:00
tools Point to libLTO with -L/PATH/ -lLTO so that it is found in the install 2011-11-23 03:07:25 +00:00
unittests Fix Windows build, don't try to #include <pthread.h> when we know it's not 2011-11-14 22:10:23 +00:00
utils Remove some unnecessary filtering checks from X86 disassembler table build. 2011-11-19 05:48:20 +00:00
.gitignore git: Add tools/lldb to the ignore list. 2011-11-10 22:55:50 +00:00
CMakeLists.txt Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).", 2011-11-10 19:59:35 +00:00
configure Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
CREDITS.TXT CREDITS.TXT: Add a line. (test commit) 2011-10-29 23:42:14 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.common
Makefile.config.in build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.rules build/Make: Switch over to using llvm-config-2 for dependencies one more (hopefully last) time, now that it also builds as a build tool. 2011-11-14 17:17:45 +00:00
README.txt Undo test commit 2011-11-22 20:05:48 +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.