Jim Grosbach
40eda1076a
Handle cases where the post-RA scheduler may move instructions between the
...
address calculation instructions leading up to a jump table when we're trying
to convert them into a TB[H] instruction in Thumb2. This realistically
shouldn't happen much, if at all, for well formed inputs, but it's more correct
to handle it. rdar://7387682
llvm-svn: 107830
2010-07-07 22:51:22 +00:00
Johnny Chen
529728e82a
Fixed typos in the comments.
...
llvm-svn: 107829
2010-07-07 22:49:43 +00:00
Douglas Gregor
6df2b8c3ac
Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect its
...
newly-narrowed scope. No functionality change.
llvm-svn: 107828
2010-07-07 22:43:56 +00:00
Douglas Gregor
442612c285
Do not use CXXZeroValueInitExpr for class types. Instead, use
...
CXXConstructExpr/CXXTemporaryObjectExpr/CXXNewExpr as
appropriate. Fixes PR7556, and provides a slide codegen improvement
when copy-initializing a POD class type from a value-initialized
temporary. Previously, we weren't eliding the copy.
llvm-svn: 107827
2010-07-07 22:35:13 +00:00
Chris Lattner
05ea2a4791
finish up support for callw: PR7195
...
llvm-svn: 107826
2010-07-07 22:35:13 +00:00
Chris Lattner
ac5881295c
Implement the major chunk of PR7195: support for 'callw'
...
in the integrated assembler. Still some discussion to be
done.
llvm-svn: 107825
2010-07-07 22:27:31 +00:00
Nate Begeman
5da51d38d7
Fix an issue with opencl init list checking.
...
llvm-svn: 107824
2010-07-07 22:26:56 +00:00
Bruno Cardoso Lopes
6c61451011
Add more assembly opcodes for SSE compare instructions
...
llvm-svn: 107823
2010-07-07 22:24:03 +00:00
Devang Patel
a37a95ea2f
One MDNode may be used to create regular DIE as well as abstract DIE.
...
Keep track of abstract subprogram DIEs.
llvm-svn: 107822
2010-07-07 22:20:57 +00:00
Evan Cheng
1c349f18f8
Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument for consistency sake.
...
llvm-svn: 107820
2010-07-07 22:15:37 +00:00
Devang Patel
32a600b494
Print undefined/unknown debug value as "undef".
...
llvm-svn: 107818
2010-07-07 21:52:21 +00:00
Greg Clayton
51dc188216
64 bit ELF support from Stephen Wilson.
...
llvm-svn: 107817
2010-07-07 21:52:01 +00:00
Zhanyong Wan
fb617d5365
Changes how the TypeLoc traverser invokes the Type traverser: before,
...
VisitFooTypeLoc() calls VisitFooType(); now, TraverseFooTypeLoc()
calls WalkUpFromFooType(). This allows clients that override
WalkUpFromFooType() to continue to work. It also preserves the
property that Visit*() in the base visitor class is a no-op (s.t. a
subclass doesn't have to call Base::Visit*() when overriding
Visit*()).
Also fixes some typos in comments.
Also added a missing getDerived() inside
TraverseQualifiedTypeLoc(). The call is needed in case a subclass
overrides TraverseTypeLoc().
Reviewed by nlewycky and csilvers.
llvm-svn: 107816
2010-07-07 21:36:58 +00:00
Dan Gohman
25d5c1b4f8
Not all custom inserters create new basic blocks. If the inserter
...
didn't create a new block, don't reset the insert position.
llvm-svn: 107813
2010-07-07 21:18:22 +00:00
Johnny Chen
41a3c9a5f8
Test that breakpoint by symbol name works correctly dlopen'ing a dynamic lib.
...
llvm-svn: 107812
2010-07-07 21:10:55 +00:00
Jim Grosbach
e4ba2aa0c4
grammar and trailing whitespace
...
llvm-svn: 107811
2010-07-07 21:06:51 +00:00
Devang Patel
9a0339fc1f
Rename couple of maps.
...
llvm-svn: 107810
2010-07-07 20:49:57 +00:00
Jakob Stoklund Olesen
ddaf0099a5
Allow copies between GR8_ABCD_L and GR8_ABCD_H.
...
This fixes PR7540.
llvm-svn: 107809
2010-07-07 20:33:27 +00:00
Reid Kleckner
7d797f613f
Update the docs for debugging JITed code with GDB.
...
llvm-svn: 107808
2010-07-07 20:16:45 +00:00
Devang Patel
30265c4f8b
80 cols.
...
llvm-svn: 107807
2010-07-07 20:12:52 +00:00
Dan Gohman
e7ccc51cc1
Implement bottom-up fast-isel. This has the advantage of not requiring
...
a separate DCE pass over MachineInstrs.
llvm-svn: 107804
2010-07-07 19:20:32 +00:00
Howard Hinnant
189b212662
First loop test passed. The data structure and search algorithm is still crude and in-flux. But this milestone needed to be locked in. Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop. Though only *-loops are tested at the moment. In a future iteration *-loops will likely be optimized a little more. The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma. The prototype code lacks the complicating properties of the real <regex> requirements though.
...
llvm-svn: 107803
2010-07-07 19:14:52 +00:00
Greg Clayton
a624358728
Added some comments to clarify where "init_lldb" comes from.
...
llvm-svn: 107801
2010-07-07 18:40:03 +00:00
Dan Gohman
2d4d01d0de
Add X86FastISel support for return statements. This entails refactoring
...
a bunch of stuff, to allow the target-independent calling convention
logic to be employed.
llvm-svn: 107800
2010-07-07 18:32:53 +00:00
Bruno Cardoso Lopes
fd8060335b
Add AVX AES instructions
...
llvm-svn: 107798
2010-07-07 18:24:20 +00:00
Dan Gohman
b792f844ad
Update the insert position after scheduling, which may change the
...
position when emitting multiple blocks when executing a custom
inserter.
llvm-svn: 107797
2010-07-07 18:22:13 +00:00
Devang Patel
637ee5f149
Update comment.
...
llvm-svn: 107796
2010-07-07 18:18:18 +00:00
Dan Gohman
769201448d
Fix debugging strings.
...
llvm-svn: 107795
2010-07-07 17:28:45 +00:00
Greg Clayton
69b518f6ef
typedef fixups, patch from Jean-Daniel Dupas.
...
llvm-svn: 107794
2010-07-07 17:07:17 +00:00
Greg Clayton
72db59664f
Fixed "#endif"s followed by non comments, patch from Jean-Daniel Dupas.
...
llvm-svn: 107793
2010-07-07 17:06:20 +00:00
Duncan Sands
24556940ee
Issue the warning about being slow whenever optimization is disabled,
...
and not just for Debug+Asserts builds.
llvm-svn: 107792
2010-07-07 16:48:16 +00:00
Dan Gohman
ffe64b1ee5
Give FunctionLoweringInfo an MBB member, avoiding the need to pass it
...
around everywhere, and also give it an InsertPt member, to enable isel
to operate at an arbitrary position within a block, rather than just
appending to a block.
llvm-svn: 107791
2010-07-07 16:47:08 +00:00
Douglas Gregor
2530efd3cf
When printing statistics for the ASTContext, also print them for its BumpPtrAllocator
...
llvm-svn: 107790
2010-07-07 16:40:34 +00:00
Dan Gohman
87fb4e8fcd
Simplify FastISel's constructor by giving it a FunctionLoweringInfo
...
instance, rather than pointers to all of FunctionLoweringInfo's
members.
This eliminates an NDEBUG ABI sensitivity.
llvm-svn: 107789
2010-07-07 16:29:44 +00:00
Chris Lattner
3e2ee147d0
add driver support for minix, patch by Kees van Reeuwijk
...
from PR7583
llvm-svn: 107788
2010-07-07 16:01:42 +00:00
Dan Gohman
e784616fbb
Move FunctionLoweringInfo.h out into include/llvm/CodeGen. This will
...
allow target-specific fast-isel code to make use of it directly.
llvm-svn: 107787
2010-07-07 16:01:37 +00:00
Dan Gohman
fe7532a308
Split the SDValue out of OutputArg so that SelectionDAG-independent
...
code can do calling-convention queries. This obviates OutputArgReg.
llvm-svn: 107786
2010-07-07 15:54:55 +00:00
Chris Lattner
ca97c92eb4
add some triple for minix, patch by Kees van Reeuwijk from PR7582
...
llvm-svn: 107785
2010-07-07 15:52:27 +00:00
Argyrios Kyrtzidis
ad65c6926b
Fix broken reading of NestedNameSpecifiers from PCH.
...
llvm-svn: 107784
2010-07-07 15:46:30 +00:00
Argyrios Kyrtzidis
903ccd6121
Delay passing InterestingDecls to the Consumer until when we know we are not in recursive loading and the
...
declarations are fully initialized.
llvm-svn: 107783
2010-07-07 15:46:26 +00:00
Dan Gohman
c54936c109
Move ArgFlagsTy, OutputArg, and InputArg out of SelectionDAGNodes.h and
...
into a new header, TargetCallingConv.h.
llvm-svn: 107782
2010-07-07 15:28:42 +00:00
Dan Gohman
498e5f899d
Move CallingConvLower.cpp out of the SelectionDAG directory.
...
llvm-svn: 107781
2010-07-07 15:15:27 +00:00
Jakob Stoklund Olesen
8e1338eea8
Fix more places assuming subregisters have live intervals
...
llvm-svn: 107780
2010-07-07 14:41:22 +00:00
Gabor Greif
4e39130919
adapt condition for changed default build mode
...
who knows how to cover Asserts or Debug separately
please do not hesitate to extend this
llvm-svn: 107779
2010-07-07 14:37:04 +00:00
Dan Gohman
88c547ede9
Add a getFirstNonPHI utility function.
...
llvm-svn: 107778
2010-07-07 14:33:51 +00:00
Dan Gohman
5b0a8a863f
Minore code simplification.
...
llvm-svn: 107777
2010-07-07 14:30:04 +00:00
Dan Gohman
00ef93258a
Remove interprocedural-basic-aa and associated code. The AliasAnalysis
...
interface needs implementations to be consistent, so any code which
wants to support different semantics must use a different interface.
It's not currently worthwhile to add a new interface for this new
concept.
Document that AliasAnalysis doesn't support cross-function queries.
llvm-svn: 107776
2010-07-07 14:27:09 +00:00
Dan Gohman
28e88d8f64
Add Debug+Asserts and Release+Asserts to svn:ignore properties.
...
llvm-svn: 107775
2010-07-07 14:12:28 +00:00
Gabor Greif
f6a2a5a0ae
typo in comment, regeneration not necessary
...
llvm-svn: 107774
2010-07-07 13:58:46 +00:00
Argyrios Kyrtzidis
54fcbc7345
getBody() -> hasBody()
...
llvm-svn: 107773
2010-07-07 12:24:18 +00:00