summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* misched: trace ReadyQ.Andrew Trick2012-05-171-0/+8
| | | | llvm-svn: 157007
* misched: Added 3-level regpressure back-off.Andrew Trick2012-05-173-75/+288
| | | | | | | | | | | | | | | | | | Introduce the basic strategy for register pressure scheduling. 1) Respect target limits at all times. 2) Indentify critical register classes (pressure sets). Track pressure within the scheduled region. Avoid increasing scheduled pressure for critical registers. 3) Avoid exceeding the max pressure of the region prior to scheduling. Added logic for picking between the top and bottom ready Q's based on regpressure heuristics. Status: functional but needs to be asjusted to achieve good results. llvm-svn: 157006
* commentAndrew Trick2012-05-172-3/+1
| | | | llvm-svn: 157005
* regpressure: Fix getMaxUpwardPressureDelta.Andrew Trick2012-05-171-2/+6
| | | | llvm-svn: 157004
* misched: fix liveness iteratorsAndrew Trick2012-05-171-10/+16
| | | | llvm-svn: 157003
* whitespaceAndrew Trick2012-05-172-2/+3
| | | | llvm-svn: 157002
* Never clear <undef> flags on already joined copies.Jakob Stoklund Olesen2012-05-171-4/+6
| | | | | | | | | | | | | | | | | | | | | RegisterCoalescer set <undef> flags on all operands of copy instructions that are scheduled to be removed. This is so they won't affect shrinkToUses() by introducing false register reads. Make sure those <undef> flags are never cleared, or shrinkToUses() could cause live intervals to end at instructions about to be deleted. This would be a lot simpler if RegisterCoalescer could just erase joined copies immediately instead of keeping all the to-be-deleted instructions around. This fixes PR12862. Unfortunately, bugpoint can't create a sane test case for this. Like many other coalescer problems, this failure depends of a very fragile series of events. <rdar://problem/11474428> llvm-svn: 157001
* Fix a verifier bug.Jakob Stoklund Olesen2012-05-171-1/+1
| | | | | | Make sure useless (def-only) intervals also get verified. llvm-svn: 157000
* [arcmt] Remove the "it is not safe to remove an unused 'autorelease' ↵Argyrios Kyrtzidis2012-05-172-13/+1
| | | | | | | | | | | | | | message" ARC migration error. This is more trouble that it is worth; autoreleasing a value without holding on it is a valid use-case, we should not "punish" correct code for the minority of broken/fragile programs that depend on the behavior of -autorelease. rdar://9914061 llvm-svn: 156999
* Relax the requirement that the exception object must be an instruction. DuringBill Wendling2012-05-171-6/+6
| | | | | | bugpoint-ing, it may turn into something else. llvm-svn: 156998
* [Hexagon] Clean up Hexagon ELF definition.Evandro Menezes2012-05-172-2/+3
| | | | llvm-svn: 156996
* enhance the intrinsic info stuff to emit encodings that don't fit in 32-bits ↵Chris Lattner2012-05-173-181/+95
| | | | | | | | | into a separate side table, using the handy SequenceToOffsetTable class. This encodes all these weird things into another 256 bytes, allowing all intrinsics to be encoded this way. llvm-svn: 156995
* We shouldn't save g_dummy_target_sp. Other code will simply call Destroy() ↵Filipe Cabecinhas2012-05-171-16/+13
| | | | | | | | | | | | | | | on it. TestBackticksWithoutATarget.BackticksWithNoTargetTestCase was calling GetDummyTarget() when executing for x86_64. When performing session tearDown, it would get destroyed (and everything would be invalid (arch, etc). Then the test would run for i386. The dummy target wasn't being reinitialized and was invalid. lldb complained that 'current process state is unsuitable for expression parsing'. llvm-svn: 156994
* [driver] Reword the warning message for missing value to a joined argument.Chad Rosier2012-05-171-1/+1
| | | | llvm-svn: 156993
* tsan: remove shutdown codeDmitry Vyukov2012-05-1711-102/+6
| | | | | | | | tsan runtime shutdown is problematic for 2 reasons: 1. others crash during shutdown 2. we have to override user exit status (don't know it and can't return from atexit handler) llvm-svn: 156991
* tsan: detect accesses to freed memoryDmitry Vyukov2012-05-1710-38/+105
| | | | | | http://codereview.appspot.com/6214052 llvm-svn: 156990
* Remove incorrect pattern for ARM SMML instruction.Tim Northover2012-05-172-2/+14
| | | | | | Patch by Meador Inge. llvm-svn: 156989
* Added two missing const qualifiers.Abramo Bagnara2012-05-172-4/+4
| | | | llvm-svn: 156988
* CXXThisScopeRAII objects aren't free, don't compute one if it's unused.Benjamin Kramer2012-05-173-3/+3
| | | | llvm-svn: 156987
* Fix compile error.Manuel Klimek2012-05-171-1/+1
| | | | llvm-svn: 156986
* SelectionDAGBuilder: CaseBlock, CaseRanges and CaseCmp changed ↵Stepan Dyatkovskiy2012-05-172-10/+11
| | | | | | representation of Low and High from signed to unsigned. Since unsigned ints usually simpler, faster and allows to reduce some extra signed bit checks needed before <,>,<=,>= comparisons. llvm-svn: 156985
* [tsan] grammar fixesKostya Serebryany2012-05-171-3/+3
| | | | llvm-svn: 156984
* [tsan] fix dependency rules in Makefile.oldKostya Serebryany2012-05-171-3/+5
| | | | llvm-svn: 156983
* tsan: ValgrindSlowdown() should be weak for some timeDmitry Vyukov2012-05-171-1/+1
| | | | llvm-svn: 156982
* tsan: add ValgrindSlowdown() "dynamic annotation"Dmitry Vyukov2012-05-171-0/+4
| | | | llvm-svn: 156981
* Genericize the intrinsics descriptor decoding a bit to make room Chris Lattner2012-05-171-20/+25
| | | | | | for future expansion, no functionality change yet though. llvm-svn: 156979
* finish encoding all of the interesting details of intrinsics. Now intrinsicsChris Lattner2012-05-172-48/+70
| | | | | | | are only rejected because they can't be encoded into a 32-bit unit, not because they contain an unencodable feature. llvm-svn: 156978
* strengthen the intrinsic descriptor stuff to be able to handle sin, cos and ↵Chris Lattner2012-05-172-64/+84
| | | | | | | | other intrinsics that use passed-in arguments. llvm-svn: 156977
* simplify code generated by tblgen that is not necessary since we droppedChris Lattner2012-05-171-20/+4
| | | | | | compatibility with LLVM 2.x bitcode files. llvm-svn: 156976
* I forgot the #ifdef _MSC_VER guard in my last commit.Francois Pichet2012-05-171-0/+5
| | | | llvm-svn: 156975
* Make sure to subtract one from the PC when doing the symbolication of stack ↵Greg Clayton2012-05-171-1/+6
| | | | | | frames when it isn't the zero'th frame. llvm-svn: 156974
* Fix the MSVC 2010 build: disable the optimizer for a problematic function.Francois Pichet2012-05-171-0/+2
| | | | llvm-svn: 156973
* Bump to version 148.Jason Molenda2012-05-174-21/+21
| | | | llvm-svn: 156971
* Use the argument location instead of the format string location when warningMatt Beaumont-Gay2012-05-172-9/+14
| | | | | | | | | | | | | | | | | | about argument type mismatch. This gives a nicer diagnostic in cases like printf(fmt, i); where previously the snippet just pointed at 'fmt' (with a note at the definition of fmt). It's a wash for cases like printf("%f", i); where previously we snippeted the offending portion of the format string, but didn't indicate which argument was at fault. llvm-svn: 156968
* [libclang/AST] When declaring a local class, don't neglect to set the end ↵Argyrios Kyrtzidis2012-05-162-0/+11
| | | | | | | | | | | location of the DeclStmt node, otherwise libclang will not work for anything inside that class. rdar://10837710 llvm-svn: 156966
* [driver] Remove obsolete support for -A link option. The standard -A option isChad Rosier2012-05-161-5/+2
| | | | | | | | | | | | used by the preprocessor. Apple's GCC also supported a -A option for linking. The ld man page has the following: -A basefile - Obsolete incremental load format. This option is obsolete. Nick Kledzik confirms this option is no longer needed/supported. rdar://11455614 llvm-svn: 156965
* Recover better from a missing 'typename' in a function template definition.Richard Smith2012-05-164-18/+98
| | | | | | | | Disambiguate past such a potential problem, and use the absence of 'typename' to break ties in favor of a parenthesized thingy being an initializer, if nothing else in the declaration disambiguates it as declaring a function. llvm-svn: 156963
* Warn the user when several commands match the input given.Filipe Cabecinhas2012-05-162-2/+28
| | | | | | Added a testcase. llvm-svn: 156961
* Use RegUnits to compute overlapping registers.Jakob Stoklund Olesen2012-05-163-83/+54
| | | | | | | | | | | TableGen already computes register units as the basic unit of interference. We can use that to compute the set of overlapping registers. This means that we can easily compute overlap sets for one register at a time. There is no benefit to computing all registers at once. llvm-svn: 156960
* SmallString Visual Studio visualizer by Will Wilson.David Blaikie2012-05-161-0/+5
| | | | llvm-svn: 156959
* This patch adds the register class for MIPS16 as well as the ability forAkira Hatanaka2012-05-165-11/+26
| | | | | | | | | | | | | | | llc to recognize MIPS16 as a MIPS ASE extension. -mips16 will mean the mips16 ASE for mips32 by default. As part of fixing of adding this we discovered some small changes that need to be made to MipsInstrInfo::storeRegToStackSLot and MipsInstrInfo::loadRegFromStackSlot. We were using some "==" equality tests where in fact we should have been using Mips::<regclas>.hasSubClassEQ instead, per suggestion of Jakob Stoklund Olesen. Patch by Reed Kotler. llvm-svn: 156958
* clang/test/Tooling: Remark as XFAIL again in 5 tests for msvc hosts.NAKAMURA Takumi2012-05-165-0/+15
| | | | | FIXME: JSON doesn't like path separator '\', on Win32 hosts. llvm-svn: 156957
* <rdar://problem/11439755>Greg Clayton2012-05-161-115/+123
| | | | | | Make sure we can fail to create a compile unit without asserting. We now emit a warning. llvm-svn: 156956
* Grammar.Eric Christopher2012-05-161-2/+2
| | | | llvm-svn: 156955
* XFAIL this test on MIPS.Akira Hatanaka2012-05-161-1/+1
| | | | | | Since r156650, clang has stopped emitting byval arguments for MIPS targets. llvm-svn: 156954
* Remove unnecessary temporary.Eric Christopher2012-05-161-3/+1
| | | | llvm-svn: 156953
* Fix a typo.Johnny Chen2012-05-161-1/+1
| | | | llvm-svn: 156952
* Set sub-register <undef> flags more accurately.Jakob Stoklund Olesen2012-05-161-7/+11
| | | | | | | | | | | | | | | When widening an existing <def,reads-undef> operand to a super-register, it may be necessary to clear the <undef> flag because the wider register is now read-modify-write through the instruction. Conversely, it may be necessary to add an <undef> flag when the coalescer turns a full-register def into a sub-register def, but the larger register wasn't live before the instruction. This happens in test/CodeGen/ARM/coalesce-subregs.ll, but the test is too small for the <undef> flags to affect the generated code. llvm-svn: 156951
* Rename the driver option to -mno-implicit-float, per Eli's suggestion.Chad Rosier2012-05-164-3/+5
| | | | llvm-svn: 156950
* Add triples for test.Jordy Rose2012-05-161-2/+4
| | | | llvm-svn: 156949
OpenPOWER on IntegriCloud