Commit Graph

86290 Commits

Author SHA1 Message Date
Dan Gohman ee8d80d6a3 IndirectBr is not safe to speculatively execute (!)
llvm-svn: 107454
2010-07-02 00:35:34 +00:00
Greg Clayton c228ebba77 Removed the thread specific data that was being used for demangling since
removing it didn't cause any performance loss, and leaks were showing up
when run under instruments when we tried to re-use the buffer. We are now leak
free and still just as performant.

llvm-svn: 107453
2010-07-02 00:29:31 +00:00
Dan Gohman 93f5920914 Rename CreateReg to CreateRegs, and MakeReg to CreateReg.
llvm-svn: 107451
2010-07-02 00:10:16 +00:00
Craig Silverstein 19ebcd0f28 Handle typedef function declarations correctly, such as
typedef int (*Myfunc)(int);
       Myfunc func;

Reviewed by chandlerc

llvm-svn: 107450
2010-07-01 23:46:26 +00:00
Bruno Cardoso Lopes 4ca8ddaceb Shrink down SSE3 code by more multiclass refactoring
llvm-svn: 107448
2010-07-01 23:10:49 +00:00
Johnny Chen 3d7e687245 A dumber way to invoke the test suite.
Use this script to visit each python test case under the specified directory and
run python unittest.main() on each test case.

llvm-svn: 107447
2010-07-01 23:01:23 +00:00
Dale Johannesen 744c74c444 Prevent test from hanging waiting for input.
llvm-svn: 107446
2010-07-01 22:57:11 +00:00
Johnny Chen 119b53ea6d Turn on logging for debugging purposes if ${LLDB_LOG} environment variable is
is defined.  Use ${LLDB_LOG} to specify the log file.

Create a singleton SBDebugger in the lldb namespace, that gets used when running
the entire test suite.

llvm-svn: 107445
2010-07-01 22:52:57 +00:00
Douglas Gregor e71eddac59 Add a new routine Sema::LookupDestructor and make all destructor-lookup calls use that routine
llvm-svn: 107444
2010-07-01 22:47:18 +00:00
Bill Wendling 504055ce9e Make the "linker_private" linkage type emit a non-weak symbol to the file. It
will still be stripped by the linker when it generates the final image.

llvm-svn: 107440
2010-07-01 22:38:24 +00:00
Bruno Cardoso Lopes 0a17241a0d Shrink down SSE3 code by some multiclass refactoring - 1st part
llvm-svn: 107438
2010-07-01 22:33:18 +00:00
Douglas Gregor 6d880b1a83 Provide exception specifications for implicitly-declared default constructors.
llvm-svn: 107437
2010-07-01 22:31:05 +00:00
Bob Wilson 8a99b730a9 ARM function alignments were off by a power of two. svn 83242 changed
getFunctionAlignment and the corresponding use of that value in the ARM
asm printer, but now we're using the standard asm printer.  The result of
this was that function alignments were dropped completely for Thumb functions.
Radar 8143571.

llvm-svn: 107435
2010-07-01 22:26:26 +00:00
Douglas Gregor 4e8b5fb1eb Move the implicit declaration of a default constructor into a separate
routine; no functionality change.

llvm-svn: 107434
2010-07-01 22:02:46 +00:00
Bill Wendling 03bcd6ecc8 Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

      .globl l_objc_msgSend_fixup_alloc
      .weak_definition l_objc_msgSend_fixup_alloc
      .section __DATA, __objc_msgrefs, coalesced
      .align 3
l_objc_msgSend_fixup_alloc:
       .quad   _objc_msgSend_fixup
       .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.

llvm-svn: 107433
2010-07-01 21:55:59 +00:00
Gabor Greif 2df8a3a968 evil hack to coerce external users (projects)
to update their code to high-level interfaces

If you get compile errors in your project
please update your code according to the
comments.

This is a re-commit of r107396 which causes
compile errors for the indicated usage patterns
instead of link errors (which are less easy to
fix because of missing source location).

If you get compile errors please perform
following functionally equivalent transformations:
  - getOperand(0)  --->  getCalledValue()
  - setOperand(0, V)  --->  setCalledFunction(V)

This will make your code more future-proof
and avoid potentially hard-to-debug bugs.

please refer to this thread on llvm-dev:

<http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271>

llvm-svn: 107432
2010-07-01 21:46:41 +00:00
Howard Hinnant 47a3e26cf8 Updated chart with weekly test results
llvm-svn: 107431
2010-07-01 21:39:12 +00:00
Devang Patel 429397529a Do not require line number entry for undefined local variable.
This is a regression caused by r106792 and caught by gdb testsuite.

llvm-svn: 107430
2010-07-01 21:38:08 +00:00
Douglas Gregor 8453ddb5fe Provide exception specifications for implicitly-declared copy constructors.
llvm-svn: 107429
2010-07-01 20:59:04 +00:00
Daniel Dunbar 0e980755d3 MC: Fix some stray hunks I didn't intend to commit.
llvm-svn: 107428
2010-07-01 20:48:51 +00:00
Daniel Dunbar a2b1f8b5cd MC: Pass the target instance to the AsmParser constructor.
llvm-svn: 107427
2010-07-01 20:41:59 +00:00
Daniel Dunbar 02877d6e85 MC: Pass the target instance to the AsmParser constructor.
llvm-svn: 107426
2010-07-01 20:41:56 +00:00
Daniel Dunbar 96278c19fb Remove stray comma.
llvm-svn: 107425
2010-07-01 20:20:05 +00:00
Daniel Dunbar 0aa4365e47 MC: Fix an error message.
llvm-svn: 107424
2010-07-01 20:20:01 +00:00
Ted Kremenek bd862711fd Fix PR 7475 by enhancing the static analyzer to also invalidate bindings for non-static global variables
when calling a function/method whose impact on global variables we cannot accurately estimate.
This change introduces two new MemSpaceRegions that divide up the memory space of globals, and causes
RegionStore and BasicStore to consult a binding to the NonStaticGlobalsMemSpaceRegion when lazily
determining the value of a global.

