Eric Christopher
27d54d9d3b
Add support for an i8* type accessor.
...
llvm-svn: 97841
2010-03-05 22:21:58 +00:00
Douglas Gregor
7829362620
The Windows build is just too weird; there's no real cost to doing the concurrency checks for ASTUnit in all builds
...
llvm-svn: 97840
2010-03-05 22:19:41 +00:00
Jakob Stoklund Olesen
2664d295cb
Better handling of dead super registers in LiveVariables. We used to do this:
...
CALL ... %RAX<imp-def>
... [not using %RAX]
%EAX = ..., %RAX<imp-use, kill>
RET %EAX<imp-use,kill>
Now we do this:
CALL ... %RAX<imp-def, dead>
... [not using %RAX]
%EAX = ...
RET %EAX<imp-use,kill>
By not artificially keeping %RAX alive, we lower register pressure a bit.
The correct number of instructions for 2008-08-05-SpillerBug.ll is obviously
55, anybody can see that. Sheesh.
llvm-svn: 97838
2010-03-05 21:49:17 +00:00
Jakob Stoklund Olesen
8c5b8db5cd
We don't really care about correct register liveness information after the
...
post-ra scheduler has run. Disable the verifier checks that late in the game.
llvm-svn: 97837
2010-03-05 21:49:13 +00:00
Jakob Stoklund Olesen
b0503beff1
Avoid creating bad PHI instructions when BR is being const-folded.
...
llvm-svn: 97836
2010-03-05 21:49:10 +00:00
Douglas Gregor
1e1973c0eb
Switch from NDEBUG to _DEBUG, since our Windows build is funny
...
llvm-svn: 97835
2010-03-05 21:48:53 +00:00
Douglas Gregor
554e13efc6
Only make __ptr64 and __w64 keywords when Microsoft extensions are enabled.
...
llvm-svn: 97834
2010-03-05 21:39:18 +00:00
Douglas Gregor
0c7c2f8b4d
A little hack to identify unwanted concurrency in CIndex
...
llvm-svn: 97831
2010-03-05 21:16:25 +00:00
Dale Johannesen
f5cc1cdc65
Fix a case where LSR is sensitive to debug info.
...
llvm-svn: 97830
2010-03-05 21:12:40 +00:00
Evan Cheng
d214ed0e75
Safely turn memset_chk etc. to non-chk variant if the known object size is >= memset / memcpy / memmove size.
...
llvm-svn: 97828
2010-03-05 20:59:47 +00:00
Evan Cheng
fffdad58ac
Instcombine should turn llvm.objectsize of a alloca with static size to an integer.
...
llvm-svn: 97827
2010-03-05 20:47:23 +00:00
Chris Lattner
b2bc4b9880
Emit warning on indirect goto that potentially violates
...
scope instead of error, PR6517
llvm-svn: 97826
2010-03-05 20:38:02 +00:00
Evan Cheng
27494232d4
Fix typo.
...
llvm-svn: 97818
2010-03-05 19:55:55 +00:00
Chris Lattner
2df50e6573
address PR6502 by downgrading the scope checker's address
...
of label error to a warning controllable with a -W flag.
llvm-svn: 97815
2010-03-05 19:26:49 +00:00
Chris Lattner
f0692603d5
fix bss section printing for cell, patch by Kalle Raiskila!
...
llvm-svn: 97814
2010-03-05 18:55:36 +00:00
Chris Lattner
f6befffbb2
fix PR6512, a case where instcombine would incorrectly merge loads
...
from different addr spaces.
llvm-svn: 97813
2010-03-05 18:53:28 +00:00
Kovarththanan Rajaratnam
3c36a6669a
Use clang::io::Emit8
...
llvm-svn: 97810
2010-03-05 15:40:54 +00:00
Benjamin Kramer
d4870700ad
Make sure the raw_string_ostream gets flushed so we don't accidentally return an empty string.
...
llvm-svn: 97809
2010-03-05 15:39:20 +00:00
Wesley Peck
34004170c5
Reworking the stack layout that the MicroBlaze backend generates.
...
The MicroBlaze backend was generating stack layouts that did not
conform correctly to the ABI. This update generates stack layouts
which are closer to what GCC does.
Variable arguments support was added as well but the stack layout
for varargs has not been finalized.
llvm-svn: 97807
2010-03-05 15:26:02 +00:00
Wesley Peck
b0578bf0c3
Adding MBlaze to cmake target list.
...
llvm-svn: 97806
2010-03-05 15:15:55 +00:00
Chris Lattner
067459c62b
Fix PR6503. This turned into a much more interesting and nasty bug. Various
...
parts of the cmp|cmp and cmp&cmp folding logic wasn't prepared for vectors
(unrelated to the bug but noticed while in the code) and the code was
*definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic
that I added in r95855. Fix all this up by changing the various routines
to more consistently use IRBuilder and not pass in the I which had the wrong
type.
llvm-svn: 97801
2010-03-05 08:46:26 +00:00
Chris Lattner
fc13a0343c
make these less sensitive to temporary naming.
...
llvm-svn: 97799
2010-03-05 08:43:33 +00:00
Chris Lattner
48b6e27e7b
remove this testcase, it isn't clear what it was testing and it is subsumed by or.ll
...
llvm-svn: 97798
2010-03-05 08:43:06 +00:00
Evan Cheng
654ec2a663
Fix an oops in x86 sibcall optimization. If the ByVal callee argument is itself passed as a pointer, then it's obviously not safe to do a tail call.
...
llvm-svn: 97797
2010-03-05 08:38:04 +00:00
Duncan Sands
798ca1e6fe
If LD_LIBRARY_PATH is set in the system environment, use it.
...
llvm-svn: 97796
2010-03-05 08:21:02 +00:00
Chris Lattner
343d2e48b2
simplify some functions and make them work with vector
...
compares, noticed by inspection.
llvm-svn: 97795
2010-03-05 07:47:57 +00:00
Chris Lattner
c6c1523f59
fix a nice subtle reassociate bug which would only occur
...
in a very specific use pattern embodied in the carefully
reduced testcase.
llvm-svn: 97794
2010-03-05 07:18:54 +00:00
Eric Christopher
4899cbc77d
Move GetStringLength and helper from SimplifyLibCalls to ValueTracking.
...
No functionality change.
llvm-svn: 97793
2010-03-05 06:58:57 +00:00
Jeffrey Yasskin
5c92f933b3
Revert r97788 because it broke test/FrontendC/2010-02-16-DbgVarScope.c.
...
llvm-svn: 97792
2010-03-05 06:43:49 +00:00
Chris Lattner
55e81eb49f
Fix PR6497, a bug where we'd fold a load into an addc
...
node which has a flag. That flag in turn was used by an
already-selected adde which turned into an ADC32ri8 which
used a selected load which was chained to the load we
folded. This flag use caused us to form a cycle. Fix
this by not ignoring chains in IsLegalToFold even in
cases where the isel thinks it can.
llvm-svn: 97791
2010-03-05 06:19:13 +00:00
Chris Lattner
bfdd17a2ea
cleanup
...
llvm-svn: 97790
2010-03-05 06:17:43 +00:00
Chris Lattner
374a3ac744
inline a small function with one call site.
...
llvm-svn: 97789
2010-03-05 05:49:45 +00:00
Jeffrey Yasskin
39e0d52080
Free MDNodes when the LLVMContext is destroyed. Leak found by Valgrind.
...
llvm-svn: 97788
2010-03-05 05:47:09 +00:00
Mikhail Glushenkov
a764083db3
Make it not an error to specify -O* options several times.
...
As in 'llvmc -O2 -O2 test.c'.
llvm-svn: 97787
2010-03-05 04:46:39 +00:00
Mikhail Glushenkov
cb231bb618
Use FindExecutable as a fall-back search method.
...
Allows us to find executables that are in the same directory.
llvm-svn: 97786
2010-03-05 04:46:28 +00:00
Zhongxing Xu
e73584384a
Remove reference to AnalysisContext in Environment. We already have LocationContext
...
information in ExplodedNode.
llvm-svn: 97785
2010-03-05 04:45:36 +00:00
Evan Cheng
cf67ffa500
Rever 96389 and 96990. They are causing some miscompilation that I do not fully understand.
...
llvm-svn: 97782
2010-03-05 03:08:23 +00:00
Dan Gohman
998c7c2614
Revert r97778 and r97779. They're somehow breaking llvm-gcc builds.
...
llvm-svn: 97781
2010-03-05 02:40:23 +00:00
Chris Lattner
5ec1b24f8f
apparently if gold is around lto needs to be part of DIRS.
...
llvm-svn: 97780
2010-03-05 02:34:34 +00:00
Dan Gohman
ba9eb0bf2e
Fix these constants to be more portable.
...
llvm-svn: 97779
2010-03-05 02:13:10 +00:00
Dan Gohman
7fbeeebaf6
Rewrite i64-to-f64 conversion using an algorithm which handles
...
rounding correctly. This implementation is a generalization of
the x86_64 code in compiler-rt.
This fixes rdar://7683708.
llvm-svn: 97778
2010-03-05 02:00:46 +00:00
Fariborz Jahanian
2574577828
Remove header file dependencies in block patch
...
test case.
llvm-svn: 97777
2010-03-05 01:49:18 +00:00
Johnny Chen
70e01cd001
Trivial comment change.
...
llvm-svn: 97776
2010-03-05 01:45:46 +00:00
Blaine Garst
f27ab71d9f
add support for a 1<<29 bit in the block flags field to mark blocks using alternate struct return ABI
...
llvm-svn: 97775
2010-03-05 01:29:59 +00:00
Evan Cheng
43d6ff7701
Add missing break for Intrinsic::objectsize case. It was falling through to the following Intrinsic::bswap code. I have no idea why it wasn't breaking stuff.
...
llvm-svn: 97774
2010-03-05 01:22:47 +00:00
Rafael Espindola
4c489c7030
Don't produce an alias for a destructor if the target is weak.
...
This fixes bootstrap on ELF systems :-)
llvm-svn: 97773
2010-03-05 01:21:10 +00:00
Chris Lattner
6dbf5cc64c
disable libprofile on cygwin, patch by Aaron Gray.
...
llvm-svn: 97772
2010-03-05 01:00:34 +00:00
Chris Lattner
2e89d20ad3
Only build libedis if ENABLE_SHARED is specified, just like liblto.
...
Don't build any of the dynamic library stuff on cygwin/mingw.
llvm-svn: 97771
2010-03-05 00:59:18 +00:00
Chris Lattner
274c8d8d07
liblto and gold don't need to be built in serial
...
llvm-svn: 97770
2010-03-05 00:54:45 +00:00
Chris Lattner
6783832ec2
add an assertion requested on llvmdev.
...
llvm-svn: 97769
2010-03-05 00:49:08 +00:00