103164 Commits

Author SHA1 Message Date
Bill Wendling
96f962fdff In some cases, the "fail BB dominator" may be null after the BB was split (and
becomes reachable when before it wasn't). Check to make sure that it's not null
before trying to use it.

llvm-svn: 128434
2011-03-28 23:02:18 +00:00
Daniel Dunbar
67919b2a5b Integrated-As: Support -Wa,-L when using the integrated assembler.
llvm-svn: 128433
2011-03-28 22:49:28 +00:00
Daniel Dunbar
9cf7bc7a6c Frontend/cc1as: Add support for -L.
llvm-svn: 128432
2011-03-28 22:49:24 +00:00
Daniel Dunbar
3e2b335903 Integrated-As: Add support for setting the AllowTemporaryLabels flag via
integrated-as.

llvm-svn: 128431
2011-03-28 22:49:19 +00:00
Daniel Dunbar
4ee0d03274 MC: Add support for disabling "temporary label" behavior. Useful for debugging
on Darwin.

llvm-svn: 128430
2011-03-28 22:49:15 +00:00
Johnny Chen
4044fdccfc Doc string change.
llvm-svn: 128429
2011-03-28 22:48:25 +00:00
Johnny Chen
5e28aa5d9b Add an initial version of lldb-disasm.py script whose purpose is to iterate through
all the symbols for an executable image and to issue the lldb 'disassemble' command
on each symbol.  The initial version just dumps the symbol table.

llvm-svn: 128428
2011-03-28 22:40:32 +00:00
Anton Yartsev
93900c7d1e refactoring
llvm-svn: 128427
2011-03-28 21:00:05 +00:00
Ted Kremenek
2d45693446 Unbreak CMake build.
llvm-svn: 128426
2011-03-28 20:43:53 +00:00
Devang Patel
94d1979a95 Remove scripts used by TEST=dbg from here. They now live inside llvm test suite.
llvm-svn: 128425
2011-03-28 20:28:30 +00:00
Devang Patel
90955228bb These tests are x86_64 specific.
llvm-svn: 128421
2011-03-28 20:00:34 +00:00
Johnny Chen
f9cd139369 Fix ARM disassembly for PLD/PLDW/PLI which suffers from code rot and add some test cases.
Add comments to ThumbDisassemblerCore.h for recent change made for t2PLD disassembly.

llvm-svn: 128417
2011-03-28 18:41:58 +00:00
Kevin Enderby
f3070dc40d Again adding a C API to the disassembler for use by such tools as Darwin's
otool(1), this time with the needed fix for case sensitive file systems :) .
This is a work in progress as the interface for producing symbolic operands is
not done.  But a hacked prototype using information from the object file's
relocation entiries and replacing immediate operands with MCExpr's has been
shown to work with no changes to the instrucion printer.  These APIs will be
moved into a dynamic library at some point.

llvm-svn: 128415
2011-03-28 18:25:07 +00:00
Nick Lewycky
ebc2f3a68c Remove tabs I accidentally added.
llvm-svn: 128413
2011-03-28 17:48:26 +00:00
Fariborz Jahanian
d0d31bf263 Also 'self' in blocks need be handled specially.
// rdar://9181463

llvm-svn: 128410
2011-03-28 16:23:34 +00:00
Caroline Tice
87c19f61d4 Fix single quote characters throughout the ARM emulation stuff.
Fix bugs in various ARM istruction emulation functions:

EmulateVPUSH
   - Fix context.
   - Fix bug calculating register numbers.

EmulateVPOP
   - Fix context.
   - Fix bug calculating register numbers.

EmulateShiftIMM
   - Fix bug in assert statement.

EmulateLDMDA
   - Fix context.

EmulateLDMDB
   - Fix context.

EmulateLDMIB
   - Fix context.     

EmulateSTM
   - Fix bug calculating lowest_set_bit.     

EmulateSTMDA
   - Fix context.
   - Fix bug calculating lowest_set_bit.

EmulateSTMDB
   - Fix context.
   - Fix bug calculating lowest_set_bit.

EmulateSTMIB
   - FIx context     

EmulateLDRSBImmed
   - Fix test to match correction in corrected manual 

