Daniel Dunbar
5423b497ab
More correct fix for CMake breakage I was seeing, my buildbots use
...
LLVM_INCLUDE_TESTS:=OFF, which may no longer be necessary for all I know.
llvm-svn: 125985
2011-02-18 22:55:32 +00:00
Devang Patel
b7ae3ccb84
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs.
...
This time with a fix that avoids using invalidated DenseMap iterator.
llvm-svn: 125984
2011-02-18 22:43:42 +00:00
Ted Kremenek
dcc45f6ec1
Update text for where to file analyzer bugs.
...
llvm-svn: 125983
2011-02-18 22:42:04 +00:00
Fariborz Jahanian
0dcb2a0d99
Test case for // rdar://8850818
...
llvm-svn: 125982
2011-02-18 22:37:54 +00:00
Chris Lattner
7e5d8aa6f9
Now that -loop-idiom uses TargetLibraryInfo properly, it doesn't
...
need to be pulled out of the pass manager when the user specifies
-fno-builtin. It can intelligently determine which libcalls to
optimize based on what is enabled in TargetLibraryInfo. This
allows -fno-builtin-foo to work someday.
llvm-svn: 125981
2011-02-18 22:36:36 +00:00
Jakob Stoklund Olesen
4376d67b6f
Use VirtRegMap's Virt2SplitMap to keep track of the original live range before splitting.
...
All new virtual registers created for spilling or splitting point back to their original.
llvm-svn: 125980
2011-02-18 22:35:20 +00:00
Chris Lattner
fa222dfbed
If -fno-builtin is passed, tell TargetLibraryInfo to
...
turn off all builtin optimizations.
llvm-svn: 125979
2011-02-18 22:34:47 +00:00
Chris Lattner
1341df93f7
add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.
...
llvm-svn: 125978
2011-02-18 22:34:03 +00:00
Douglas Gregor
af2a6ae429
Selector::getIdentifierInfoForSlot() can return NULL values, a fact
...
that was ignored in a few places (most notably, code
completion). Introduce Selector::getNameForSlot() for the common case
where we only care about the name. Audit all uses of
getIdentifierInfoForSlot(), switching many over to getNameForSlot(),
fixing a few crashers.
Fixed <rdar://problem/8939352>, a code-completion crasher.
llvm-svn: 125977
2011-02-18 22:29:55 +00:00
Daniel Dunbar
7ba92d716a
Unbreak CMake build on MSVC9, chapuni please check.
...
Without this I get:
--
-- Generating done
CMake Error: Unknown Target referenced : check.deps
CMake Error: Target: check-all depends on unknown target: check.deps
--
llvm-svn: 125976
2011-02-18 22:24:23 +00:00
Caroline Tice
27d1032b60
Add code to emulate LDRB (literal) Arm instruction.
...
llvm-svn: 125975
2011-02-18 22:24:22 +00:00
Chris Lattner
e6b261fec5
Make loop-idiom use TargetLibraryInfo to determine whether it is allowed
...
to hack on memset, memcpy etc.
llvm-svn: 125974
2011-02-18 22:22:15 +00:00
Chris Lattner
d38801cac6
add memset and memcpy, though they are always available for now.
...
llvm-svn: 125973
2011-02-18 22:21:24 +00:00
Chris Lattner
af3c0e0ecd
rearrange some comments, no functionality change.
...
llvm-svn: 125972
2011-02-18 22:21:07 +00:00
Chris Lattner
d98cec5ca2
install a TargetLibraryInfo configured with the appropriate
...
target triple. This would be a decent place to add -fno-builtin
info for example.
llvm-svn: 125971
2011-02-18 22:20:38 +00:00
Chris Lattner
15c8b5ef8b
Have opt set up a specific TargetLibraryInfo for modules
...
with a triple.
llvm-svn: 125970
2011-02-18 22:13:01 +00:00
Oscar Fuentes
09514f1955
CMake: updated list of tblgen source files.
...
llvm-svn: 125969
2011-02-18 22:06:23 +00:00
Oscar Fuentes
5ed962656c
Move library stuff out of the toplevel CMakeLists.txt file.
...
llvm-svn: 125968
2011-02-18 22:06:14 +00:00
Jakob Stoklund Olesen
5bfec69b1d
Add VirtRegMap::rewrite() and use it in the new register allocators.
...
The rewriter works almost identically to -rewriter=trivial, except it also
eliminates any identity copies.
This makes the new register allocators independent of VirtRegRewriter.cpp which
will be going away at the same time as RegAllocLinearScan.
llvm-svn: 125967
2011-02-18 22:03:18 +00:00
Owen Anderson
4e81890d36
Add FixedLenDecoderEmitter, the skeleton of a new disassembler emitter for fixed-length instruction encodings.
...
A major part of its (eventual) goal is to support a much cleaner separation between disassembly callbacks
provided by the target and the disassembler emitter itself, i.e. not requiring hardcoding of knowledge in tblgen
like the existing disassembly emitters do.
The hope is that some day this will allow us to replace the existing non-Thumb ARM disassembler and remove
some of the hacks the old one introduced to tblgen.
llvm-svn: 125966
2011-02-18 21:51:29 +00:00
Chris Lattner
0e125bb4d0
introduce a new TargetLibraryInfo pass, which transformations can use to
...
query about available library functions. For now this just has
memset_pattern16, which exists on darwin, but it can be extended for a
bunch of other things in the future.
llvm-svn: 125965
2011-02-18 21:50:34 +00:00
Owen Anderson
d2f7431fa8
Revert r125956, which broke the build if you _don't_ have lldb checked out.
...
llvm-svn: 125964
2011-02-18 21:33:23 +00:00
Argyrios Kyrtzidis
ec016464ca
[analyzer] Fix crash when analyzing C++ code.
...
llvm-svn: 125963
2011-02-18 21:24:56 +00:00
Chris Lattner
9ba479bd2c
fix rdar://9024687, a crash on invalid that we used to silently ignore.
...
llvm-svn: 125962
2011-02-18 21:16:39 +00:00
Johnny Chen
d1fd6963f5
Add emulation methods for "ADC (immediate)" and "ADC (register)".
...
Plus add a helper method ReadCoreReg(uint32_t regnum, bool *success) to simplify
coding a bit.
llvm-svn: 125961
2011-02-18 21:13:05 +00:00
Bill Wendling
8fbe09f160
Reapply r114997 now that the buildbots have been updated.
...
llvm-svn: 125960
2011-02-18 21:12:58 +00:00
Caroline Tice
489517c4a4
Add code to emulate LDRB (immediate, Thumb) instruction.
...
llvm-svn: 125959
2011-02-18 21:06:04 +00:00
Argyrios Kyrtzidis
32d1040519
[analyzer] Fix a crash when analyzing C++ code.
...
llvm-svn: 125958
2011-02-18 20:55:19 +00:00
Argyrios Kyrtzidis
1bdd68871e
Introduce ASTContext::getLogicalOperationType() to return bool or int, depending on language.
...
No functionality change.
llvm-svn: 125957
2011-02-18 20:55:15 +00:00
Stephen Wilson
880a6129e2
This patch lets LLDB build as an LLVM subproject. LLDB is not built in
...
parallel with the rest of the tools directory as it depends on Clang.
llvm-svn: 125956
2011-02-18 20:50:33 +00:00
Bruno Cardoso Lopes
cdd20affec
Fix style and a typo
...
llvm-svn: 125949
2011-02-18 19:49:06 +00:00
Bruno Cardoso Lopes
9cd43977c3
Add assembly parsing support for "msr" and also fix its encoding. Also add
...
testcases for the disassembler to make sure it still works for "msr".
llvm-svn: 125948
2011-02-18 19:45:59 +00:00
Johnny Chen
faba5dd4ae
Add emulation methods for "AND (immediate)" and "AND (register)".
...
Plus add macro definitions for APSR_C and APSR_V to simplify code.
llvm-svn: 125947
2011-02-18 19:32:20 +00:00
Fariborz Jahanian
302a3d4e4d
Objective-c armv7 API for atomic properties of
...
scalar types. // rdar://7761305
llvm-svn: 125946
2011-02-18 19:15:13 +00:00
Caroline Tice
a1bf8db478
Add code to emulate LDR (register) Arm instruction.
...
llvm-svn: 125945
2011-02-18 18:52:37 +00:00
Chris Lattner
0ddd0ae50e
accept and ignore a few things for better OpenBSD compatibility,
...
patch by Amit Kulkarni!
llvm-svn: 125944
2011-02-18 17:05:55 +00:00
Chris Lattner
c37910ea28
improve support for OpenBSD, patch by Amit Kulkarni!
...
llvm-svn: 125943
2011-02-18 17:04:56 +00:00
Rafael Espindola
7c0cb2bbf5
Expose getTypeName to the C API. Patch by Patrick Walton.
...
llvm-svn: 125845
2011-02-18 16:35:37 +00:00
Duncan Sands
84653b3674
Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is no
...
overflow. These subsume some existing equality transforms, so zap those.
llvm-svn: 125843
2011-02-18 16:25:37 +00:00
Benjamin Kramer
bb53b9663b
The objectsize intrinsic doesn't access any memory.
...
llvm-svn: 125842
2011-02-18 16:11:40 +00:00
NAKAMURA Takumi
dba4ed3502
[Heikki Kultala] This patch contains the ABI changes for the TCE target.
...
TCE target has some too strict alignment rules (that the HW really does not require, but which caused problems elsewhere) for data types and an ABI change was decided.
llvm-svn: 125833
2011-02-18 08:44:38 +00:00
Chris Lattner
0281731cc2
add a poor division by constant case.
...
llvm-svn: 125832
2011-02-18 05:35:49 +00:00
Chris Lattner
6b88c76f13
add a testcase for r125827
...
llvm-svn: 125831
2011-02-18 05:05:01 +00:00
Cameron Zwarich
0a1a36dc46
Roll out r125794 to help diagnose the llvm-gcc-i386-linux-selfhost failure.
...
llvm-svn: 125830
2011-02-18 04:58:10 +00:00
Chris Lattner
1a924e770a
prevent jump threading from merging blocks when their address is
...
taken (and used!). This prevents merging the blocks (invalidating
the block addresses) in a case like this:
#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; })
void foo() {
printf("%p\n", _THIS_IP_);
printf("%p\n", _THIS_IP_);
printf("%p\n", _THIS_IP_);
}
which fixes PR4151.
llvm-svn: 125829
2011-02-18 04:43:06 +00:00
Chris Lattner
8488640da7
hoist GlobalValue::removeDeadConstantUsers up to being a method on Constant.
...
llvm-svn: 125828
2011-02-18 04:41:42 +00:00
Chris Lattner
4a14fbc50c
Don't unroll loops whose header block's address is taken.
...
This is part of a futile attempt to not "break" bizzaro
code like this:
l1:
printf("l1: %p\n", &&l1);
++x;
if( x < 3 ) goto l1;
Previously we'd fold &&l1 to 1, which is fine per our semantics
but not helpful to the user.
llvm-svn: 125827
2011-02-18 04:25:21 +00:00
Chris Lattner
c4ef61af9a
we now support __label__
...
llvm-svn: 125826
2011-02-18 04:12:08 +00:00
Douglas Gregor
b327eac117
Implement C++0x [expr.static.cast]p9, which permits explicitly casting
...
a scoped enumeration type to an integral or floating type,
properly. There was an over-eager assertion, and it was missing the
floating-point case.
Fixes PR9107/<rdar://problem/8937402>.
llvm-svn: 125825
2011-02-18 03:01:41 +00:00
Peter Collingbourne
53049153cf
Make -disable-simplify-libcalls work with -std-compile-opts
...
llvm-svn: 125824
2011-02-18 02:59:21 +00:00