- Jan 24, 2013
-
-
Daniel Malea authored
llvm-svn: 173362
-
Chad Rosier authored
to delete result files for only those commands that fail. Part of rdar://12984531 llvm-svn: 173361
-
Saleem Abdulrasool authored
Change messages to help identify which interpreter was actually selected (safe vs testing). Signed-off-by:
Saleem Abdulrasool <compnerd@compnerd.org> Reviewed-by:
Chandler Carruth <chandlerc@gmail.com> llvm-svn: 173360
-
Saleem Abdulrasool authored
Set the message returned after the GCC runner has been constructed as otherwise the message will be overwritten by the construction of the runner, resulting in misleading messages. Signed-off-by:
Saleem Abdulrasool <compnerd@compnerd.org> Reviewed-by:
Chandler Carruth <chandlerc@gmail.com> llvm-svn: 173359
-
Michael Han authored
PR14922: when printing an attribute, use the real syntax of the attribute (GNU, C++11, MS Declspec) instead of hardcoded GNU syntax. Introduce a spelling index to Attr class, which is an index into the attribute spelling list of an attribute defined in Attr.td. This index will determine the actual spelling used by an attribute, as it incorporates both the syntax and naming of the attribute. When constructing an attribute AST node, the spelling index is computed based on attribute kind, scope (if it's a C++11 attribute), and name, then passed to Attr that will use the index to print itself. Thanks to Richard Smith for the idea and review. llvm-svn: 173358
-
Benjamin Kramer authored
Original commit message: Plug TTI into the speculation logic, giving it a real cost interface that can be specialized by targets. The goal here is not to be more aggressive, but to just be more accurate with very obvious cases. There are instructions which are known to be truly free and which were not being modeled as such in this code -- see the regression test which is distilled from an inner loop of zlib. Everywhere the TTI cost model is insufficiently conservative I've added explicit checks with FIXME comments to go add proper modelling of these cost factors. If this causes regressions, the likely solution is to make TTI even more conservative in its cost estimates, but test cases will help here. llvm-svn: 173357
-
Benjamin Kramer authored
We use constant folding to see if an intrinsic evaluates to the same value as a constant that we know. If we don't take the undefinedness into account we get a value that doesn't match the actual implementation, and miscompiled code. This was uncovered by Chandler's simplifycfg changes. llvm-svn: 173356
-
NAKAMURA Takumi authored
I got blamed on darwin11; unittests/Support/ManagedStatic.cpp:35: error: 'pthread_attr_setstack' was not declared in this scope llvm-svn: 173355
-
Joey Gouly authored
Fix a non-conformant OpenCL test case. Program scope variables must be declared in the constant address space and are required to be initialized. llvm-svn: 173354
-
Joey Gouly authored
llvm-svn: 173353
-
Joey Gouly authored
Fix an OpenCL test case that was OpenCL conformant. It had program scope variables that were not in the constant address space, make them to be function scope variables instead. Also move the test to the SemaOpenCL directory. llvm-svn: 173352
-
NAKAMURA Takumi authored
unittests/SupportTests/Initialize.MultipleThreads: Appease --vg-leak to allocate stack explicitly for glibc. llvm-svn: 173350
-
NAKAMURA Takumi authored
FIXME: It could be generalized in MemoryManager. llvm-svn: 173349
-
Dmitry Vyukov authored
llvm-svn: 173348
-
Alexey Samsonov authored
llvm-svn: 173347
-
Dmitry Vyukov authored
llvm-svn: 173346
-
Dmitry Vyukov authored
llvm-svn: 173345
-
Alexey Samsonov authored
[Sanitizer] Add skeleton for InternalSymbolizer that can be used by providing callbacks __sanitizer_symbolize_{code,data} llvm-svn: 173344
-
Chandler Carruth authored
of stage2 in a bootstrap. Still investigating.... llvm-svn: 173343
-
Chandler Carruth authored
that can be specialized by targets. The goal here is not to be more aggressive, but to just be more accurate with very obvious cases. There are instructions which are known to be truly free and which were not being modeled as such in this code -- see the regression test which is distilled from an inner loop of zlib. Everywhere the TTI cost model is insufficiently conservative I've added explicit checks with FIXME comments to go add proper modelling of these cost factors. If this causes regressions, the likely solution is to make TTI even more conservative in its cost estimates, but test cases will help here. llvm-svn: 173342
-
Chandler Carruth authored
unfolded constant expressions rather than checking each one independently. llvm-svn: 173341
-
Chandler Carruth authored
a cost fuction that seems both a bit ad-hoc and also poorly suited to evaluating constant expressions. Notably, it is missing any support for trivial expressions such as 'inttoptr'. I could fix this routine, but it isn't clear to me all of the constraints its other users are operating under. The core protection that seems relevant here is avoiding the formation of a select instruction wich a further chain of select operations in a constant expression operand. Just explicitly encode that constraint. Also, update the comments and organization here to make it clear where this needs to go -- this should be driven off of real cost measurements which take into account the number of constants expressions and the depth of the constant expression tree. llvm-svn: 173340
-
Chandler Carruth authored
terms of cost rather than hoisting a single instruction. This does *not* change the cost model! We still set the cost threshold at 1 here, it's just that we track it by accumulating cost rather than by storing an instruction. The primary advantage is that we no longer leave no-op intrinsics in the basic block. For example, this will now move both debug info intrinsics and a single instruction, instead of only moving the instruction and leaving a basic block with nothing bug debug info intrinsics in it, and those intrinsics now no longer ordered correctly with the hoisted value. Instead, we now splice the entire conditional basic block's instruction sequence. This also places the code for checking the safety of hoisting next to the code computing the cost. Currently, the only observable side-effect of this change is that debug info intrinsics are no longer abandoned. I'm not sure how to craft a test case for this, and my real goal was the refactoring, but I'll talk to Dave or Eric about how to add a test case for this. llvm-svn: 173339
-
Kostya Serebryany authored
llvm-svn: 173338
-
Chandler Carruth authored
Previously, the code would scan the PHI nodes and build up a small setvector of candidate value pairs in phi nodes to go and rewrite. Once certain the rewrite could be performed, the code walks the set, and for each one re-scans the entire PHI node list looking for nodes to rewrite operands. Instead, scan the PHI nodes once to check for hazards, and then scan it a second time to rewrite the operands to selects. No set vector, and a max of two scans. The only downside is that we might form identical selects, but instcombine or anything else should fold those easily, and it seems unlikely to happen often. llvm-svn: 173337
-
Kostya Serebryany authored
llvm-svn: 173336
-
Kostya Serebryany authored
llvm-svn: 173335
-
Chandler Carruth authored
structure being analyzed. No functionality changed. llvm-svn: 173334
-
Alexander Potapenko authored
llvm-svn: 173333
-
Dmitry Vyukov authored
llvm-svn: 173332
-
Chandler Carruth authored
tests. No need to pay the high cost when we're never going to do anything. No functionality changed. llvm-svn: 173331
-
NAKAMURA Takumi authored
FIXME: PathV2::unique_file() is assumed to open the file with binary mode on win32. llvm-svn: 173330
-
Chandler Carruth authored
pretty in doxygen, adding some of the details actually present in a classic example where this matters (a loop from gzip and many other compression algorithms), and a cautionary note about the risks inherent in the transform. This has come up on the mailing lists recently, and I suspect folks reading this code could benefit from going and looking at the MI pass that can really deal with these issues. llvm-svn: 173329
-
Dmitry Vyukov authored
llvm-svn: 173328
-
Dmitry Vyukov authored
llvm-svn: 173327
-
NAKAMURA Takumi authored
llvm-svn: 173326
-
NAKAMURA Takumi authored
FIXME: Could they, unreachable(s), be removed? FIXME: I could prefer the coding standards... llvm-svn: 173325
-
NAKAMURA Takumi authored
...and fix a typo, s/#ifdef/#ifndef/ llvm-svn: 173324
-
NAKAMURA Takumi authored
llvm-svn: 173323
-
Craig Topper authored
llvm-svn: 173322
-