Jim Grosbach
96ef39a8db
Revert 119600 to unbreak the build. Francois, please investigate.
...
llvm-svn: 119606
2010-11-18 01:38:07 +00:00
Dale Johannesen
ed0d840838
Do not throw away alignment when generating the DAG for
...
memset; we may need it to decide between MOVAPS and MOVUPS
later. Adjust a test that was looking for wrong code.
PR 3866 / 8675131.
llvm-svn: 119605
2010-11-18 01:35:23 +00:00
Evan Cheng
a2f30cc121
Code clean up.
...
llvm-svn: 119604
2010-11-18 01:28:51 +00:00
Jim Grosbach
19be1fbca1
Add FIXME.
...
llvm-svn: 119603
2010-11-18 01:20:48 +00:00
Jim Grosbach
cfb66204b7
Refactor the ARM PICADD and PICLDR* instructions to really be pseudos and not
...
just pretend to be.
llvm-svn: 119602
2010-11-18 01:15:56 +00:00
Owen Anderson
d127e7174b
Try again at providing Thumb2 encodings for basic multiplication operators.
...
llvm-svn: 119601
2010-11-18 01:08:42 +00:00
Francois Pichet
ce52087bf3
Appease MSVC 2008: you can't use keyword this inside EXPECT_EQ().
...
This is because of bug 331418 on Microsoft Connect.
llvm-svn: 119600
2010-11-18 00:59:50 +00:00
John Thompson
488051f1a6
Fixed to use input redirection for source - to eliminate .s output.
...
llvm-svn: 119599
2010-11-18 00:50:20 +00:00
Jim Grosbach
8e7f8df4a2
Refactor a few ARM load instructions to better parameterize things and re-use
...
common encoding information.
llvm-svn: 119598
2010-11-18 00:46:58 +00:00
Owen Anderson
28883834e1
Revert r119593 while I figure out my testing disagrees with the buildbot.
...
llvm-svn: 119597
2010-11-18 00:42:51 +00:00
Ted Kremenek
5d304a34c6
CursorVisitor: switch remaining expressions over
...
to the data-recursion algorithm. CursorVisitor
now no longer subclasses StmtVisitor.
llvm-svn: 119596
2010-11-18 00:42:18 +00:00
Dan Gohman
8ea83d81e0
Introduce memoization for ScalarEvolution dominates and properlyDominates
...
queries, and SCEVExpander getRelevantLoop queries.
llvm-svn: 119595
2010-11-18 00:34:22 +00:00
Argyrios Kyrtzidis
ef6c8da50f
-Rename -Wargument-larger-than -> -Wlarge-by-value-copy
...
-Improve the diagnostic message
-Add some comments
Suggestions by Chris.
llvm-svn: 119594
2010-11-18 00:20:36 +00:00
Owen Anderson
64aaddcd64
Provide correct Thumb2 encodings for basic multiplication operators.
...
llvm-svn: 119593
2010-11-18 00:19:10 +00:00
Oscar Fuentes
b59ee62583
Updated library dependencies.
...
llvm-svn: 119592
2010-11-18 00:12:27 +00:00
Ted Kremenek
8390027a99
CursorVisitor: migrate handling of
...
'DependentScopeDeclRefExpr' and
'CXXDependentScopeMemberExpr' to the
data-recursion algorithm.
llvm-svn: 119591
2010-11-18 00:02:32 +00:00
John Thompson
ddc7ce548c
Bug 8621 fix - pointer cast stripped from inline asm constraint argument.
...
llvm-svn: 119590
2010-11-17 23:58:47 +00:00
Wesley Peck
eef03fb444
Make MCJIT work with CMake.
...
llvm-svn: 119589
2010-11-17 23:35:07 +00:00
Jim Grosbach
56f471726c
Clean up LEApcrel instuction(s) a bit. It's not really a Pseudo, so don't mark
...
it as such. Add some encoding information.
llvm-svn: 119588
2010-11-17 23:33:14 +00:00
Dan Gohman
7e6b393e66
Factor out the code for purging a SCEV from all the various memoization maps.
...
Some of these maps may merge in the future, but for now it's convenient to have
a utility function for them.
llvm-svn: 119587
2010-11-17 23:28:48 +00:00
Ted Kremenek
7df92ae92b
Make definition of CXTranslationUnitImpl private
...
to libclang.
llvm-svn: 119585
2010-11-17 23:24:11 +00:00
Dan Gohman
7ee1bbb76c
Merge the implementations of isLoopInvariant and hasComputableLoopEvolution, and
...
memoize the results. This improves compile time in code which highly complex
expressions which get queried many times.
llvm-svn: 119584
2010-11-17 23:21:44 +00:00
Argyrios Kyrtzidis
af84ec0a96
Introduce option -Wargument-larger-than[=N] which warns about function definitions if they take by-value
...
or return by-value any POD that is larger than some threshold (default is 64 bytes).
Implements rdar://8548050.
llvm-svn: 119583
2010-11-17 23:11:54 +00:00
Sean Callanan
afe16a71f7
Added support for constant strings of the form @"this-is-a-string".
...
They are replaced with calls to the CoreFoundation function
CFStringCreateWithBytes() by a portion of the IRForTarget pass.
llvm-svn: 119582
2010-11-17 23:00:36 +00:00
Sean Callanan
ac6429fc9a
Whitespace fix.
...
llvm-svn: 119581
2010-11-17 23:00:07 +00:00
Wesley Peck
307e4688c5
Now that the MBlaze backend is in its own directory, split the test cases into multiple files for different types of instructions.
...
llvm-svn: 119580
2010-11-17 22:54:43 +00:00
Dan Gohman
534749bf70
Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperand
...
to ScalarEvolution. Delete SCEV::~SCEV. SCEV is no longer virtual.
llvm-svn: 119578
2010-11-17 22:27:42 +00:00
Rafael Espindola
d47ac23154
Implement -pie.
...
llvm-svn: 119577
2010-11-17 22:26:15 +00:00
Owen Anderson
55425e7f78
Second attempt at correct encodings for Thumb2 bitfield instructions.
...
llvm-svn: 119575
2010-11-17 22:16:31 +00:00
Rafael Espindola
cfaaddaee0
Don't warn about
...
clang -w -c foo.s
Helps with the gdb testsuite.
llvm-svn: 119574
2010-11-17 22:13:25 +00:00
Jim Grosbach
4ded8f264a
Fix comment typo.
...
llvm-svn: 119573
2010-11-17 21:57:51 +00:00
Dale Johannesen
0659c8f157
These tests are looking for library function names that
...
appear to differ on Linux. Try to make them pass on Linux.
Would be good for a Linux person to review this.
llvm-svn: 119572
2010-11-17 21:57:32 +00:00
Howard Hinnant
d09f711dc2
LWG 1325
...
llvm-svn: 119571
2010-11-17 21:53:14 +00:00
Dan Gohman
20d9ce21ef
Move SCEV::dominates and properlyDominates to ScalarEvolution.
...
llvm-svn: 119570
2010-11-17 21:41:58 +00:00
Douglas Gregor
b4a7c0385d
Do not produce "purely informative" code completion results for
...
Objective-C message sends, which have only whitespace in their
TypedText chunk. Such results have no purpose.
llvm-svn: 119569
2010-11-17 21:36:08 +00:00
Marcin Swiderski
af56739355
In EvalArguments allow for evaluation of first argument always as a lvalue. Will be used for CXXOperatorCallExpr that represents method call.
...
llvm-svn: 119567
2010-11-17 21:27:36 +00:00
Bob Wilson
881b45ccdf
Change ARMGlobalMerge to keep BSS globals in separate pools.
...
This completes the fixes for Radar 8673120.
llvm-svn: 119566
2010-11-17 21:25:39 +00:00
Bob Wilson
4c8ab19c22
Fix ARMGlobalMerge pass to check if globals are entirely within range.
...
It is generally not sufficient to check if the starting offset is in range
of the maximum offset that can be efficiently used for the target.
llvm-svn: 119565
2010-11-17 21:25:36 +00:00
Bob Wilson
59182fb4b5
Change the symbol for merged globals from "merged" to "_MergedGlobals".
...
This makes it more clear that the symbol is an internal, compiler-generated
name and gives a little more description about its contents.
llvm-svn: 119564
2010-11-17 21:25:33 +00:00
Bob Wilson
f796d4b469
Fix the ARMGlobalMerge pass to look at variable sizes instead of pointer sizes.
...
It was mistakenly looking at the pointer type when checking for the size of
global variables. This is a partial fix for Radar 8673120.
llvm-svn: 119563
2010-11-17 21:25:27 +00:00
Dan Gohman
afd6db9932
Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be member
...
functions of ScalarEvolution, in preparation for memoization and
other optimizations.
llvm-svn: 119562
2010-11-17 21:23:15 +00:00
Howard Hinnant
5ba1459c4c
LWG 1323
...
llvm-svn: 119560
2010-11-17 21:11:40 +00:00
Jim Grosbach
08c562bba6
Make the ARM BR_JTadd instruction an explicit pseudo and lower it properly
...
in the MC lowering process.
llvm-svn: 119559
2010-11-17 21:05:55 +00:00
Evan Cheng
39c81c0a55
Avoid isel movcc of large immediates when the large immediate is available in a register. These immediates aren't free.
...
llvm-svn: 119558
2010-11-17 20:56:30 +00:00
Dan Gohman
1ee6d24072
Reference ScalarEvolution by name rather than directly in LICM,
...
to avoid an unneeded dependence.
llvm-svn: 119557
2010-11-17 20:50:07 +00:00
Duncan Sands
39d77131a1
Before replacing a phi node with a different value, it
...
needs to be checked that this won't break LCSSA form.
Change the existing checking method to a more direct one:
rather than seeing if all predecessors belong to the loop,
check that the replacing value is either not in any loop or
is in a loop that contains the phi node.
llvm-svn: 119556
2010-11-17 20:49:12 +00:00
Owen Anderson
6c37ceb182
Revert r119551, which broke buildbots.
...
llvm-svn: 119555
2010-11-17 20:48:51 +00:00
Dan Gohman
d3a32ae4c8
Verify SCEVAddRecExpr's invariant in ScalarEvolution::getAddRecExpr
...
instead of in SCEVAddRecExpr's constructor, in preparation for an
upcoming change.
llvm-svn: 119554
2010-11-17 20:48:38 +00:00
Jim Ingham
978e071f16
Add a missing newline to the ThreadPlanAssemblyTracer output.
...
llvm-svn: 119553
2010-11-17 20:40:29 +00:00
Rafael Espindola
f92614c578
Don't warn about -w not being used in a link. Necessary to get sane
...
results in the gdb testsuite.
llvm-svn: 119552
2010-11-17 20:37:10 +00:00