llvm-svn: 128409
2011-03-28 16:10:45 +00:00
Jay Foad
1c83965f5a Make more use of PHINode::getNumIncomingValues().
llvm-svn: 128406
2011-03-28 13:03:10 +00:00
Che-Liang Chiou
cdedaf1f7d ptx: clean up branch code a bit
llvm-svn: 128405
2011-03-28 10:23:13 +00:00
NAKAMURA Takumi
10b96cb34b docs/GettingStarted.html: [PR8850] Add a note for x86_64-w64-mingw32.
llvm-svn: 128404
2011-03-28 06:27:12 +00:00
NAKAMURA Takumi
05c00021da docs/GettingStarted.html: Add blurb "--enable-shared" on cygming.
llvm-svn: 128403
2011-03-28 06:27:06 +00:00
Eli Friedman
9db11f82a5 Remove stray null from the middle of a comment. (Found because my editor
was refusing to open the file.)

llvm-svn: 128402
2011-03-28 02:00:21 +00:00
Matt Beaumont-Gay
93615d9912 Fix PR9572 and neighboring lurking crashers.
llvm-svn: 128401
2011-03-28 01:39:13 +00:00
Stephen Wilson
edd820e666 Add a missing include required on Linux
llvm-svn: 128400
2011-03-27 23:59:07 +00:00
Frits van Bommel
d14d991bf7 Add some debug output when -instcombine uses RAUW. This can make debug output for those cases much clearer since without this it only showed that the original instruction was removed, not what it was replaced with.
llvm-svn: 128399
2011-03-27 23:32:31 +00:00
Jakob Stoklund Olesen
bd6b86e489 Amend debug output.
llvm-svn: 128398
2011-03-27 22:49:23 +00:00
Jakob Stoklund Olesen
28d79cdeab Drop interference reassignment in favor of eviction.
The reassignment phase was able to move interference with a higher spill weight,
but it didn't happen very often and it was fairly expensive.

The existing interference eviction picks up the slack.

llvm-svn: 128397
2011-03-27 22:49:21 +00:00
Chandler Carruth
86d17d3f76 Reduce indentation using early exits and add a couple of comments. No
functionality changed.

llvm-svn: 128396
2011-03-27 21:26:48 +00:00
Chandler Carruth
82701204a4 Add my test case for r128353. I think this is the last test case to fail
to be added... Sorry for the noise.

llvm-svn: 128395
2011-03-27 21:03:41 +00:00
Chandler Carruth
edcc04e05b Add tests for the uninitialized checks added in r128376. Also clean up
and flesh out the existing uninitialized testing for field initializers.

The tests come from Richard's original patch, but I've cleaned them up
a bit and ordered them more naturally.

Also, I added a test for the most simple base case:
int x = x;

