Commit Graph

110281 Commits

Author SHA1 Message Date
Johnny Chen 985e740cd9 Add an abstract base class called BenchBase to be inherited by benchmark tests.
Modify the example TestRepeatedExprs.py to use BenchBase, instead.

llvm-svn: 136649
2011-08-01 21:13:26 +00:00
Sean Callanan 7f3755b5ff Fixed a problem in the expression parser that
caused functions that were cast as part of the
call to have that cast ignored once their 
addresses were resolved.

Notably, in the case of objc_msgSend(), if
the function was cast from something returning
i8* to something returning i8, the expression
parser was discarding the cast as part of its
resolution.  This caused crashes later on.

llvm-svn: 136648
2011-08-01 20:53:53 +00:00
Akira Hatanaka fb1d9f325c Implement MipsABIInfo::EmitVAArg. This fix enables clang to complete compilation
without bailing out when va_arg is an aggregate expression. However, 
alignment checking needs to be added in isSafeToEliminateVarargsCast in
InstCombineCalls.cpp in order to produce correct mips code (see link below).

http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-July/042047.html

llvm-svn: 136647
2011-08-01 20:48:01 +00:00
Roman Divacky 2fbb48ae20 Fix a typo.
llvm-svn: 136646
2011-08-01 20:38:27 +00:00
Owen Anderson faee2cf9ff The FixedLenDecoder needs to gracefully handle failing per-instruction decoder hooks in addition to per-operand decoder hooks.
llvm-svn: 136645
2011-08-01 20:06:49 +00:00
Chad Rosier 96d690ccdf Driver: When compiling i386 -fapple-kext code, we fallback to llvmgcc.
Unfortunately, llvmgcc doesn't always work when writing temporary output to
/dev/null.  Therefore, create a temp file that is later deleted.
rdar://9837692

llvm-svn: 136644
2011-08-01 19:58:48 +00:00
Chandler Carruth c099a6f9ce Actually finish switching to the new system for Target sublibrary
TableGen deps introduced in r136023. This completes the fixing that
dgregor started in r136621. Sorry for missing these the first time
around.

This should fix some of the random race-condition failures people are
still seeing with CMake.

llvm-svn: 136643
2011-08-01 19:55:11 +00:00
Bruno Cardoso Lopes 7513939ddd Since vectors with all ones can't be created with a 256-bit instruction,
avoid returning early for v8i32 types, which would only be valid for
vector with all zeros. Also split the handling of zeros and ones into separate
checking logic since they are handled differently. This fixes PR10547

llvm-svn: 136642
2011-08-01 19:51:53 +00:00
Johnny Chen fb4264c501 More refactorings to migrate logic from TestBase to its parent class.
llvm-svn: 136641
2011-08-01 19:50:58 +00:00
Evan Cheng de4ae46607 Set endianess and pointer size for PPC Linux. Bug noticed by Roman Divacky.
llvm-svn: 136639
2011-08-01 19:43:05 +00:00
Jakub Staszak 8b13b59f60 Change SmallVector to SmallPtrSet in BranchProbabilityInfo. Handle cases where
one than one successor goes to the same block.

llvm-svn: 136638
2011-08-01 19:16:26 +00:00
Johnny Chen a74bb0ae6f Start refactoring lldbtest.TestBase so that it inherits from a newly created lldbtest.Base class,
while its API clients remain unchanged.  The new lldbtest.Base class is to capture common behaviors
when working with the test driver to accomplish things.  The clients of lldbtest.Base can be
lldb command line and api tests as well as other generic tests like a benchmark test.

llvm-svn: 136636
2011-08-01 18:46:13 +00:00
Owen Anderson 37ef826040 Enhance the fixed length disassembler to better handle operand decoding failures.
llvm-svn: 136635
2011-08-01 18:44:37 +00:00
Owen Anderson 36bc519a7f Add a clear() operation to MCInst, to drop all of its operands. Useful for the disassembler, where we may realize fairly late into decoding that something is wrong and need to reset.
llvm-svn: 136634
2011-08-01 18:43:18 +00:00
Johnny Chen f57119bc21 Remove the @expectedFailure decorator since the bug has been fixed.
rdar://problem/9673664

llvm-svn: 136633
2011-08-01 18:26:32 +00:00
Sean Callanan b995119900 Added checking to make sure that the target has a
scratch AST context before attempting to parse.

llvm-svn: 136631
2011-08-01 18:18:33 +00:00
Akira Hatanaka df425dbf04 Pass records with non-trivial destructors or constructors indirectly.
llvm-svn: 136630
2011-08-01 18:09:58 +00:00
Sean Callanan af8e96c185 Fixed a bug where named constants were being
treated as externals, causing problems when we
tried to look their locations up in the debug
info.  For example:

expr char c[] = "foo"; c[0]

would terminate when trying to find c in the
debug information, despite the fact that c was
defined inside the expression.

llvm-svn: 136629
2011-08-01 17:41:38 +00:00
David Chisnall 28dc7f94f8 Fix linkage type for tentative definition of ivar offset variables (GNUstep runtime)
llvm-svn: 136628
2011-08-01 17:36:53 +00:00
Greg Clayton 89f138ae63 Remove the deprecated MacOSX native plug-in.
llvm-svn: 136626
2011-08-01 17:08:02 +00:00
Greg Clayton 0516c503ec Copy the native darwin register stuff out of the ProcessMacOSX
plug-in folder.

