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

60122 Commits

Author SHA1 Message Date
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
Chris Lattner
4629370fa2 fix PR6112 - When globalopt (or any other pass) does RAUW(@G, %G),
metadata references in non-function-local MDNodes should drop to 
null.

llvm-svn: 102519
2010-04-28 20:16:12 +00:00
Evan Cheng
fb33f168e0 Pretty print DBG_VALUE machine instructions.
Before:
DBG_VALUE %RSI, 0, !-1; dbg:SimpleRegisterCoalescing.cpp:2707
Now:
DBG_VALUE %RSI, 0, !"this"; dbg:SimpleRegisterCoalescing.cpp:2707

llvm-svn: 102518
2010-04-28 20:03:13 +00:00
Chris Lattner
9867c1a075 Rework global alignment computation again. Now we do round up
alignment of globals to the preferred alignment, but only when
there is no section specified on the global (by far the common
case).

llvm-svn: 102515
2010-04-28 19:58:07 +00:00
Devang Patel
181c86e4e7 While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca matching llvm.dbg.declare intrinsic is missing.
llvm-svn: 102513
2010-04-28 19:27:33 +00:00
Jakob Stoklund Olesen
bf2915f891 Recompute kill flags from live intervals after coalescing instead of trying to
update them. Computing kill flags is notoriously difficult, and the coalescer
would get it wrong sometimes, and it would completely skip physical registers.

Now we simply remove kill flags based on the live intervals after coalescing.
This is a few percent slower, but now we get correct kill flags for physical
registers after coalescing.

llvm-svn: 102510
2010-04-28 18:28:39 +00:00
Jakob Stoklund Olesen
f3dc101cd2 Teach X86FloatingPoint that a register can be killed multiple times by the same
instruction.

This instruction would crash the pass:

  INLINEASM <es:foo $0 $1>, 9, %FP0<kill>, 9, %FP0<kill>, 14, %EFLAGS<earlyclobber,def,dead>

Now it doesn't.

llvm-svn: 102509
2010-04-28 18:28:37 +00:00
Bob Wilson
98f2186636 Undo most of my previous whitespace fix. I think I like it better this way
after all.

llvm-svn: 102508
2010-04-28 18:18:36 +00:00
Bob Wilson
ba5b622a80 Fix inconsistent use of HOSTS and TARGETS variables.
llvm-svn: 102505
2010-04-28 18:06:27 +00:00
Bob Wilson
07f7b3462e Fix whitespace.
llvm-svn: 102504
2010-04-28 17:50:03 +00:00
Evan Cheng
d4fe387eb8 Enable i16 to i32 promotion by default.
llvm-svn: 102493
2010-04-28 08:30:49 +00:00
Evan Cheng
4561d60a2b Try operation promotion only if regular dag combine and target-specific ones failed to do anything.
llvm-svn: 102492
2010-04-28 07:10:39 +00:00
Evan Cheng
4e5846c61e Unbreak the build. Only form shld / shrd after legalization.
llvm-svn: 102488
2010-04-28 02:25:18 +00:00
Evan Cheng
08e5f737d2 Update tests.
llvm-svn: 102487
2010-04-28 01:53:13 +00:00
Devang Patel
570e9d53a7 Emit debug info for byval parameters.
llvm-svn: 102486
2010-04-28 01:39:28 +00:00
Evan Cheng
b7bb090d5d Rather than having a ton of patterns for double shift instructions, e.g. SHLD16rrCL, just perform custom dag combine to form x86 specific dag so they match to the same pattern. This also makes sure later dag combine do not cause isel to miss them (e.g. promoting i16 to i32).
llvm-svn: 102485
2010-04-28 01:18:01 +00:00
Chris Lattner
19715b76b7 further simplify EmitAlignment by eliminating the
ForcedAlignBits argument, tweaking the single client of it.

llvm-svn: 102484
2010-04-28 01:08:40 +00:00
Chris Lattner
d14f04d0f7 remove a dead argument to EmitAlignment.
llvm-svn: 102483
2010-04-28 01:06:02 +00:00
Chris Lattner
d3cfa7f3eb remove some default arguments to EmitAlignment.
llvm-svn: 102482
2010-04-28 01:05:45 +00:00
Devang Patel
d848109a46 Refactor.
llvm-svn: 102481
2010-04-28 01:03:09 +00:00
Dan Gohman
9a9dc98868 Rewrite the section on trap values to contain a generic description
of dependence and define trap values in terms of dependence, instead
of trying to cover the concept with a flurry of ad-hoc rules.

The dependence model isn't complete yet, but it's already much more
rigorous than the description it replaces.

llvm-svn: 102479
2010-04-28 00:49:41 +00:00
Dan Gohman
f8eeafd9f1 Fix spelling errors.
llvm-svn: 102478
2010-04-28 00:36:01 +00:00
Stuart Hastings
0768675d1b Tweak x86 INC/DEC generation to look for CopyToReg or SETCC. Radar 7866163.
llvm-svn: 102477
2010-04-28 00:35:10 +00:00
Chris Lattner
22d3b3b3b7 further clarify alignment of globals, fix instcombine
to not increase the alignment of globals with an assigned
alignment and section.

llvm-svn: 102476
2010-04-28 00:31:12 +00:00