Commit Graph

95235 Commits

Author SHA1 Message Date
Bill Wendling 91607f878c Emit a '!' if this is a "writeback" register or memory address.
llvm-svn: 118662
2010-11-10 01:07:54 +00:00
Jakob Stoklund Olesen de5c4dc24b Simplify the LiveRangeEdit::canRematerializeAt() interface a bit.
llvm-svn: 118661
2010-11-10 01:05:12 +00:00
Dan Gohman 2694e14087 Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis
chaining and simplify FunctionAttrs' GetModRefBehavior logic.

llvm-svn: 118660
2010-11-10 01:02:18 +00:00
Chris Lattner 49609d56d7 make sure #pragma clang is treated the same way as #pragma gcc in -E mode,
unknown pragmas should just be passed through to the .i file.

llvm-svn: 118659
2010-11-10 01:00:49 +00:00
John McCall fd81c52947 Tweak to bitfield-overflow warning: don't warn about storing
a positive value into a signed bitfield of the exact width of
the value.

llvm-svn: 118657
2010-11-10 00:26:50 +00:00
Matt Beaumont-Gay 55c4cc76ce Rename a parameter to avoid confusion with a local variable
llvm-svn: 118656
2010-11-10 00:08:58 +00:00
Johnny Chen cc78b0b67f Add more comments on LLDBTestResult class.
llvm-svn: 118655
2010-11-09 23:56:14 +00:00
Greg Clayton 7a34528d68 Did a lot of code cleanup.
Fixed the DWARF plug-in such that when it gets all attributes for a DIE, that
it omits the DW_AT_sibling and DW_AT_declaration when getting attributes
from a DW_AT_abstract_origin or DW_AT_specification DIE.

llvm-svn: 118654
2010-11-09 23:46:37 +00:00
Bill Wendling e9a9c6da04 Emit the warning about the register list not being in ascending order only once.
llvm-svn: 118653
2010-11-09 23:45:59 +00:00
Dale Johannesen 7e62965a7d Jim's recent fixes 118600, 118587, 118513 have made these work.
llvm-svn: 118652
2010-11-09 23:43:34 +00:00
Rafael Espindola 9bb44a5ce8 Fixed version of 118639 with an extra assert to catch similar problems
earlier. Implicit bool -> int conversions are evil!

llvm-svn: 118651
2010-11-09 23:42:07 +00:00
Johnny Chen bb4f8e6f7b Rephrase the output message about session information; make it both "session logs".
llvm-svn: 118650
2010-11-09 23:42:00 +00:00
John McCall 0e6cfaf6c0 Typo.
llvm-svn: 118649
2010-11-09 23:36:43 +00:00
Bill Wendling bed9465a96 s/std::vector/SmallVector/
llvm-svn: 118648
2010-11-09 23:28:44 +00:00
John McCall d2a5312e14 Add a warning for implicit truncation of constant values due to
bitfield assignment.

Implements rdar://problem/7809123

llvm-svn: 118647
2010-11-09 23:24:47 +00:00
Johnny Chen 07569be70c When dumping the session log for a failed/errored test, also emit the command to
invoke the test driver to rerun the very same test.  Example output:

/Volumes/data/lldb/svn/trunk/test $ tail 2010-11-09-14_51_34/ExpectedFailure-TestSettings.SettingsCommandTestCase.test_set_output_path.log 

Traceback (most recent call last):
  File "/Volumes/data/lldb/svn/trunk/test/settings/TestSettings.py", line 136, in test_set_output_path
    "'stdout.txt' exists due to target.process.output-path.")
AssertionError: False is not True : 'stdout.txt' exists due to target.process.output-path.


To rerun this test, issue the following command from the 'test' directory:

./dotest.py -v -t -f SettingsCommandTestCase.test_set_output_path

llvm-svn: 118646
2010-11-09 22:56:12 +00:00
Rafael Espindola 33048f069f Revert previous patch. Missed a case.
llvm-svn: 118645
2010-11-09 22:54:38 +00:00
Bill Wendling da3c0fbc64 Delete the allocated vector.
llvm-svn: 118644
2010-11-09 22:51:42 +00:00
Bob Wilson d0046ca62d Define the subtarget feature for the architecture version,
as derived from the target triple.  This is important for enabling
features that are implied based on the architecture version.

llvm-svn: 118643
2010-11-09 22:50:47 +00:00
Bob Wilson 193722ebc8 Do not use MEMBARRIER_MCR for any Thumb code.
It is only supported for ARM code.  Normally Thumb2 code would use DMB instead,
but depending on how the compiler is invoked (e.g., -mattr=-db) that might be
disabled.  This prevents a "cannot select MEMBARRIER_MCR" error in that
situation.  Radar 8644195

llvm-svn: 118642
2010-11-09 22:50:44 +00:00
Daniel Dunbar 4b496bc35a Add a compat note about how Clang doesn't zero-initialize __block local variables.
llvm-svn: 118641
2010-11-09 22:45:16 +00:00
Bill Wendling 2cae3277a5 Two types of instructions have register lists:
* LDM, et al, uses a bit mask to indicate the register list.
* VLDM, et al, uses a base register plus number.

The LDM instructions may be non-contiguous, but the VLDM ones must be
contiguous. Those are semantic checks that should be done later in the
compiler. Also postpone the creation of the bit mask until it's needed.

llvm-svn: 118640
2010-11-09 22:44:22 +00:00
Rafael Espindola 4bdd2724e3 Remove IsExplicit. It was always false.
llvm-svn: 118639
2010-11-09 22:37:44 +00:00
Sean Callanan 0617fcb1f1 Added a named container for the source QualType
in the type copy routine to make type problems
easier to debug.