llvm-svn: 107423
2010-07-01 20:16:50 +00:00
Jordy Rose f7488ec6dc Add an ivar to SymbolReaper for the current statement, and then stop passing the current statement around everywhere. Preparation for symbolic extents.
llvm-svn: 107422
2010-07-01 20:09:55 +00:00
Douglas Gregor 19ecba740f Test implicit declaration of copy assignment operator with non-const argument
llvm-svn: 107421
2010-07-01 20:08:52 +00:00
Dan Gohman 84f90a387d Remove context sensitivity concerns from interprocedural-basic-aa, and
make it more aggressive in cases where both pointers are known to live
in the same function.

llvm-svn: 107420
2010-07-01 20:08:40 +00:00
Sean Callanan 116be5347e Added a SemaConsumer that transforms the ASTs for
an expression, adding code to put the value of the
last expression (if there is one) into a variable
and write the address of that variable to a global
pointer.

llvm-svn: 107419
2010-07-01 20:08:22 +00:00
Daniel Dunbar 329d202362 MC: Move COFF enumeration constants to llvm/Support/COFF.h, patch by Michael
Spencer!

llvm-svn: 107418
2010-07-01 20:07:24 +00:00
Devang Patel 9b2a93a6cc Preserve debug info for only extracted symbols.
llvm-svn: 107417
2010-07-01 19:58:05 +00:00
Devang Patel 2b434e12cd Debugging infomration is encoded in llvm IR using metadata. This is designed
such a way that debug info for symbols preserved even if symbols are
optimized away by the optimizer. 

Add new special pass to remove debug info for such symbols.

llvm-svn: 107416
2010-07-01 19:49:20 +00:00
Douglas Gregor f120304cc4 Move the implicit declaration of a constructor out to a separate
method. No functionality change.

llvm-svn: 107415
2010-07-01 19:09:28 +00:00
Stephen Canon 75a21dc9a7 Tests for soft-float comparison functions
llvm-svn: 107414
2010-07-01 18:35:50 +00:00
Greg Clayton 735753d19c Undid extra changes I already checked in.
llvm-svn: 107413
2010-07-01 18:31:14 +00:00
Devang Patel b9e2e4b762 If a named mdnode is removed then mark module as changed.
llvm-svn: 107412
2010-07-01 18:27:46 +00:00
Douglas Gregor cfe682274c Teach DeclareImplicitCopyConstructor how to cope with virtual bases
and multi-dimensional array fields. Fixes several bugs found by
inspection.

llvm-svn: 107411
2010-07-01 18:27:03 +00:00
Jim Ingham 2f1881f6bd Missed one file in my last commit.
llvm-svn: 107410
2010-07-01 18:05:02 +00:00
Stephen Canon e9946d0d3f ... and one more fix to remove some warnings in the new double -> float conversion
llvm-svn: 107409
2010-07-01 18:02:15 +00:00
Stephen Canon 74eaf1f66c Correction to previous commit which mistakenly included older versions of some files; now includes the correct LLVM license header
llvm-svn: 107408
2010-07-01 17:58:24 +00:00
Douglas Gregor 54be33925a Move declaration of a class's implicit copy constructor into a
separate function. Aside from making the loops infinitely faster, no
functionality change.

llvm-svn: 107407
2010-07-01 17:57:27 +00:00
Douglas Gregor 68e1136585 Provide an exception-specification for an implicitly-declared
copy-assignment operator.

llvm-svn: 107406
2010-07-01 17:48:08 +00:00
Bruno Cardoso Lopes 5e88700f28 Move SSE3 Move patterns to a more appropriate section
Add AVX SSE3 packed horizontal and & sub instructions

llvm-svn: 107405
2010-07-01 17:35:02 +00:00
Bruno Cardoso Lopes 886ee33a38 Add AVX SSE3 packed addsub instructions
llvm-svn: 107404
2010-07-01 17:08:18 +00:00
Greg Clayton a5d24f6683 Added a missing static function prototype to FileSpec.h for ResolveUsername.
Did a bit of code formatting and cleanup.

llvm-svn: 107403
2010-07-01 17:07:48 +00:00
Douglas Gregor f56ab7b6be Move the implicit declaration of a class's copy-assignment operator
into a separate routine. No functionality change.

llvm-svn: 107402
2010-07-01 16:36:15 +00:00
Stephen Canon b1fdde1d01 Adding soft-float comparisons, addition, subtraction, multiplication and negation
llvm-svn: 107400
2010-07-01 15:52:42 +00:00
Gabor Greif 2400f9cb66 back out r107396 for now, it needs another minor change to function as advertised
llvm-svn: 107399
2010-07-01 15:42:00 +00:00
Douglas Gregor 3311ed4f0e Make loops infinitely faster. No functionality change.
llvm-svn: 107398
2010-07-01 15:29:53 +00:00
Gabor Greif ce68f6093e evil hack to coerce external users (projects)
to update their code to high-level interfaces

If you get compile errors in your project
please update your code according to the
comments.

llvm-svn: 107396
2010-07-01 15:16:35 +00:00