Commit Graph

48730 Commits

Author SHA1 Message Date
Dan Gohman 4a87660127 Remove an unused variable.
llvm-svn: 57621
2008-10-16 01:47:47 +00:00
Dan Gohman fc27e25a6e Fix Instruction::isIdenticalTo and isSameOperationAs to recognize
additional information in Loads, Stores, Calls, Invokes,
InsertValueInsts, and ExtractValueInsts.

llvm-svn: 57620
2008-10-16 01:24:45 +00:00
Zhongxing Xu 20c1b60178 Fix a calculation error in comments.
llvm-svn: 57619
2008-10-16 01:21:44 +00:00
Dan Gohman 0b3bcee284 Rename AliasSet to SubRegs, to reflect changes in the surrounding code.
llvm-svn: 57618
2008-10-16 01:06:18 +00:00
Dan Gohman 6613991eae Move the include of MachineLocation.h into MachineModuleInfo.h
because it declares a std::vector<MachineMove>, and strict
concept checking requires the definition of MachineMove to be
available.

llvm-svn: 57617
2008-10-16 00:20:14 +00:00
Dan Gohman 986c9bbe59 Implement a SmallVector insert method that can insert multiple
copies of a value, and add several additional utilities to make
SmallVector better conform to the Container concept.

llvm-svn: 57616
2008-10-16 00:15:24 +00:00
Dan Gohman d6ebff8761 Fix several places that called mapped_iterator's constructor without
passing in a function object.

llvm-svn: 57615
2008-10-16 00:12:39 +00:00
Dan Gohman bf293c48db Fix a subtle bug in DeadMachineInstructionElim's liveness
computation. A def of a register doesn't necessarily kill
live super-registers.

llvm-svn: 57614
2008-10-16 00:11:23 +00:00
Daniel Dunbar 5f68d4571b ccc: support -Xlinker
llvm-svn: 57613
2008-10-16 00:10:28 +00:00
Dan Gohman 6bae5268a7 Fix the predicate for memop64 to be a regular load, not just
an unindexed load.

llvm-svn: 57612
2008-10-16 00:03:00 +00:00
Argyrios Kyrtzidis 84a4df8c92 Issue a warning when there's an ambiguous function declarator (that could be a direct initializer for a variable defition).
Idea originated from here: http://thread.gmane.org/gmane.comp.gcc.devel/101524

llvm-svn: 57609
2008-10-15 23:21:32 +00:00
Dan Gohman bc0278400c Teach instcombine's visitLoad to scan back several instructions
to find opportunities for store-to-load forwarding or load CSE,
in the same way that visitStore scans back to do DSE. Also, define
a new helper function for testing whether the addresses of two
memory accesses are known to have the same value, and use it in
both visitStore and visitLoad.

These two changes allow instcombine to eliminate loads in code
produced by front-ends that frequently emit obviously redundant
addressing for memory references.

llvm-svn: 57608
2008-10-15 23:19:35 +00:00
Dan Gohman 7847142f26 Correct the name of isTrapping in comments.
llvm-svn: 57606
2008-10-15 22:56:21 +00:00
Dan Gohman 8a97a9a7e8 Fix whitespace in a comment.
llvm-svn: 57605
2008-10-15 22:55:03 +00:00
Duncan Sands 5e39031007 Testcase for PR2894.
llvm-svn: 57604
2008-10-15 22:34:34 +00:00
Daniel Dunbar 76eae72a0c ccc: support -fsyntax-only, add some more darwin options, support
logging of actions.

llvm-svn: 57603
2008-10-15 21:52:00 +00:00
Nicolas Geoffray 54efd496bc Remove naming Tilmann for generics.
llvm-svn: 57599
2008-10-15 20:25:04 +00:00
Argyrios Kyrtzidis 2e3e756304 Fix this bug:
typedef int f();
struct S {
   f *x; // incorrectly assuming this is function decl, leading to failed assertions.
};

llvm-svn: 57598
2008-10-15 20:23:22 +00:00
Anton Korobeynikov ba13e8db17 Add global variable to test for consistency
llvm-svn: 57597
2008-10-15 20:22:44 +00:00
Anton Korobeynikov 99ed98ab40 This is not failing anymore
llvm-svn: 57596
2008-10-15 20:13:10 +00:00
Anton Korobeynikov 006659f08d Also properly handle linking of strong alias and weak global
llvm-svn: 57595
2008-10-15 20:10:50 +00:00
Anton Korobeynikov 82dd61114d Properly handle linking of strong alias with weak function, this fixes PR2883
llvm-svn: 57594
2008-10-15 20:10:08 +00:00
Steve Naroff dbc44de285 Add TokenRewriter to VC++ project.
llvm-svn: 57593
2008-10-15 19:52:33 +00:00
Steve Naroff 6b40b8ab27 Add RewriteTest.cpp to VC++ project.
llvm-svn: 57592
2008-10-15 19:49:15 +00:00
Steve Naroff e17f52fc23 Tighten up blocks rewriter to handle casts and some other interesting cases.
This fixes <rdar://problem/6289007> clang block rewriter: ^ in cast is not rewritten.

