- Nov 15, 2011
-
-
Chandler Carruth authored
block sequence when recovering from unanalyzable control flow constructs, *always* use the function sequence. I'm not sure why I ever went down the path of trying to use the loop sequence, it is fundamentally not the correct sequence to use. We're trying to preserve the incoming layout in the cases of unreasonable control flow, and that is only encoded at the function level. We already have a filter to select *exactly* the sub-set of blocks within the function that we're trying to form into a chain. The resulting code layout is also significantly better because of this. In several places we were ending up with completely unreasonable control flow constructs due to the ordering chosen by the loop structure for its internal storage. This change removes a completely wasteful vector of basic blocks, saving memory allocation in the common case even though it costs us CPU in the fairly rare case of unnatural loops. Finally, it fixes the latest crasher reduced out of GCC's single source. Thanks again to Benjamin Kramer for the reduction, my bugpoint skills failed at it. llvm-svn: 144627
-
Argyrios Kyrtzidis authored
otherwise it will crash with asserts on or it will be written as null pointer. llvm-svn: 144626
-
Argyrios Kyrtzidis authored
in a separate indexing callback than its implementation. llvm-svn: 144625
-
Argyrios Kyrtzidis authored
no need to store it in another field. llvm-svn: 144624
-
Argyrios Kyrtzidis authored
CXTranslationUnit, mainly to be used for indexing a PCH. llvm-svn: 144623
-
Craig Topper authored
Properly qualify AVX2 specific parts of execution dependency table. Also enable converting between 256-bit PS/PD operations when AVX1 is enabled. Fixes PR11370. llvm-svn: 144622
-
NAKAMURA Takumi authored
It triggers generating insane executables with both binutils-2.19.1(msysgit) and 2.22.51.20111013(cygwin). llvm-svn: 144621
-
Greg Clayton authored
llvm-svn: 144616
-
Greg Clayton authored
info for us to attach by pid, or by name and will also allow us to eventually do a lot more powerful attaches. If you look at the options for the "platform process list" command, there are many options which we should be able to specify. This will allow us to do things like "attach to a process named 'tcsh' that has a parent process ID of 123", or "attach to a process named 'x' which has an effective user ID of 345". I finished up the --shell implementation so that it can be used without the --tty option in "process launch". The "--shell" option now can take an optional argument which is the path to the shell to use (or a partial name like "sh" which we will find using the current PATH environment variable). Modified the Process::Attach to use the new ProcessAttachInfo as the sole argument and centralized a lot of code that was in the "process attach" Execute function so that everyone can take advantage of the powerful new attach functionality. llvm-svn: 144615
-
Jakob Stoklund Olesen authored
llvm-svn: 144613
-
Eli Friedman authored
llvm-svn: 144612
-
Jakob Stoklund Olesen authored
This should unbreak clang-x86_64-darwin10-RA, but I can't actually reproduce the failure. llvm-svn: 144611
-
Evan Cheng authored
integer variants. rdar://10437054 llvm-svn: 144608
-
Sean Callanan authored
of problems with Objective-C object completion. To go along with the LLVM/Clang-side fixes, we have a variety of Objective-C improvements. Fixes include: - It is now possible to run expressions when stopped in an Objective-C class method and have "self" act just like "self" would act in the class method itself (i.e., [self classMethod] works without casting the return type if debug info is present). To accomplish this, the expression masquerades as a class method added by a category. - Objective-C objects can now provide methods and properties and methods to Clang on demand (i.e., the ASTImporter sets hasExternalVisibleDecls on Objective-C interface objects). - Objective-C built-in types, which had long been a bone of contention (should we be using "id"? "id*"?), are now fetched correctly using accessor functions on ClangASTContext. We inhibit searches for them in the debug information. There are also a variety of logging fixes, and I made two changes to the test suite: - Enabled a test case for Objective-C properties in the current translation unit. - Added a test case for calling Objective-C class methods when stopped in a class method. llvm-svn: 144607
-
Jim Grosbach authored
rdar://10435076 llvm-svn: 144606
-
John McCall authored
'auto'. Introduce a convenience method to make this a bit easier, and use it elsewhere. llvm-svn: 144605
-
Devang Patel authored
llvm-svn: 144604
-
Nick Lewycky authored
llvm-svn: 144603
-
Jakob Stoklund Olesen authored
Two new TargetInstrInfo hooks lets the target tell ExecutionDepsFix about instructions with partial register updates causing false unwanted dependencies. The ExecutionDepsFix pass will break the false dependencies if the updated register was written in the previoius N instructions. The small loop added to sse-domains.ll runs twice as fast with dependency-breaking instructions inserted. llvm-svn: 144602
-
Jakob Stoklund Olesen authored
Keep track of the last instruction to define each register individually instead of per DomainValue. This lets us track more accurately when a register was last written. Also track register ages across basic blocks. When entering a new basic block, use the least stale predecessor def as a worst case estimate for register age. The register age is used to arbitrate between conflicting domains. The most recently defined register wins. llvm-svn: 144601
-
Devang Patel authored
llvm-svn: 144600
-
Devang Patel authored
llvm-svn: 144599
-
Jim Grosbach authored
llvm-svn: 144598
-
Nick Lewycky authored
llvm-svn: 144597
-
Nick Lewycky authored
link it against llvm code, by making our definitions weak. "Some users." llvm-svn: 144596
-
Ted Kremenek authored
Fix potential memory leak for clients of clang_getOverriddenCursors(). If the number of overriden cursors is 0, do not allocate an array of CXCursors. This fixes a memory leak in c-index-test, and clients who use this API in a similar way. llvm-svn: 144595
-
Benjamin Kramer authored
llvm-svn: 144594
-
Jim Grosbach authored
rdar://10435076 llvm-svn: 144593
-
Jim Grosbach authored
rdar://10435076 llvm-svn: 144592
-
Benjamin Kramer authored
$ clang -Wololo t.c warning: unknown warning option '-Wololo'; did you mean '-Wall'? [-Wunknown-warning-option] llvm-svn: 144591
-
Matt Beaumont-Gay authored
This is a partial revert of r143846. While cleaning up after a crash is probably a good idea, we were also deleting .d files if the compilation failed due to invalid input, which is not the desired behavior. The test is XFAIL'd until the cleanup code can be reworked to do the right thing. llvm-svn: 144590
-
Jim Grosbach authored
llvm-svn: 144589
-
Jim Grosbach authored
Make it easier to deal with aliases for instructions that do require a suffix but accept more specific variants of the same size. llvm-svn: 144588
-
Jim Grosbach authored
rdar://10435076 llvm-svn: 144587
-
Chad Rosier authored
violating a dependency is to emit all loads prior to stores. This would likely cause a great deal of spillage offsetting any potential gains. llvm-svn: 144585
-
Johnny Chen authored
llvm-svn: 144584
-
Jim Grosbach authored
Canonicallize on the non-suffixed form, but continue to accept assembly that has any correctly sized type suffix. llvm-svn: 144583
-
Douglas Gregor authored
at the bases of an undefined class. Fixes <rdar://problem/10438657>. llvm-svn: 144582
-
- Nov 14, 2011
-
-
Greg Clayton authored
llvm-svn: 144581
-
Nick Lewycky authored
and stores capture) to permit the caller to see each capture point and decide whether to continue looking. Use this inside memdep to do an analysis that basicaa won't do. This lets us solve another devirtualization case, fixing PR8908! llvm-svn: 144580
-