1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-02 00:42:52 +01:00
Commit Graph

60145 Commits

Author SHA1 Message Date
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