- Aug 26, 2010
-
-
Devang Patel authored
llvm-svn: 112200
-
Dan Gohman authored
fix: add a flag to MapValue and friends which indicates whether any module-level mappings are being made. In the common case of inlining, no module-level mappings are needed, so MapValue doesn't need to examine non-function-local metadata, which can be very expensive in the case of a large module with really deep metadata (e.g. a large C++ program compiled with -g). This flag is a little awkward; perhaps eventually it can be moved into the ClonedCodeInfo class. llvm-svn: 112190
-
John McCall authored
I think there are good reasons to change this, but in the interests of short-term stability, make SmallVector<...,0> reserve non-zero capacity in its constructors. This means that SmallVector<...,0> uses more memory than SmallVector<...,1> and should really only be used (unless/until this workaround is removed) by clients that care about using SmallVector with an incomplete type. llvm-svn: 112147
-
Dan Gohman authored
and was over-complicated, and replacing it with a simple implementation. llvm-svn: 112120
-
John McCall authored
not require its type argument to be complete if no members are actually used. llvm-svn: 112106
-
Chris Lattner authored
trivial. llvm-svn: 112105
-
Chris Lattner authored
llvm-svn: 112104
-
Chris Lattner authored
expanding: e.g. <2 x float> -> <4 x float> instead of -> 2 floats. This affects two places in the code: handling cross block values and handling function return and arguments. Since vectors are already widened by legalizetypes, this gives us much better code and unblocks x86-64 abi and SPU abi work. For example, this (which is a silly example of a cross-block value): define <4 x float> @test2(<4 x float> %A) nounwind { %B = shufflevector <4 x float> %A, <4 x float> undef, <2 x i32> <i32 0, i32 1> %C = fadd <2 x float> %B, %B br label %BB BB: %D = fadd <2 x float> %C, %C %E = shufflevector <2 x float> %D, <2 x float> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef> ret <4 x float> %E } Now compiles into: _test2: ## @test2 ## BB#0: addps %xmm0, %xmm0 addps %xmm0, %xmm0 ret previously it compiled into: _test2: ## @test2 ## BB#0: addps %xmm0, %xmm0 pshufd $1, %xmm0, %xmm1 ## kill: XMM0<def> XMM0<kill> XMM0<def> insertps $0, %xmm0, %xmm0 insertps $16, %xmm1, %xmm0 addps %xmm0, %xmm0 ret This implements rdar://8230384 llvm-svn: 112101
-
Chris Lattner authored
llvm-svn: 112099
-
- Aug 25, 2010
-
-
Eric Christopher authored
Patch by Adam Treat! llvm-svn: 112077
-
Dan Gohman authored
llvm-svn: 112069
-
Eric Christopher authored
llvm-svn: 112042
-
- Aug 24, 2010
-
-
Jim Grosbach authored
access. rdar://8277890&7352504 llvm-svn: 111968
-
Kevin Enderby authored
needed parsing for the .loc directive and saves the current info from that into the context. The next patch will take the current loc info after an instruction is assembled and save that info into a vector for each section for use to build the line number tables. The patch after that will encode the info from those vectors into the output file as the dwarf line tables. llvm-svn: 111956
-
Jim Grosbach authored
For now it's still a command line option, but the interface to the generic code doesn't need to know that. llvm-svn: 111942
-
Dan Gohman authored
which does the same thing. This eliminates redundant code and handles MDNodes better. MDNode linking still doesn't fully work yet though. llvm-svn: 111941
-
Dan Gohman authored
make their protected members private. And remove an unnecessary explicit keyword. llvm-svn: 111915
-
Mikhail Glushenkov authored
CompilationGraph and LanguageMap definitions do not use special syntax anymore. llvm-svn: 111862
-
- Aug 23, 2010
-
-
Jim Grosbach authored
llvm-svn: 111847
-
Chris Lattner authored
x86 int and int3 instructions. Patch by Peter Housel! llvm-svn: 111831
-
Mikhail Glushenkov authored
llvm-svn: 111827
-
Mikhail Glushenkov authored
llvm-svn: 111825
-
Dan Gohman authored
closing the underlying stream. llvm-svn: 111822
-
Devang Patel authored
PR 7920. llvm-svn: 111820
-
Benjamin Kramer authored
- Cache used characters in a bitset to reduce memory overhead to just 32 bytes. - On my core2 this code is faster except when the checked string was very short (smaller than the list of delimiters). llvm-svn: 111817
-
Benjamin Kramer authored
- Respect find_first_of(char's From parameter instead of silently dropping it. - Prefer std::string() to std::string("") llvm-svn: 111814
-
- Aug 21, 2010
-
-
Michael J. Spencer authored
llvm-svn: 111728
-
Bruno Cardoso Lopes authored
general idea here is to have a group of x86 target specific nodes which are going to be selected during lowering and then directly matched in isel. The commit includes the addition of those specific nodes and a *bunch* of patterns, and incrementally we're going to switch between them and what we have right now. Both the patterns and target specific nodes can change as we move forward with this work. llvm-svn: 111691
-
Dan Gohman authored
llvm-svn: 111687
-
Bill Wendling authored
It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
-
Dan Gohman authored
not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111681
-
- Aug 20, 2010
-
-
Dan Gohman authored
llvm-svn: 111663
-
Dan Gohman authored
llvm-svn: 111661
-
Mikhail Glushenkov authored
If the omission was intentional, please add a comment. llvm-svn: 111657
-
Mikhail Glushenkov authored
llvm-svn: 111656
-
Jim Grosbach authored
llvm-svn: 111655
-
Dan Gohman authored
outside of outs() and errs() themselves, and they don't really need custom classes. llvm-svn: 111642
-
Dan Gohman authored
llvm-svn: 111641
-
Dan Gohman authored
llvm-svn: 111640
-
Dan Gohman authored
class which is using it. llvm-svn: 111639
-