llvm-svn: 136625
2011-08-01 17:06:30 +00:00
Douglas Gregor 2df17cbeeb Move the serialization of the MODULE_OFFSET_MAP out of the source-manager-writing code and into the general chained-PCH writing code
llvm-svn: 136624
2011-08-01 16:54:33 +00:00
Richard Osborne 0cc000ef29 Fix crash with varargs function with no named parameters.
llvm-svn: 136623
2011-08-01 16:45:59 +00:00
Sean Callanan 789ee677d9 Updated LLVM to pick up a few new ARM targets.
llvm-svn: 136622
2011-08-01 16:38:39 +00:00
Douglas Gregor d41f3a161f Update CMake target names for tablegen-generated data in the X86 and ARM targets. This should fix the CMake build with MSVC.
llvm-svn: 136621
2011-08-01 16:29:27 +00:00
Douglas Gregor 5a1797c67b Rename the AST file's SOURCE_LOCATION_MAP to MODULE_OFFSET_MAP, to indicate the greater role it will soon play in remapping.
llvm-svn: 136619
2011-08-01 16:01:55 +00:00
Jakub Staszak 6b31963d6c Add BlockFrequency::getEntryFrequency()
llvm-svn: 136618
2011-08-01 15:22:10 +00:00
Jay Foad 92c1913e22 Add braces.
llvm-svn: 136612
2011-08-01 12:48:54 +00:00
Jay Foad 26db79d236 Simplify printAlias.
llvm-svn: 136611
2011-08-01 12:29:14 +00:00
Jay Foad 7f4cd9e678 Micro-optimisation in getAliasedGlobal.
llvm-svn: 136610
2011-08-01 12:28:01 +00:00
Jay Foad 8dfee5f6bf Remove an unnecessary cast.
llvm-svn: 136609
2011-08-01 12:27:15 +00:00
Jay Foad 97c14a6b39 The operands of a GlobalAlias are always Constants. Simplify things
accordingly.

llvm-svn: 136608
2011-08-01 12:20:36 +00:00
Greg Clayton 0b099a432b Update Xcode project versions to lldb-70 and debugserver-142.
llvm-svn: 136606
2011-08-01 05:05:43 +00:00
Chandler Carruth 09fae1f257 I mis-interpreted the MCDisassembler's intended dependencies. Now to fix
them properly. Specifically, the disassembler clearly attempts to
initialiaze all TargetInfo, MCTargeDesc, AsmParser, and Disassembler
sublibraries of registered targets. This makes the CMakeLists accurately
reflect this intent in the code.

This should fix the last of the link errors that I have gotten reports
of on OS X, but if anyone continues to see link errors, continue to
pester me and I'll look into it.

llvm-svn: 136603
2011-07-31 22:00:40 +00:00
Fariborz Jahanian c81decc0f5 Test for // rdar://9846759
llvm-svn: 136602
2011-07-31 20:27:31 +00:00
Howard Hinnant eaaf7f26df Correct misspelling:_LIBCPP_APPLE_STABLE_ABI -> _LIBCPP_STABLE_APPLE_ABI
llvm-svn: 136597
2011-07-31 17:16:32 +00:00
Howard Hinnant 2425d53cd8 Change how _LIBCPP_HAS_NO_ADVANCED_SFINAE gets set.
llvm-svn: 136596
2011-07-31 17:10:44 +00:00
Howard Hinnant f622b58c83 Fixed PR10507 (http://llvm.org/bugs/show_bug.cgi?id=10507)
llvm-svn: 136595
2011-07-31 17:04:30 +00:00
Bill Wendling ae8b5ea838 Fix some validation errors.
llvm-svn: 136591
2011-07-31 06:47:33 +00:00
Bill Wendling 537603b35d Fix some validation errors.
llvm-svn: 136590
2011-07-31 06:45:03 +00:00
Bill Wendling f891bf8b30 Add the 'resume' instruction for the new EH rewrite.
This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).

llvm-svn: 136589
2011-07-31 06:30:59 +00:00
Jakub Staszak 6651b33671 Do not handle cases with >= and <= predicates.
llvm-svn: 136588
2011-07-31 05:54:04 +00:00
Jakub Staszak e348afb612 Remove untrue comment.
llvm-svn: 136587
2011-07-31 04:51:14 +00:00
Jakub Staszak bfb1ae223b Do not handle case where LHS is equal to zero, because InstCombiner always moves
it to RHS anyway.

llvm-svn: 136586
2011-07-31 04:47:20 +00:00
Rafael Espindola a3a44f3fc3 Add a small gep optimization I noticed was missing while reading some IL.
llvm-svn: 136585
2011-07-31 04:43:41 +00:00
Jakob Stoklund Olesen 163e7a73f1 Time the emission of debug values.
llvm-svn: 136584
2011-07-31 03:53:42 +00:00
Jakub Staszak 17af66a62f Add Zero Heurestics to BranchProbabilityInfo. If we compare value to zero we
decide whether condition is likely to be true this way:

x == 0  ->  false
x <  0  ->  false
x <= 0  ->  false
x != 0  ->  true
x >  0  ->  true
x >= 0  ->  true

llvm-svn: 136583
2011-07-31 03:27:24 +00:00
Benjamin Kramer 99d53ff456 Remove InvalidateStructLayoutInfo from the ocaml bindings.
llvm-svn: 136582
2011-07-31 01:12:39 +00:00
Benjamin Kramer 558e37858b Remove dead code flagged by GCC's -Wunused-but-set-variable.
llvm-svn: 136581
2011-07-31 01:06:41 +00:00
Peter Collingbourne eb72547f09 Add reloc arg to standard JIT createJIT()
Fixes non-__APPLE__ build.  Patch by Matt Johnson!

llvm-svn: 136580
2011-07-30 22:42:24 +00:00