llvm-svn: 118638
2010-11-09 22:37:10 +00:00
John McCall 18a2c2c0b9 Split out -Wconversion warnings about constant precision into their
own subcategory, -Wconstant-conversion, which is on by default.

Tweak the constant folder to give better results in the invalid
case of a negative shift amount.

Implements rdar://problem/6792488

llvm-svn: 118636
2010-11-09 22:22:12 +00:00
Fariborz Jahanian b332ba3a51 Test moved to its correct place.
llvm-svn: 118635
2010-11-09 21:40:30 +00:00
Fariborz Jahanian d11da7e52a Restore patch reversed in r118475. Fixes
// rdar://8632525

llvm-svn: 118634
2010-11-09 21:38:20 +00:00
Jim Grosbach a942ad4222 Change the ARMConstantPoolValue modifier string to an enumeration. This will
help in MC'izing the references that use them.

llvm-svn: 118633
2010-11-09 21:36:17 +00:00
Johnny Chen 021d0e3173 Remove the @skip decorator for the whole class:
@unittest2.skip("rdar://problem/8641483 ./dotest.py -v -t -w forward seg faults")

and add a @skip decorator for test_with_dwarf_and_run_command() method:

    @unittest2.skip("rdar://problem/8648070 'expression *bar_ptr' seg faults")

llvm-svn: 118632
2010-11-09 21:14:23 +00:00
Douglas Gregor 0124e9ba9a Attempt to resolve overloaded functions in comma expressions and
conditional operators. Fixes PR7863.

llvm-svn: 118631
2010-11-09 21:07:58 +00:00
Andrew Trick 488660554e Adds RABasic verification and tracing.
(retry now that the windows build is green)

llvm-svn: 118630
2010-11-09 21:04:34 +00:00
Fariborz Jahanian dbee986290 Issues good diagnostic when @end is missing.
// rdar://8283484

llvm-svn: 118629
2010-11-09 20:38:00 +00:00
Dan Gohman c275aafbce Convert comments to doxygen syntax.
llvm-svn: 118628
2010-11-09 20:33:57 +00:00
Dan Gohman e3467a7687 Teach FunctionAttrs about the VAArg instruction.
llvm-svn: 118627
2010-11-09 20:17:38 +00:00
Chris Lattner 8ea6442f92 tidy up
llvm-svn: 118626
2010-11-09 20:15:55 +00:00
Chris Lattner 0786544ac5 fix PR8380, a crash on invalid due to an illogical DeclSpec SourceRange being constructed.
llvm-svn: 118625
2010-11-09 20:14:26 +00:00
Dan Gohman 35814e6128 Use the AliasAnalysis interface to determine how a Function accesses
memory. This isn't a real improvement with present day AliasAnalysis
implementations; it's mainly for consistency.

llvm-svn: 118624
2010-11-09 20:13:27 +00:00
Dan Gohman 88ff1ece63 VAArg doesn't capture its operand.
llvm-svn: 118623
2010-11-09 20:09:35 +00:00
Dan Gohman 88d5f7fd95 Translate IntrReadArgMem to AccessesArgumentsReadonly.
llvm-svn: 118622
2010-11-09 20:07:20 +00:00
Dan Gohman 5d06f892ef Teach AliasAnalysis about AccessesArgumentsReadonly.
llvm-svn: 118621
2010-11-09 20:06:55 +00:00
Douglas Gregor 928479e727 Revert the fix for PR8013.
That bug concerned the well-formedness of code such as (&ovl)(a, b,
c). GCC rejects the code, while EDG accepts it. On further study of the
standard, I see no support for EDG's position: in particular, C++
[over.over] does not list this as a context where we can take the
address of an overloaded function, C++ [over.call.func] does not
reference the address-of operator at any point, and C++ [expr.call]
claims that the function argument in a call is either a function
lvalue or a pointer-to-function; (&ovl) is neither.

llvm-svn: 118620
2010-11-09 20:03:54 +00:00
Benjamin Kramer f2e5a91ffb Simplify code.
llvm-svn: 118619
2010-11-09 20:00:56 +00:00
Dan Gohman 0f17507478 Teach LICM and AliasSetTracker about AccessesArgumentsReadonly.
llvm-svn: 118618
2010-11-09 19:58:21 +00:00
Dan Gohman de52155685 Teach FunctionAttrs about AccessesArgumentsReadonly.
llvm-svn: 118617
2010-11-09 19:56:27 +00:00
Matt Beaumont-Gay 7c1fddb531 Add a trivial virtual dtor to AbstractRegisterDescription to appease
-Wnon-virtual-dtor.

llvm-svn: 118616
2010-11-09 19:56:25 +00:00
Dan Gohman 0a843c907f AccessesArgumentsReadonly is read-only.
llvm-svn: 118615
2010-11-09 19:50:00 +00:00
Dan Gohman bdb22007bb Add a AccessesArgumentsReadonly ModRefBehavior value, so that the intrinsic
property IntrReadArgMem can be modeled.

llvm-svn: 118614
2010-11-09 19:48:55 +00:00
Andrew Trick 42d50e920b Reverting r118604. Windows build broke.
llvm-svn: 118613
2010-11-09 19:47:51 +00:00
Chris Lattner e56c786f11 make the example a bit better, encouraging people to use "suggestions of what to use" in the message :)
llvm-svn: 118612
2010-11-09 19:43:35 +00:00
Dan Gohman 007484527b Factor out the logic for onlyReadsMemory into a helper function.
llvm-svn: 118611
2010-11-09 19:43:24 +00:00