summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Skip through transparent contexts when deciding where to add a friend function.Nick Lewycky2012-03-162-1/+9
| | | | | | This fixes g++.dg/parse/friend5.C. llvm-svn: 152938
* After r150615, which tablegens the group of a diagnostic as an index into ↵Argyrios Kyrtzidis2012-03-161-1/+1
| | | | | | | | | the *.inc file, all diagnostic *.inc files depend on all other diagnostic *.td files, because a diagnostic group can be introduced at any of the diagnostic *.td files. llvm-svn: 152937
* ScheduleOptimizer: Remove forgotten debug outputTobias Grosser2012-03-161-2/+0
| | | | llvm-svn: 152936
* Revert r152907.Bill Wendling2012-03-162-27/+3
| | | | llvm-svn: 152935
* ScheduleDAGInstrs: When adding uses we add them into a set that's empty at ↵Benjamin Kramer2012-03-161-2/+2
| | | | | | the beginning, no need to maintain another set for the added regs. llvm-svn: 152934
* Do not fail if a command line argument is given more than onceTobias Grosser2012-03-162-13/+13
| | | | | | | | | | | | For boolean flags in Polly there is no problem if they are given more than once. Hence, we can allow it to not fail for build systems that (acciently) add flags several times. This fixes: PR12278 Reported by: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152933
* modern objective-c translator: writing @throw statement.Fariborz Jahanian2012-03-162-3/+66
| | | | llvm-svn: 152931
* Limit the number of memory operands in MachineInstr to 2^16 and store the ↵Benjamin Kramer2012-03-162-17/+17
| | | | | | | | number in padding. Saves one machine word on MachineInstr (88->80 bytes on x86_64, 48->44 on i386). llvm-svn: 152930
* [ASan] Print the parsed ASAN_OPTIONS for verbosity>0.Alexander Potapenko2012-03-161-3/+7
| | | | | | Move the flags around slightly. llvm-svn: 152929
* Don't allow pointer types in affine expressionsTobias Grosser2012-03-162-0/+30
| | | | | | | | | | We currently do not support pointer types in affine expressions. Hence, we disallow in the SCoP detection. Later we may decide to add support for them. This fixes PR12277 Reported-By: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152928
* CriticalAntiDepBreaker: BasicBlock::size is an expensive operation, reuse ↵Benjamin Kramer2012-03-161-7/+7
| | | | | | | | the cached value. No functionality change. llvm-svn: 152927
* Alter the terminal streams such that they do not get added to the atexit ↵Howard Hinnant2012-03-161-25/+38
| | | | | | chain, and thus never get destructed. llvm-svn: 152926
* Off-tree build support: Also check the existence of the "not" utility.Hongbin Zheng2012-03-161-4/+7
| | | | llvm-svn: 152925
* Off-tree build support: Set the path of Polly's library correctly.Hongbin Zheng2012-03-162-1/+4
| | | | llvm-svn: 152924
* Revert "Minor change: Use config.polly_obj_root to locate Polly's library,"Hongbin Zheng2012-03-161-1/+1
| | | | | | This reverts commit 7dd9b6327b54b08ece32a4607d5ac093b518b79a. llvm-svn: 152923
* Off-tree build support: Warn the user if FileCheck cannot be found.Hongbin Zheng2012-03-161-1/+6
| | | | llvm-svn: 152921
* Minor change: Use config.polly_obj_root to locate Polly's library,Hongbin Zheng2012-03-161-1/+1
| | | | | | so lit find Polly's library in off-tree build. llvm-svn: 152920
* Warn on flexible array members when in C89 mode, with -pedantic.David Chisnall2012-03-163-0/+11
| | | | | | | | This fixes PR 4307. Patch by Eitan Adler! llvm-svn: 152918
* ScheduleOptimizer: Do not get dependences, if we do not calculate a scheduleTobias Grosser2012-03-162-2/+20
| | | | | | | This solves the 'isl_ctx freed, but some objects still reference it' problem reported in PR12276. llvm-svn: 152917
* lit/TestRunner.py: [Win32] Check all opened_files[] released, rather than ↵NAKAMURA Takumi2012-03-161-9/+8
| | | | | | | | | | | | | (obsoleted) written_files[]. In previous case, RUN: foo -o %t RUN: FileCheck < %t RUN: bar -o %t 2nd read handle might prevent manipulation of 3rd %t in bar, to remove and rename. llvm-svn: 152916
* lit/TestRunner.py: [Win32] Rework WinWaitReleased().NAKAMURA Takumi2012-03-161-19/+12
| | | | | | We can simply confirm the handle released to open it with EXCLUSIVE. Attempting renaming was bad. llvm-svn: 152915
* From Vassil Vassilev:Axel Naumann2012-03-164-11/+34
| | | | | | | | | | | | | | Enable incremental parsing by the Preprocessor, where more code can be provided after an EOF. It mainly prevents the tearing down of the topmost lexer. To be used like this: PP.enableIncrementalProcessing(); while (getMoreSource()) { while (Parser.ParseTopLevelDecl(ADecl)) {...} } PP.enableIncrementalProcessing(false); llvm-svn: 152914
* SCEVValidator: Ensure that parameters are recorded correctlyTobias Grosser2012-03-162-7/+37
| | | | | | | | This also fixes UMax where we did not correctly keep track of the parameters. Fixes PR12275. Reported-By: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152913
* ScevValidator: Add printer for ValidatorResultTobias Grosser2012-03-161-0/+22
| | | | llvm-svn: 152912
* Polly-test: Add a cmake option "POLLY_TEST_DISABLE_BAR". We can enableHongbin Zheng2012-03-161-1/+2
| | | | | | | this option in the configure step of Polly's builder to get more readable output from the stdio log. llvm-svn: 152910
* More AddUsersIfInteresting related fix.Hongbin Zheng2012-03-161-2/+5
| | | | llvm-svn: 152909
* IndVarSimplify: Adpat to IVUsers::AddUsersIfInteresting change.Hongbin Zheng2012-03-161-2/+4
| | | | llvm-svn: 152908
* The alignment of the pointer part of the store instruction may have anBill Wendling2012-03-162-3/+27
| | | | | | | | | | alignment. If that's the case, then we want to make sure that we don't increase the alignment of the store instruction. Because if we increase it to be "more aligned" than the pointer, code-gen may use instructions which require a greater alignment than the pointer guarantees. <rdar://problem/11043589> llvm-svn: 152907
* More const-correcting of FixedLenDecoderEmitter.Craig Topper2012-03-161-13/+17
| | | | llvm-svn: 152906
* Fix Objective-C compilation-time performance regression introduced in r152608.Richard Smith2012-03-165-90/+188
| | | | | | | | | | | | | | | | Reintroduce lazy name lookup table building, ensuring that the lazy building step produces the same lookup table that would be built by the eager step. Avoid building a lookup table for the translation unit outside C++, even in cases where we can't recover the contents of the table from the declaration chain on the translation unit, since we're not going to perform qualified lookup into it anyway. Continue to support lazily building such lookup tables for now, though, since ASTMerge uses them. In my tests, this performs very similarly to ToT with r152608 backed out, for C, Obj-C and C++, and does not suffer from PR10447. llvm-svn: 152905
* Rip out support for 'llvm.noinline'. This thing has a strange history...Chandler Carruth2012-03-162-91/+0
| | | | | | | | | | | | | | | | | | | | | It was added in 2007 as the first cut at supporting no-inline attributes, but we didn't have function attributes of any form at the time. However, it was added without any mention in the LangRef or other documentation. Later on, in 2008, Devang added function notes for 'inline=never' and then turned them into proper function attributes. From that point onward, as far as I can tell, the world moved on, and no one has touched 'llvm.noinline' in any meaningful way since. It's time has now come. We have had better mechanisms for doing this for a long time, all the frontends I'm aware of use them, and this is just holding back progress. Given that it was never a documented feature of the IR, I've provided no auto-upgrade support. If people know of real, in-the-wild bitcode that relies on this, yell at me and I'll add it, but I *seriously* doubt anyone cares. llvm-svn: 152904
* Start removing the use of an ad-hoc 'never inline' set and insteadChandler Carruth2012-03-166-51/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directly query the function information which this set was representing. This simplifies the interface of the inline cost analysis, and makes the always-inline pass significantly more efficient. Previously, always-inline would first make a single set of every function in the module *except* those marked with the always-inline attribute. It would then query this set at every call site to see if the function was a member of the set, and if so, refuse to inline it. This is quite wasteful. Instead, simply check the function attribute directly when looking at the callsite. The normal inliner also had similar redundancy. It added every function in the module with the noinline attribute to its set to ignore, even though inside the cost analysis function we *already tested* the noinline attribute and produced the same result. The only tricky part of removing this is that we have to be able to correctly remove only the functions inlined by the always-inline pass when finalizing, which requires a bit of a hack. Still, much less of a hack than the set of all non-always-inline functions was. While I was touching this function, I switched a heavy-weight set to a vector with sort+unique. The algorithm already had a two-phase insert and removal pattern, we were just needlessly paying the uniquing cost on every insert. This probably speeds up some compiles by a small amount (-O0 compiles with lots of always-inline, so potentially heavy libc++ users), but I've not tried to measure it. I believe there is no functional change here, but yell if you spot one. None are intended. Finally, the direction this is going in is to greatly simplify the inline cost query interface so that we can replace its implementation with a much more clever one. Along the way, all the APIs get simplified, so it seems incrementally good. llvm-svn: 152903
* Updating Xcode project version numbers for lldb-132 and debugserver-182Sean Callanan2012-03-165-24/+24
| | | | llvm-svn: 152901
* Fix analyzer crash on analyzing 'catch' with no condition variable.Ted Kremenek2012-03-162-0/+28
| | | | llvm-svn: 152900
* Const-correct the FixedLenDecoderEmitter. Pass a few things by const ↵Craig Topper2012-03-162-57/+62
| | | | | | reference instead of value to avoid some copying. llvm-svn: 152899
* Pull the implementation of the code metrics out of the inline costChandler Carruth2012-03-164-192/+209
| | | | | | | | | | | analysis implementation. The header was already separated. Also cleanup all the comments in the header to follow a nice modern doxygen form. There is still plenty of cruft here, but some of that will fall out in subsequent refactorings and this was an easy step in the right direction. No functionality changed here. llvm-svn: 152898
* Integrated two high-value Clang fixes:Sean Callanan2012-03-162-0/+26
| | | | | | | | | | | | | - Clang now completes all Objective-C objects (if they are not already complete, and they have external lexical sources) during structure layout, avoiding a LLDB crash. - The Clang Decl printer handles reference types correctly. This prevents LLDB from crashing when expression logging is enabled. llvm-svn: 152897
* test/Driver/linker-opts.c: Mark as XFAIL:cygming, using gcc linker driver. ↵NAKAMURA Takumi2012-03-161-0/+3
| | | | | | It should be aware of LIBRARY_PATH. llvm-svn: 152896
* misched: add DAG edges from vreg defs to ExitSU.Andrew Trick2012-03-161-1/+3
| | | | | | | | | | These edges are not really necessary, but it is consistent with the way we currently create physreg edges. Scheduler heuristics that expect a DAG edge to the block terminator could benefit from this change. Although in the future I hope we have a better mechanism for modeling latency across scheduling regions. llvm-svn: 152895
* Add test case for <rdar://problem/8808566>, which is now fixed by inlining ↵Ted Kremenek2012-03-161-0/+43
| | | | | | support. llvm-svn: 152894
* Based on sage feedback, chang -W#import-pedantic to ↵Ted Kremenek2012-03-161-1/+1
| | | | | | -Wimport-preprocessor-directive-pedantic. llvm-svn: 152893
* LSR fix: Add isSimplifiedLoopNest to IVUsers analysis.Andrew Trick2012-03-166-18/+115
| | | | | | | | | | | | | | Only record IVUsers that are dominated by simplified loop headers. Otherwise SCEVExpander will crash while looking for a preheader. I previously tried to work around this in LSR itself, but that was insufficient. This way, LSR can continue to run if some uses are not in simple loops, as long as we don't attempt to analyze those users. Fixes <rdar://problem/11049788> Segmentation fault: 11 in LoopStrengthReduce llvm-svn: 152892
* Don't try to create "store atomic" instructions of non-integer types; they ↵Eli Friedman2012-03-162-6/+11
| | | | | | aren't supported at the moment. PR12040. llvm-svn: 152891
* Warn about an example script being obsoleted by new native features and just ↵Enrico Granata2012-03-162-0/+10
| | | | | | an example llvm-svn: 152890
* Spacing fixes. Mostly aligning arguments that spilled onto next line with ↵Craig Topper2012-03-161-37/+36
| | | | | | the opening parenthese instead of 2 spaces in. llvm-svn: 152889
* Deleting obsolete filesEnrico Granata2012-03-165-612/+0
| | | | llvm-svn: 152888
* Revert r152705, which reapplied r152486 as this appears to be causing failuresChad Rosier2012-03-161-128/+34
| | | | | | | | | | | on our internal nightly testers. So, basically revert r152486 again. Abbreviated original commit message: Implement a more intelligent way of spilling uses across an invoke boundary. It looks as if Chander's inlining work, r152737, exposed an issue. llvm-svn: 152887
* Add warning flag for '#import is a language extension', -W#import-pedantic.Ted Kremenek2012-03-162-3/+3
| | | | | | | Don't know if it is an anathema to include '#' in the warning name. I'm fine with changing it, but this was the most obvious name. llvm-svn: 152886
* Remove unused field NumVariable from Filter class. Even it was needed the ↵Craig Topper2012-03-161-9/+3
| | | | | | same result could be found with VariableInstructions.size(). Also fix some typos in comments. llvm-svn: 152885
* In InstCombiner::visitOr, make sure we reverse the operand swap used for ↵Eli Friedman2012-03-162-1/+19
| | | | | | checking for or-of-xor operations after those checks; a later check expects that any constant will be in Op1. PR12234. llvm-svn: 152884
OpenPOWER on IntegriCloud