Bill Wendling
d1c5f11f72
Force 64-bit.
...
llvm-svn: 102800
2010-04-30 22:45:20 +00:00
Dan Gohman
9281e7be3e
Fix a typo.
...
llvm-svn: 102799
2010-04-30 22:38:11 +00:00
Chris Lattner
3eb6a9f076
Dan recently disabled recursive inlining within a function, but we
...
were still inlining self-recursive functions into other functions.
Inlining a recursive function into itself has the potential to
reduce recursion depth by a factor of 2, inlining a recursive
function into something else reduces recursion depth by exactly
1. Since inlining a recursive function into something else is a
weird form of loop peeling, turn this off.
The deleted testcase was added by Dale in r62107, since then
we're leaning towards not inlining recursive stuff ever. In any
case, if we like inlining recursive stuff, it should be done
within the recursive function itself to get the algorithm
recursion depth win.
llvm-svn: 102798
2010-04-30 22:37:22 +00:00
Bill Wendling
95a4929ac7
EXTRACT_VECTOR_ELT of an INSERT_VECTOR_ELT may have the same index, but the
...
indexes could be of a different value type. Or not even using the same SDNode
for the constant (weird, I know). Compare the actual values instead of the
pointers.
llvm-svn: 102791
2010-04-30 22:19:17 +00:00
Daniel Dunbar
8427c19fe2
Don't use 'else ifdef', I guess this is a 3.81 feature?
...
llvm-svn: 102781
2010-04-30 22:00:17 +00:00
Dan Gohman
e980525516
Remove this debug output. The MachineFunction will be printed once all of
...
instruction selection is done; it's confusing to see parts of it printed,
while other parts are omitted, along the way.
llvm-svn: 102771
2010-04-30 21:21:21 +00:00
Jakob Stoklund Olesen
fac584ed9e
The local register allocator has to spill dirty callee saved registers before a
...
call that might throw. The landing pad assumes that all registers are in stack
slots.
We used to spill those dirty CSRs after the call, and the stack slots would be
wrong when arriving at the landing pad.
llvm-svn: 102770
2010-04-30 21:19:29 +00:00
Dan Gohman
73722062f7
Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp,
...
and fix a bug in BitVector's reference proxy class which this exposed.
llvm-svn: 102768
2010-04-30 20:50:28 +00:00
Daniel Dunbar
22881d531a
Fix TOOLALIAS to not make dependency against $(PROJ_bindir), this is unnecessary
...
(and wrong).
llvm-svn: 102763
2010-04-30 20:47:09 +00:00
Devang Patel
8146cb492f
Preserve debug info attached with call instruction while eliminating dead argument.
...
Radar 7927803
llvm-svn: 102760
2010-04-30 20:23:54 +00:00
Dan Gohman
a78e35e7d9
Make this code less confusing. Instead of reassigning BB, just operate
...
on the original variables, so it's easier to see what is being done
to which blocks.
llvm-svn: 102759
2010-04-30 20:14:26 +00:00
Daniel Dunbar
7ed4688b9e
Add new NO_INSTALL_ARCHIVES make variable, to suppress install of .a files.
...
llvm-svn: 102752
2010-04-30 20:04:53 +00:00
Daniel Dunbar
81745b2e67
Add an install-clang-c top-level target, which does a Clang C API install.
...
llvm-svn: 102751
2010-04-30 20:04:45 +00:00
Devang Patel
9832115581
New test.
...
llvm-svn: 102746
2010-04-30 19:39:29 +00:00
Devang Patel
52c2d4d378
Attach AT_APPLE_optimized attribute to optimized function's debug info.
...
llvm-svn: 102743
2010-04-30 19:38:23 +00:00
Dan Gohman
066b8d3640
EmitDbgValue doesn't need its EdgeMapping argument.
...
llvm-svn: 102742
2010-04-30 19:35:33 +00:00
David Chisnall
8bcbd32d28
Fixed @ctor / @dtor the wrong way around in last commit.
...
llvm-svn: 102741
2010-04-30 19:27:35 +00:00
David Chisnall
976f45eac9
Added a brief explanation of @llvm.global_{c,d}tors.
...
llvm-svn: 102740
2010-04-30 19:23:49 +00:00
Dan Gohman
116829ede7
Set isSigned to true when creating an all-ones integer constant, even
...
for unsigned purposes, so >64-bit integer values get a full all-ones
value.
llvm-svn: 102739
2010-04-30 19:22:39 +00:00
Dan Gohman
3c454a3df0
Silence compiler warnings.
...
llvm-svn: 102734
2010-04-30 19:21:13 +00:00
Dan Gohman
6944fae2f6
Add lint checks for invalid uses of memory.
...
llvm-svn: 102733
2010-04-30 19:05:00 +00:00
Dan Gohman
cfd0d9393a
Add some comments.
...
llvm-svn: 102731
2010-04-30 18:33:41 +00:00
Dan Gohman
c283eda8ab
Remove the -disable-16bit command-line option, which is now obsolete.
...
llvm-svn: 102730
2010-04-30 18:30:26 +00:00
Jakob Stoklund Olesen
1fb8dbce5a
Don't use floating point in SimpleRegisterCoalescing.
...
Rounding differences causes tests to fail on Linux.
llvm-svn: 102729
2010-04-30 18:28:11 +00:00
Dan Gohman
a5ef1ab165
Properly escape edge source and destination labels.
...
llvm-svn: 102728
2010-04-30 18:27:57 +00:00
Dan Gohman
f6e1477a55
Add -o /dev/null to some tests which don't care about their output.
...
llvm-svn: 102722
2010-04-30 17:42:30 +00:00
Dan Gohman
e9ff394082
Apply a patch from Jan Sjodin to fix a compiler abort on vector
...
comparisons sign-extended to a different bitwidth than the
comparison operands.
llvm-svn: 102721
2010-04-30 17:19:19 +00:00
Daniel Dunbar
309dd836c0
Regenerate.
...
llvm-svn: 102720
2010-04-30 17:12:26 +00:00
Daniel Dunbar
f4f4ce1e3c
Default OPTIMIZE_OPTION to -O2 on FreeBSD, at the request of the Clang/FreeBSD
...
folks. LLVM/Clang is miscompiled by the standard GCC at -O3.
llvm-svn: 102719
2010-04-30 17:12:23 +00:00
Benjamin Kramer
f3e9546fc1
SmallBitVector: Rework find_first/find_next and tweak test to test them (at least on 64 bit platforms).
...
llvm-svn: 102712
2010-04-30 13:40:27 +00:00
Benjamin Kramer
e4ebf09068
Implement a read/write operator[] for SmallBitVector with a proxy class.
...
llvm-svn: 102709
2010-04-30 12:29:39 +00:00
Benjamin Kramer
e59c44ea79
Make sure SmallBitVector actually uses the small case and fix latent bugs.
...
- We can't use PointerIntPair here since we require the discrimination bit to be in the LSB.
llvm-svn: 102707
2010-04-30 11:34:01 +00:00
Evan Cheng
fc86d7fbdc
Fix test.
...
llvm-svn: 102694
2010-04-30 06:00:56 +00:00
Evan Cheng
9303b11e47
Another sibcall bug. If caller and callee calling conventions differ, then it's only safe to do a tail call if the results are returned in the same way.
...
llvm-svn: 102683
2010-04-30 01:12:32 +00:00
Dan Gohman
140e0899ad
Temporarily disable SelectionDAG kill flags, which are causing trouble.
...
llvm-svn: 102680
2010-04-30 00:32:51 +00:00
Jeffrey Yasskin
db377e2f86
Fix the OProfileJITEventListener build after r101844 removed
...
MachineFunction::DefaultDebugLoc. We now use the same technique as
DwarfDebug::beginFunction to find the starting line number for a
function.
llvm-svn: 102679
2010-04-30 00:16:10 +00:00
Dan Gohman
1534ad2d28
Set register kill flags on the SelectionDAG path, at least in the
...
easy cases.
llvm-svn: 102678
2010-04-30 00:08:21 +00:00
Jakob Stoklund Olesen
01254ea96d
Reject really weird coalescer case when trying to merge identical subregisters
...
of different register classes. e.g.
%reg1048:3<def> = EXTRACT_SUBREG %RAX<kill>, 3
Where %reg1048 is a GR32 register. This is not impossible to handle, but it is
pretty hard and very rare.
This should unbreak the dragonegg builder.
llvm-svn: 102672
2010-04-29 23:47:46 +00:00
Nick Lewycky
31e338dba8
The llc -f flag was removed.
...
llvm-svn: 102670
2010-04-29 23:37:44 +00:00
Dan Gohman
0a6811070b
Don't leave Base.FrameIndex uninitialized, so that it doesn't
...
print randomly in debug output.
llvm-svn: 102668
2010-04-29 23:30:41 +00:00
Chris Lattner
105e312fb4
add some more (void)'s to prototypes for PR6961
...
llvm-svn: 102667
2010-04-29 23:27:32 +00:00
Dan Gohman
b8cdd4037b
Fix typos in assertion strings.
...
llvm-svn: 102666
2010-04-29 23:25:34 +00:00
Jakob Stoklund Olesen
1fea22bc70
Slightly verboser debug spew from coalescer
...
llvm-svn: 102663
2010-04-29 22:21:48 +00:00
Devang Patel
432efd232d
Missed earlier. This is part of previous check-in. (r102661 - refactor.)
...
llvm-svn: 102662
2010-04-29 20:48:12 +00:00
Devang Patel
bdfc01f418
Refactor.
...
llvm-svn: 102661
2010-04-29 20:40:36 +00:00
Dale Johannesen
a4fd142987
Make naked functions work on PPC.
...
llvm-svn: 102657
2010-04-29 19:32:19 +00:00
Devang Patel
c34efcfee7
Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.
...
##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0
##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0
##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706
##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0
##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0
llvm-svn: 102655
2010-04-29 18:52:10 +00:00
Evan Cheng
8ea213f823
Remove DBG_VALUE which reference dead stack slots.
...
llvm-svn: 102654
2010-04-29 18:51:00 +00:00
Devang Patel
1e28f36308
DO not push DBG_VALUE machine instructions for inlined fuction arguments in entry block.
...
llvm-svn: 102653
2010-04-29 18:50:36 +00:00
Evan Cheng
f0f25bd8e6
Add DenseMapInfo for int.
...
llvm-svn: 102652
2010-04-29 18:50:35 +00:00