- Oct 18, 2012
-
-
Chandler Carruth authored
over the implicitly-formed-and-nesting CGSCC pass manager and function pass managers, especially when using them on the opt commandline or using extension points in the module builder. The '-barrier' opt flag (or the pass itself) will create a no-op module pass in the pipeline, resetting the pass manager stack, and allowing the creation of a new pipeline of function passes or CGSCC passes to be created that is independent from any previous pipelines. For example, this can be used to test running two CGSCC passes in independent CGSCC pass managers as opposed to in the same CGSCC pass manager. It also allows us to introduce a further hack into the PassManagerBuilder to separate the O0 pipeline extension passes from the always-inliner's CGSCC pass manager, which they likely do not want to participate in... At the very least none of the Sanitizer passes want this behavior. This fixes a bug with ASan at O0 currently, and I'll commit the ASan test which covers this pass. I'm happy to add a test case that this pass exists and works, but not sure how much time folks would like me to spend adding test cases for the details of its behavior of partition pass managers.... The whole thing is just vile, and mostly intended to unblock ASan, so I'm hoping to rip this all out in a brave new pass manager world. llvm-svn: 166172
-
Nick Lewycky authored
start seeing the bit so that we can find bugs and write tests for it. llvm-svn: 166171
-
Nadav Rotem authored
llvm-svn: 166170
-
Nadav Rotem authored
llvm-svn: 166169
-
Bob Wilson authored
The TargetTransform changes are breaking LTO bootstraps of clang. I am working with Nadav to figure out the problem, but I am reverting it for now to get our buildbots working. This reverts svn commits: 165665 165669 165670 165786 165787 165997 and I have also reverted clang svn 165741 llvm-svn: 166168
-
Nadav Rotem authored
llvm-svn: 166167
-
Douglas Gregor authored
block, which stores information about how the AST file to generated, from the AST block, which stores the actual serialized AST. The information in the control block should be enough to determine whether the AST file is up-to-date and compatible with the current translation unit, and reading it should not cause any side effects that aren't easy to undo. That way, we can back out from an attempt to read an incompatible or out-of-date AST file. Note that there is still more factoring to do. In particular, information about the source files used to generate the AST file (along with their time stamps, sizes, etc.) still resides in the source manager block. llvm-svn: 166166
-
Nadav Rotem authored
for (i=0; i<n; i++){ a[i] = b[i+1] + c[i+3]; } llvm-svn: 166165
-
Bob Wilson authored
Nadav's llvm change r165665 caused problems with an LTO bootstrap of clang, so I'm reverting it for now, along with follow-on patches like this one. llvm-svn: 166164
-
NAKAMURA Takumi authored
llvm-svn: 166163
-
Richard Smith authored
llvm-svn: 166162
-
Argyrios Kyrtzidis authored
llvm-svn: 166161
-
Argyrios Kyrtzidis authored
llvm-svn: 166160
-
Bill Wendling authored
llvm-svn: 166159
-
Richard Smith authored
llvm-svn: 166158
-
Bill Wendling authored
llvm-svn: 166157
-
Richard Smith authored
expressions, not *any* typeid on a polymorphic class type. llvm-svn: 166156
-
Michael Liao authored
- Folding (trunc (concat ... X )) to (concat ... (trunc X) ...) is valid when '...' are all 'undef's. - r166125 relies on this transformation. llvm-svn: 166155
-
David Blaikie authored
Fix -Woverloaded-virtual when the using statement refers to a base declaration of a virtual function. GCC and Clang both do not warn on: struct a { virtual void func(); }; struct b: a { virtual void func(); void func(int); }; struct c: b { void func(int); using b::func; }; but if the "using" was using a::func GCC would still remain silent where Clang would warn. This change makes Clang consistent with GCC's existing behavior. llvm-svn: 166154
-
NAKAMURA Takumi authored
llvm-svn: 166153
-
Richard Smith authored
llvm-svn: 166152
-
Fariborz Jahanian authored
other platforms. llvm-svn: 166151
-
Fariborz Jahanian authored
off. // rdar://12501960 llvm-svn: 166150
-
Michael Liao authored
llvm-svn: 166141
-
Richard Smith authored
llvm-svn: 166139
-
Jakub Staszak authored
llvm-svn: 166138
-
rdar://problem/12462048Greg Clayton authored
LLDB changes argv[0] when debugging a symlink. Now we have the notion of argv0 in the target settings: target.arg0 (string) = There is also the program argument that are separate from the first argument that have existed for a while: target.run-args (arguments) = When running "target create <exe>", we will place the untouched "<exe>" into target.arg0 to ensure when we run, we run with what the user typed. This has been added to the ProcessLaunchInfo and all other needed places so we always carry around the: - resolved executable path - argv0 - program args Some systems may not support separating argv0 from the resolved executable path and the ProcessLaunchInfo needs to carry all of this information along so that each platform can make that decision. llvm-svn: 166137
-
Michael Liao authored
- In general, it's unsafe for this transformation. llvm-svn: 166135
-
Reed Kotler authored
llvm-svn: 166134
-
Enrico Granata authored
llvm-svn: 166133
-
Sean Callanan authored
using a reference-counted pointer. This avoids memory-management problems when the TargetOptions are deleted. llvm-svn: 166132
-
Sean Callanan authored
the expression parser (also wchar_t) and added a test case. llvm-svn: 166131
-
- Oct 17, 2012
-
-
Fariborz Jahanian authored
XML comment for declarations which pretty-prints declaration. I had to XFAIL one test annotate-comments.cpp. This test is currently unmaintainable as written. Dmitri G., can you see what we can do about this test. We should change this test such that adding a new tag does not wreck havoc to the test. llvm-svn: 166130
-
Anna Zaks authored
clang_version, fix the compare routine. llvm-svn: 166129
-
Roman Divacky authored
llvm-svn: 166128
-
Greg Clayton authored
Added register write examples and also how to modify the pc. For this we show and example of GDB using the "jump" command, and LLDB using "register write" with an expression. llvm-svn: 166127
-
Michael Liao authored
- If the extracted vector has the same type of all vectored being concatenated together, it should be simplified directly into v_i, where i is the index of the element being extracted. llvm-svn: 166125
-
Jakob Stoklund Olesen authored
This is a more compact, less redundant representation, and it avoids scanning long lists of aliases for ARM D-registers, for example. llvm-svn: 166124
-
Nadav Rotem authored
llvm-svn: 166123
-
Evan Cheng authored
any scheduling heuristics nor does it build up any scheduling data structure that other heuristics use. It essentially linearize by doing a DFA walk but it does handle glues correctly. IMPORTANT: it probably can't handle all the physical register dependencies so it's not suitable for x86. It also doesn't deal with dbg_value nodes right now so it's definitely is still WIP. rdar://12474515 llvm-svn: 166122
-