And it turns out we miss this one! =[ That and another bad FIXME on the
field initializer checking are left in the test.

llvm-svn: 128394
2011-03-27 20:35:59 +00:00
Ken Dyck
f9742cca31 Convert offset parameter in LayoutPrimaryAndSecondaryVTables() to CharUnits.
No change in functionality intended.

llvm-svn: 128393
2011-03-27 20:33:38 +00:00
Ken Dyck
9a7e532dd8 Convert VTableBuilder::MostDerivedClassOffset to CharUnits. No change in
functionality intended.

llvm-svn: 128392
2011-03-27 20:20:28 +00:00
Ken Dyck
0d5804a622 Convert FinalOverriders::MostDerivedClassOffset to CharUnits. No change in
functionality intended.

llvm-svn: 128391
2011-03-27 20:10:29 +00:00
Chandler Carruth
24284afa2d Flip the default for showing include stacks on notes to false. This
required modifying a few tests that specifically use note include stacks
to check the source manager's view of include stacks. I've simply added
the flag to these tests for now, they may have to be more substantially
changed if we decide to remove support for note include stacks
altogether.

Also, add a test for include stacks on notes that was supposed to go in
with the previous commit.

llvm-svn: 128390
2011-03-27 20:00:08 +00:00
Fariborz Jahanian
b3b1e17645 'self' is objective-c's 'self' objc pointer only in
an objc method. Fixes // rdar://9181463

llvm-svn: 128389
2011-03-27 19:53:47 +00:00
Nick Lewycky
8544228d5a Teach the transformation that moves binary operators around selects to preserve
the subclass optional data.

llvm-svn: 128388
2011-03-27 19:51:23 +00:00
Francois Pichet
4e7a2c09b2 Improve recovery (error + fix-it) when parsing type dependent template name without the "template" keyword.
For example:
   typename C1<T>:: /*template*/ Iterator<0> pos; 

Also the error is downgraded to an ExtWarn in Microsoft mode.

llvm-svn: 128387
2011-03-27 19:41:34 +00:00
Ken Dyck
5f3601d35a Remove a fixed FIXME comment (the base offset has already been converted to
CharUnits).

llvm-svn: 128386
2011-03-27 19:19:52 +00:00
Ken Dyck
f4be03ae04 Convert the offset parameters of AddMethods() to CharUnits. No change in
functionality intended.

llvm-svn: 128385
2011-03-27 19:15:11 +00:00
Ken Dyck
f736d9cb75 Convert the BaseOffsetInLayoutClass parameter of ComputeThisAdjustment() to
CharUnits. No change in functionality intended.

llvm-svn: 128384
2011-03-27 19:03:44 +00:00
Ken Dyck
7d876f3649 Convert offset members in MethodInfo to CharUnits. No change in
functionality intended.

llvm-svn: 128383
2011-03-27 18:57:53 +00:00
Anton Yartsev
530deb9a39 AltiVec vector comparison logic now affect only vectors of fundamental AltiVec vector types. It fixes bug 9347.
llvm-svn: 128381
2011-03-27 15:36:07 +00:00
Benjamin Kramer
1f90da127f Use APInt's umul_ov instead of rolling our own overflow detection.
llvm-svn: 128380
2011-03-27 15:04:38 +00:00
Frits van Bommel
0bb2ad2cf7 Constant folding support for calls to umul.with.overflow(), basically identical to the smul.with.overflow() code.
llvm-svn: 128379
2011-03-27 14:26:13 +00:00
Duncan Sands
d5f631cd2a Partially revert commit 127155: I think it is much more convenient
to have structured log files rather than one big file produced by
piping output.

llvm-svn: 128378
2011-03-27 13:52:32 +00:00
Douglas Gregor
0a1650feae Clang supports __STDC_HOSTED__. Patch by Jonathan Sauer
llvm-svn: 128377
2011-03-27 09:49:38 +00:00
Chandler Carruth
33bf3e758d Diagnose uninitialized uses of a variable within its own initializer.
This is basically the same idea as the warning on uninitialized uses of
fields within an initializer list. As such, it is on by default and
under -Wuninitialized.

Original patch by Richard Trieu, with some massaging from me on the
wording and grouping of the diagnostics.

llvm-svn: 128376
2011-03-27 09:46:56 +00:00
Anton Yartsev
28ccef788b supported: AltiVec vector initialization with a single literal according to PIM section 2.5.1 - after initialization all elements have the value specified by the literal
llvm-svn: 128375
2011-03-27 09:32:40 +00:00
John McCall
358d056c14 We were emitting construction v-tables with internal linkage all the time.
Emit them instead with the linkage of the VTT.

I'm actually really ambivalent about this;  it's what GCC does, but outside
of improving code size (if the linkage is coalescing), I'm not sure it's
at all relevant.  Construction vtables are naturally referenced only by the
VTT, which is itself only referenced by complete-object constructors and
destructors;  giving the construction vtables possibly-external linkage is
important if you have an optimization that drills through the VTT to a
reference to a particular construction vtable which it cannot just emit
itself.

llvm-svn: 128374
2011-03-27 09:00:25 +00:00
Nick Lewycky
83167df787 Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. This
removes one use of X which helps it pass the many hasOneUse() checks.

In my analysis, this turns up very often where X = A >>exact B and that can't be
simplified unless X has one use (except by increasing the lifetime of A which is
generally a performance loss).

llvm-svn: 128373
2011-03-27 07:30:57 +00:00
NAKAMURA Takumi
823f3eb142 www/get_started.html: Fix a few URLs.
llvm-svn: 128372
2011-03-27 02:04:21 +00:00