NAKAMURA Takumi
9ef901972f
CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found.
...
llvm-svn: 142103
2011-10-16 02:54:33 +00:00
NAKAMURA Takumi
3e8c737ac8
autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile.
...
llvm-svn: 142102
2011-10-16 02:54:26 +00:00
NAKAMURA Takumi
5a4f9dc7af
Makefile.rules: Let OPTIONAL_PARALLEL_DIRS accept out-of-tree absolute path.
...
llvm-svn: 142101
2011-10-16 02:54:19 +00:00
NAKAMURA Takumi
6226fbe339
test/Makefile: Inspect $(PROJ_OBJ_ROOT)/tools/clang/Makefile instead of $(PROJ_SRC_ROOT)/tools/clang for "check-all".
...
llvm-svn: 142100
2011-10-16 02:54:14 +00:00
Bill Wendling
47d9e6b496
Add a helper script to create branches and tag release candidates.
...
llvm-svn: 142098
2011-10-16 02:03:18 +00:00
Bill Wendling
8cb937e255
Add a script that helps merge changes into a release branch.
...
llvm-svn: 142097
2011-10-16 01:54:03 +00:00
Craig Topper
dab0c92a4f
Add X86 feature detection support for BMI instructions. Added new cpuid function for accessing leafs with sub leafs specified in ECX. Also added code to keep track of the max cpuid level supported in both basic and extended leaves and qualified the existing cpuid calls and the new call to leaf 7.
...
llvm-svn: 142089
2011-10-16 00:21:51 +00:00
Craig Topper
62e63d9bb9
Add support for X86 blsr, blsmsk, and blsi instructions. Required extra work because these are the first VEX encoded instructions to use the reg field as an opcode extension.
...
llvm-svn: 142082
2011-10-15 20:46:47 +00:00
Nadav Rotem
a623eb2a7d
The CELL backend cannot select patterns for vector trunc-store and shl on v2i64; CellSPU/shift_ops.ll fails when promoting elements.
...
llvm-svn: 142081
2011-10-15 20:05:17 +00:00
Nadav Rotem
6906c738f3
ARM cannot select a pattern for trunc-store v4i8; /ARM/vrev.ll fails when promoting elements.
...
llvm-svn: 142080
2011-10-15 20:03:12 +00:00
Nick Lewycky
a0e18fb857
Fix extra whitespace in comment.
...
llvm-svn: 142079
2011-10-15 19:36:45 +00:00
Nico Weber
bca9567da0
Let this test pass even if 'int' is somewhere in its directory path.
...
On my machine, grep matched:
; ModuleID = '/Volumes/MacintoshHD2/src/chrome-git/src/third_party/llvm/test/Linker/2011-08-18-unique-debug-type.ll'
!9 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
Explicitly filter out the ModuleID line.
llvm-svn: 142077
2011-10-15 18:07:16 +00:00
Benjamin Kramer
2b5e0cc68a
SmallVector -> array
...
llvm-svn: 142073
2011-10-15 13:28:31 +00:00
Duncan Sands
c4a6aaa716
Don't replace all dominated uses if there is only one use, since that
...
use can't be dominated, saving one domtree lookup.
llvm-svn: 142066
2011-10-15 11:13:42 +00:00
Benjamin Kramer
0c20486517
Add a bad char heuristic to StringRef::find.
...
Based on Horspool's simplified version of Boyer-Moore. We use a constant-sized table of
uint8_ts to keep cache thrashing low, needles bigger than 255 bytes are uncommon anyways.
The worst case is still O(n*m) but we do a lot better on the average case now.
llvm-svn: 142061
2011-10-15 10:08:31 +00:00
Nadav Rotem
f20613916b
Move the legalization of vector loads and stores into LegalizeVectorOps. In some
...
cases we need the second type-legalization pass in order to support all cases.
llvm-svn: 142060
2011-10-15 07:41:10 +00:00
Andrew Trick
0ef2965563
Fix SCEVExpander assert during LSR: "argument of incompatible type".
...
Just because we're dealing with a GEP doesn't mean we can assert the
SCEV has a pointer type. The fix is simply to ignore the SCEV pointer
type, which we really didn't need.
Fixes PR11138 webkit crash.
llvm-svn: 142058
2011-10-15 06:19:55 +00:00
NAKAMURA Takumi
f7ee2603c2
Revert r142046, "Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the triple"
...
It extremely breaks builds when optimization is enabled. Twine should not hold temporary objects.
By the way, I might feel sad if I saw "i786-" "i1586-" or "iF86-".
llvm-svn: 142055
2011-10-15 04:29:36 +00:00
Chad Rosier
6e6dd4880b
Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the triple
...
from config.h, it discovers the triple based on the execution environment.
Patch by Aaron Ballman <aaron@aaronballman.com>
llvm-svn: 142046
2011-10-15 02:10:06 +00:00
Bill Wendling
8a448fe1cf
ToT is now for 3.1.
...
llvm-svn: 142044
2011-10-15 02:09:17 +00:00
NAKAMURA Takumi
88ad0d5a50
Windows/Memory.inc: Support the ability to allocate memory "near" another block of memory on Win32. It has fixed FIXME.
...
Thanks to Aaron Ballman!
llvm-svn: 142039
2011-10-15 01:58:16 +00:00
Andrew Trick
7cc89bde59
Fix indvars randomness by removing iteration over a map.
...
I rewrote the algorithm a while back so it doesn't require map lookup,
but neglected to change the data structure. This was caught by
llvm-gcc self host, not because there's anything special about
llvm-gcc, but because it is the only test for nondeterminism we
currently have. Unit tests don't work well for everything; we should
always try to have a nondeterminism stress test running.
Fixes PR11133: llvm-gcc self host .o mismatch after enable-iv-rewrite=false
llvm-svn: 142036
2011-10-15 01:38:14 +00:00
Bill Wendling
0dd89843fc
Clear out the landing pad to call site map for each function.
...
This isn't put into the 'clear()' method because the information needs to stick
around (at least for a little bit) after the selection DAG is built.
llvm-svn: 142032
2011-10-15 01:00:26 +00:00
Jakob Stoklund Olesen
b0f487f367
Mark tADDrSPi as having side effects again.
...
It really doesn't, but when r141929 removed the hasSideEffects flag from
this instruction, it caused miscompilations. I am guessing that it got
moved across a stack pointer update.
Also clear isRematerializable after checking that this instruction is
in fact never rematerialized in the nightly test suite.
llvm-svn: 142030
2011-10-15 00:57:13 +00:00
Douglas Gregor
ff1ba360c7
Mention some of the improvements in Clang 3.0 over 2.9.
...
llvm-svn: 142029
2011-10-15 00:48:01 +00:00
Chad Rosier
42a60003a1
Thumb1 does not support dynamic stack realignment.
...
rdar://10288916 is tracking this fix.
In the past, instcombine and other passes were promoting alloca alignment past
the natural alignment, resulting in dynamic stack realignment. Lang's work now
prevents this from happening (LLVM commit r141599). Now that this really
shouldn't happen report a fatal error rather than silently generate bad code.
llvm-svn: 142028
2011-10-15 00:28:24 +00:00
Bill Wendling
bff30bb463
Mark registers as DEAD because they're really just clobbers.
...
llvm-svn: 142027
2011-10-15 00:27:44 +00:00
Eli Friedman
c8d798d91e
Add missing correctness check to ARMTargetLowering::ReconstructShuffle. Fixes PR11129.
...
llvm-svn: 142022
2011-10-14 23:58:49 +00:00
Bill Wendling
b1bbf0394f
Make sure that the register is in the register class before adding it as a machine op.
...
llvm-svn: 142021
2011-10-14 23:55:44 +00:00
Bill Wendling
4191045be4
Mark the invoke call instruction as implicitly defining the callee-saved registers.
...
The callee-saved registers cannot be live across an invoke call because the
control flow may continue along the exceptional edge. When this happens, all of
the callee-saved registers are no longer valid.
llvm-svn: 142018
2011-10-14 23:34:37 +00:00
Chris Lattner
c24bb1d147
constify array itself, don't iterate multiple times.
...
llvm-svn: 142013
2011-10-14 22:50:21 +00:00
Tanya Lattner
7feda80474
Allow the source module to be materialized during the linking process.
...
llvm-svn: 142010
2011-10-14 22:17:46 +00:00
Owen Anderson
96976108b1
Update test for disabling of code/data marker labels in ELF.
...
llvm-svn: 142003
2011-10-14 21:12:55 +00:00
Richard Trieu
5370a1ef01
Fix a non-firing assert. Change:
...
assert("bad SymbolicOp.VariantKind");
To:
assert(0 && "bad SymbolicOp.VariantKind");
llvm-svn: 142000
2011-10-14 20:50:26 +00:00
Torok Edwin
ab8624db55
OCaml bindings: add some missing functions and testcases.
...
The C bindings exposed some APIs that weren't covered by the OCaml bindings
llvm-svn: 141997
2011-10-14 20:38:33 +00:00
Torok Edwin
562d70c5ec
OCaml bindings: fix attributes to use all 32 bits
...
OCaml's int is limited to 31 bits on 32-bit architectures, so use Int32
explicitly.
Also add an unpack_attr, and {function,param,instr}_attr functions to read
the attributes.
llvm-svn: 141996
2011-10-14 20:38:24 +00:00
Torok Edwin
d75f74a0f2
OCaml bindings: add icmp_predicate
...
llvm-svn: 141995
2011-10-14 20:38:19 +00:00
Torok Edwin
39d89ea3b3
OCaml bindings: fix infinite recursion on string_of_lltype
...
llvm-svn: 141994
2011-10-14 20:38:14 +00:00
Torok Edwin
4beae25e5a
bindings: named struct support
...
llvm-svn: 141993
2011-10-14 20:38:08 +00:00
Torok Edwin
50c1b48b4c
ocaml bindings: add findlib META support
...
This makes it easier to link against LLVM libs, especially if you are using
_oasis.
llvm-svn: 141992
2011-10-14 20:38:02 +00:00
Torok Edwin
5ea77f1df2
ocaml bindings: introduce classify_value
...
llvm-svn: 141991
2011-10-14 20:37:56 +00:00
Torok Edwin
47a6a6a1fc
ocaml bindings: add getopcode for constant and instruction, and int64_of_const.
...
llvm-svn: 141990
2011-10-14 20:37:49 +00:00
Torok Edwin
463c360a11
bindings: tab and indentation fixes of my previous commits
...
llvm-svn: 141989
2011-10-14 20:37:42 +00:00
Evan Cheng
15ab434f80
A few 80-col violations.
...
llvm-svn: 141988
2011-10-14 20:36:23 +00:00
Owen Anderson
8a401b97ea
Disable code/data region symbols on ELF targets, where different mapping symbols are used for ARM/Thumb mode code. This should only be re-enabled once we have a solution to properly distinguish these.
...
llvm-svn: 141984
2011-10-14 20:28:57 +00:00
Hal Finkel
8e97422bd9
Add an implementation of the CanLowerReturn function to the PPC backend
...
llvm-svn: 141981
2011-10-14 19:51:36 +00:00
Akira Hatanaka
e4597ae8c1
Add f128 to datalayout string.
...
llvm-svn: 141978
2011-10-14 19:14:50 +00:00
David Greene
49763ec294
Fix threads/jobs Calculation
...
Pass the correct jobs and threads information to the builder.
We were underutilizing the number of jobs and threads specified
by the user.
llvm-svn: 141977
2011-10-14 19:12:37 +00:00
David Greene
81607c1378
Add Helpful Messages
...
Bit just a bit more verbose about what's going on. Print options
to make to aid debugging.
llvm-svn: 141976
2011-10-14 19:12:35 +00:00
David Greene
082a0faa50
Add Option to Skip Install
...
Add a --no-install option to skip installing components. This
speeds up the develop/test cycle.
llvm-svn: 141975
2011-10-14 19:12:34 +00:00