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
Dan Gohman
c147c83a95
llc no longer requires the -f option to overwrite files.
...
llvm-svn: 102651
2010-04-29 18:46:52 +00:00
Bob Wilson
1576577ead
Don't remove libLTO.dylib if it's not being installed in Developer/usr/lib;
...
just leave it in Developer/usr/local/lib.
llvm-svn: 102646
2010-04-29 18:04:29 +00:00
Dan Gohman
78c9ada867
Elaborate on a comment.
...
llvm-svn: 102637
2010-04-29 16:57:54 +00:00
Daniel Dunbar
780c6fe8ba
Remove dead option.
...
llvm-svn: 102621
2010-04-29 16:29:02 +00:00
Duncan Sands
36cfc45cf3
Verify metadata harder. In particular, check that module
...
level metadata does not have any function local operands.
This would have caught the problem found in PR6112.
llvm-svn: 102620
2010-04-29 16:10:30 +00:00
Duncan Sands
c83ef78bd3
Fix comment typo.
...
llvm-svn: 102612
2010-04-29 12:32:45 +00:00
Evan Cheng
b9fe4fd40c
Add comment.
...
llvm-svn: 102606
2010-04-29 06:58:53 +00:00
Torok Edwin
9ddbae859f
Fix PR6910.
...
Limit alignment in SmallVector 8, otherwise GCC assumes 16 byte alignment.
opetaror new, and malloc only return 8-byte aligned memory on 32-bit Linux,
which cause a crash if code is compiled with -O3 (or -ftree-vectorize) and some
SmallVector code is vectorized.
llvm-svn: 102604
2010-04-29 06:43:12 +00:00
Evan Cheng
ba7dcad569
Re-enable 102565 with fixes.
...
llvm-svn: 102602
2010-04-29 06:33:38 +00:00
Nick Lewycky
2b713db8ed
Fix typo.
...
llvm-svn: 102599
2010-04-29 05:54:29 +00:00
Evan Cheng
da89f22f3d
Load folding tail call should not use ebp / rbp after it's popped. PEI
...
should use esp / rsp to reference frame instead.
llvm-svn: 102596
2010-04-29 05:08:22 +00:00
Mon P Wang
bfebbd889a
Add support for assemblers that don't support periods in a name
...
llvm-svn: 102594
2010-04-29 04:00:56 +00:00
Evan Cheng
3e9545cfb4
Temporarily disable my changes to unbreak the build.
...
llvm-svn: 102590
2010-04-29 03:34:19 +00:00
Evan Cheng
053000f3f5
Do not generate duplicate dbg_value instructions for function arguments.
...
llvm-svn: 102585
2010-04-29 01:40:30 +00:00
Dan Gohman
ec9e1d8a88
Fix missing #include.
...
llvm-svn: 102584
2010-04-29 01:39:13 +00:00
Evan Cheng
801b8e5530
Avoid emitting a dbg_value machineinstr that's not going to be inserted into entry block.
...
llvm-svn: 102581
2010-04-29 01:23:55 +00:00
Evan Cheng
6764226f8c
Frame index can be negative.
...
llvm-svn: 102577
2010-04-29 01:13:30 +00:00
Evan Cheng
d08e8f2b24
Check Reg against zero.
...
llvm-svn: 102573
2010-04-29 00:59:34 +00:00
Evan Cheng
4137a14e18
- Really preserve dbg_value instructions when the register is spilled.
...
- Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments.
llvm-svn: 102565
2010-04-28 23:52:26 +00:00
Devang Patel
84e3ddd87c
tidy up.
...
llvm-svn: 102558
2010-04-28 23:24:13 +00:00
Kevin Enderby
58bed5a913
Fixed the word sized Bit Scan Forward/Reverse instructions, they needed the
...
Operand size override prefix to be part of their records.
llvm-svn: 102556
2010-04-28 23:20:40 +00:00
Evan Cheng
a02c9072fc
Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done.
...
llvm-svn: 102554
2010-04-28 23:08:54 +00:00
Chris Lattner
45c337c939
fix this to work with objdir != srcdir
...
llvm-svn: 102547
2010-04-28 22:34:35 +00:00
Dale Johannesen
5aa4801ddb
Fix comment.
...
llvm-svn: 102545
2010-04-28 22:23:46 +00:00
Dale Johannesen
02cb4ed701
Test for llvm-gcc checkin 102543.
...
llvm-svn: 102544
2010-04-28 22:17:33 +00:00
Bob Wilson
ed156c2212
Add an option to the Apple-style build to control whether libLTO.dylib should
...
be installed. Disable it by default.
llvm-svn: 102531
2010-04-28 21:08:01 +00:00
Jim Grosbach
c9b8d992e1
Add sizes non-floating point versions for the eh sjlj intrinsic expansions.
...
rdar://7895451
llvm-svn: 102526
2010-04-28 20:33:09 +00:00
Devang Patel
8e2e813b48
Update tests. Now DBG_VALUE instruction is created only if alloca corresponding to llvm.dbg.declare is missing.
...
llvm-svn: 102524
2010-04-28 20:27:48 +00:00
Chris Lattner
e9c0d1574a
declare targets with (void) instead of () since this is a C header.
...
Patch by Lars R in PR6961.
llvm-svn: 102523
2010-04-28 20:24:45 +00:00