llvm-svn: 57591
2008-10-15 18:38:58 +00:00
Bill Wendling f998a65980 Testcase for PR1638.
llvm-svn: 57590
2008-10-15 18:27:15 +00:00
Dan Gohman c7e00ba60f Fix a missing space after the return type in invoke statements.
This fixes PR2894.

llvm-svn: 57589
2008-10-15 18:02:08 +00:00
Daniel Dunbar a0dcd78081 Use BatchEmitOwnedPtrs for writing multiple child exprs, per review.
Also added serialization support to OverloadExpr.

llvm-svn: 57588
2008-10-15 17:52:29 +00:00
Chris Lattner e0230f4646 Fix PR2115 by doxygenating Use more, and make some more methods private.
llvm-svn: 57587
2008-10-15 16:56:14 +00:00
Chris Lattner 9b83197b76 move PR1941 here.
llvm-svn: 57586
2008-10-15 16:33:52 +00:00
Bill Wendling 2d362a77c8 Unbreak the build. Please test out the proper fix for this by compiling LLVM
with the build directory different from the source directory.

llvm-svn: 57583
2008-10-15 16:20:13 +00:00
Chris Lattner 6d275fd6e1 move PR1604 here.
llvm-svn: 57582
2008-10-15 16:06:03 +00:00
Chris Lattner 843dacc937 move PR1488 into this file.
llvm-svn: 57579
2008-10-15 16:02:15 +00:00
Anton Korobeynikov 185c72103b Temporary revert r57567 and unbreak the build.
llvm-svn: 57578
2008-10-15 14:22:06 +00:00
Nuno Lopes 6cbd4430cc regenerate
llvm-svn: 57577
2008-10-15 12:05:02 +00:00
Nuno Lopes 99f3dc6798 fix memleak in GetForwardRefForGlobal()
llvm-svn: 57576
2008-10-15 12:04:36 +00:00
Nuno Lopes 6f6e4e94be regenerate
llvm-svn: 57575
2008-10-15 11:20:21 +00:00
Nuno Lopes a4a546cb40 fix memleak in getTypeVal()
llvm-svn: 57574
2008-10-15 11:19:34 +00:00
Nuno Lopes bb683f953e regenerate
llvm-svn: 57573
2008-10-15 11:11:12 +00:00
Nuno Lopes 48e9028000 fix memleak in ResolveTypeTo()
llvm-svn: 57572
2008-10-15 11:10:21 +00:00
Gabor Greif e4544f7f91 catch one more typo, canonicalize LLVMdev
llvm-svn: 57571
2008-10-15 10:47:24 +00:00
Gabor Greif 3b33cb1667 fix some validation errors, improve formatting, squash a strange plural
llvm-svn: 57570
2008-10-15 10:29:51 +00:00
Gabor Greif 57bb5aec25 remove legacy interfaces
llvm-svn: 57569
2008-10-15 09:52:56 +00:00
Mikhail Glushenkov fe292356a2 llvmc2: Documentation update. Describe recent work on plugins.
llvm-svn: 57568
2008-10-15 09:29:13 +00:00
Mikhail Glushenkov 98757b24ec llvmc2: Some Makefile fixes and renames.
llvm-svn: 57567
2008-10-15 09:28:50 +00:00
Mikhail Glushenkov 13095977c5 Use (a slightly modified) llvm.css for llvmc2 docs.
llvm-svn: 57566
2008-10-15 09:27:44 +00:00
Dan Gohman 29ad439782 Now that predicates can be composed, simplify several of
the predicates by extending simple predicates to create
more complex predicates instead of duplicating the logic
for the simple predicates.

This doesn't reduce much redundancy in DAGISelEmitter.cpp's
generated source yet; that will require improvements to
DAGISelEmitter.cpp's instruction sorting, to make it more
effectively group nodes with similar predicates together.

llvm-svn: 57565
2008-10-15 06:50:19 +00:00
Mon P Wang 1f71a69cb9 Removed pinsrd and pinsrq intrinsics because the code generator does not support
them since they map to insert element

llvm-svn: 57564
2008-10-15 06:27:16 +00:00
Mon P Wang d05269d13c Added pinsrd, pinsrq, and some other vector intrinsics
llvm-svn: 57563
2008-10-15 06:18:34 +00:00
Dan Gohman 6e979020cd Add support for having multiple predicates on a TreePatternNode.
This will allow predicates to be composed, which will allow the
predicate definitions to become less redundant, and eventually
will allow DAGISelEmitter.cpp to emit less redundant code.

llvm-svn: 57562
2008-10-15 06:17:21 +00:00