summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Teach DAG combine a number of tricks to simplify FMA expressions in ↵Owen Anderson2012-09-012-0/+124
| | | | | | fast-math mode. llvm-svn: 163051
* Split library clangRewrite into clangRewriteCore and clangRewriteFrontend.Ted Kremenek2012-09-0154-100/+163
| | | | | | | This is similar to how we divide up the StaticAnalyzer libraries to separate core functionality to what is clearly associated with Frontend actions. llvm-svn: 163050
* Fix typoMichael Liao2012-09-011-1/+1
| | | | llvm-svn: 163049
* Initial check-in of "fancy" inlined stepping. Doesn't do anything useful ↵Jim Ingham2012-09-0114-32/+364
| | | | | | | | | unless you switch LLDB_FANCY_INLINED_STEPPING to true. With that on, basic inlined stepping works, including step-over of inlined functions. But for some as yet mysterious reason i386 debugging gets an assert and dies immediately. So for now its off. llvm-svn: 163044
* Made it so changes to the prompt via "settings set prompt" get noticed by ↵Greg Clayton2012-09-0111-20/+270
| | | | | | | | | | the command line. Added the ability for OptionValueString objects to take flags. The only flag is currently for parsing escape sequences. Not the prompt string can have escape characters translate which will allow colors in the prompt. Added functions to Args that will parse the escape sequences in a string, and also re-encode the escape sequences for display. This was looted from other parts of LLDB (the Debugger::FormatString() function). llvm-svn: 163043
* <rdar://problem/12069589>Greg Clayton2012-09-012-52/+49
| | | | | | | | Fixed an issue where not all text would always be seen when running any of the functions in heap.py in Xcode. Now we put the text directly into the command result object and skip STDIO since we have issues with STDIO right now in python scripts. Also fixed an issue with the "--stack-history" option where MallocStackLoggingNoCompact was assumed to have to be enabled... It doesn't, just MallocStackLogging. llvm-svn: 163042
* llvm/test/CodeGen/X86/fp-fast.ll: Suppress FMA4 on AMD Bulldozer host, ↵NAKAMURA Takumi2012-09-011-1/+1
| | | | | | corresponding to r162999. llvm-svn: 163041
* Fix Atom bots for r163036.Manman Ren2012-09-011-1/+12
| | | | llvm-svn: 163040
* Changed the remaining dead asserts to llvm_unreachable.Joao Matos2012-09-013-21/+15
| | | | llvm-svn: 163039
* Add a convenience function to get the range containing a given PC specified ↵Jim Ingham2012-08-312-0/+13
| | | | | | as load address + Target. llvm-svn: 163038
* Make the tab character in the thread frame lines optional.Jason Molenda2012-08-311-1/+1
| | | | llvm-svn: 163037
* SelectionDAG: when constructing VZEXT_LOAD from other loads, make sure itsManman Ren2012-08-312-3/+43
| | | | | | | | | | | output chain is correctly setup. As an example, if the original load must happen before later stores, we need to make sure the constructed VZEXT_LOAD is constrained to be before the stores. rdar://11457792 llvm-svn: 163036
* Mark FMA4 instructions as commutable and add them to the folding tables.Craig Topper2012-08-313-0/+93
| | | | llvm-svn: 163035
* don't warn about unused values when the unused value is a statement ↵Chris Lattner2012-08-312-0/+15
| | | | | | expression expanded from a macro. This is of dubious utility in general, but is specifically a major issue for the linux kernel. This resolves PR13747. llvm-svn: 163034
* Make sure to build libpthread to check for HAVE_PTHREAD_MUTEX_LOCK.Eric Christopher2012-08-311-3/+1
| | | | | | Patch by Brad Smith! llvm-svn: 163033
* Normalize line endings of r163013 (part 2).Joao Matos2012-08-3115-332/+332
| | | | llvm-svn: 163032
* Remove windows line endings.Benjamin Kramer2012-08-311-36/+34
| | | | | | While there fix a dead assert. llvm-svn: 163031
* Remove an unused argument. The MCInst opcode is set in the ConvertToMCInst()Chad Rosier2012-08-312-48/+43
| | | | | | function nowadays. llvm-svn: 163030
* Add selection of RegOp2MemOpTable3 to canFoldMemoryOperandCraig Topper2012-08-311-0/+2
| | | | llvm-svn: 163029
* Thread-safety analysis: fix handling of LOCK_RETURNED attribute so that theDeLesley Hutchins2012-08-312-4/+51
| | | | | | latest definition of a function is always used when computing lock expressions. llvm-svn: 163028
* Update a warning to point to the DiagGroup created in DiagnosticGroups.tdRichard Trieu2012-08-311-1/+1
| | | | | | instead of referring to the flag name. llvm-svn: 163027
* Thread-safety analysis: fix handling of string constants in mutexDeLesley Hutchins2012-08-313-2/+51
| | | | | | expressions, which should be ignored right now. llvm-svn: 163026
* Fix the build (-Wswitch violation introduced by r163013).David Blaikie2012-08-311-0/+1
| | | | llvm-svn: 163025
* Normalize line endings of r163013.Joao Matos2012-08-311-935/+935
| | | | llvm-svn: 163024
* Normalize line endings of r163022.Joao Matos2012-08-312-1178/+1177
| | | | llvm-svn: 163023
* Emulate MSVC's preprocessor macro argument separator behavior by not ↵Joao Matos2012-08-314-1174/+1192
| | | | | | considering commas from nested macro expansions as argument separators. Fixes parsing of VS 2012 headers. llvm-svn: 163022
* Add MachineInstr::tieOperands, remove setIsTied().Jakob Stoklund Olesen2012-08-314-20/+31
| | | | | | | | | | | Manage tied operands entirely internally to MachineInstr. This makes it possible to change the representation of tied operands, as I will do shortly. The constraint that tied uses and defs must be in the same order was too restrictive. llvm-svn: 163021
* Fix PR12359Michael Liao2012-08-312-3/+15
| | | | | | | | | - In addition to undefined, if V2 is zero vector, skip 2nd PSHUFB and POR as well as PSHUFB will zero elements with negative indices. Patch by Sriram Murali <sriram.murali@intel.com> llvm-svn: 163018
* objective-C ARC; detect and warn on retain cycle whenFariborz Jahanian2012-08-312-0/+10
| | | | | | | property-dot syntax is used on an object whose capture causes retain cycle. // rdar://11702054 llvm-svn: 163017
* tsan: fix crash when users pass insane mutex addresses in dynamic annotationsDmitry Vyukov2012-08-311-7/+14
| | | | llvm-svn: 163016
* Add loop-convert to the Make build.David Blaikie2012-08-312-1/+26
| | | | | | Hey, now the loop-convert tests pass too. llvm-svn: 163015
* <rdar://problem/12202862>Greg Clayton2012-08-313-17/+21
| | | | | | Added a fix for incorrect dynamic typing. Before when asking if a C++ class could be dynamic, we would answer yes for incomplete C++ classes. This turned out to have issues where if a class was not virtual, yet had its first ivar be an instance of a virtual class, we would incorrectly say that a class was virtual and we would downcast it to be a pointer to the first ivar. We now ask the class to complete itself prior to answering the question. We need to test the effects on memory of this change prior to submission. It is the safest and best fix, but it does have a potential downside of higher memory consumption. llvm-svn: 163014
* Improved MSVC __interface support by adding first class support for it, ↵Joao Matos2012-08-3130-1247/+1414
| | | | | | instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins. llvm-svn: 163013
* [analyzer] RetainCountChecker: don't assume all functions have names.Jordan Rose2012-08-313-5/+29
| | | | | | | | | | | | | | | Fixes a hard-to-reach crash when calling a non-member overloaded operator with arguments that may be callbacks. Future-proofing: don't make the same assumption in MallocSizeofChecker. Aside from possibly respecting attributes in the future, it might be possible to call 'malloc' through a function pointer. I audited all other uses of FunctionDecl::getIdentifier() in the analyzer; they all now correctly test to see if the identifier is present before using it. llvm-svn: 163012
* Fix indentation.Greg Clayton2012-08-311-4/+4
| | | | llvm-svn: 163011
* The instruction DINS may be transformed into DINSU or DEXTM dependingJack Carter2012-08-315-23/+60
| | | | | | | | | | | | | | | | | | | | | on the size of the extraction and its position in the 64 bit word. This patch allows support of the dext transformations with mips64 direct object output. 0 <= msb < 32 0 <= lsb < 32 0 <= pos < 32 1 <= size <= 32 DINS The field is entirely contained in the right-most word of the doubleword 32 <= msb < 64 0 <= lsb < 32 0 <= pos < 32 2 <= size <= 64 DINSM The field straddles the words of the doubleword 32 <= msb < 64 32 <= lsb < 64 32 <= pos < 64 1 <= size <= 32 DINSU The field is entirely contained in the left-most word of the doubleword llvm-svn: 163010
* Fix tests to be more robust (to older versions of grep, lesser lit-like test ↵David Blaikie2012-08-3115-73/+54
| | | | | | | | | | | | | | | | | | | | | | | runners, etc) Seems I had a problem with my version of grep, when run by lit, not supporting the \s escape. This seems to fix it for me & I'll be getting the buildbots to run these tests too to keep an eye on them (actually loop-convert tests still fail when run via a make build, so that'll be addressed in a future commit). I could use [[:space:]] to generalize over other whitespace but that seemed unnecessarily verbose when the flexibility wasn't actually required by the current text of the tests. Also I just simplified a lot of the loop-convert tests (removing the unecessary temp file deletion at the start, removing the unnecessary && for FileCheck, etc). The remove-cstr-calls/basic.cpp changes were necessitated by an out of tree lit-like test runner that's a bit less fantastic about escaping. They were modeled on existing tooling test cases in Clang, with thanks to Manuel Klimek for the pointers. llvm-svn: 163009
* Move the GCOVFormat enums into their own namespace per the LLVM coding standard.Bill Wendling2012-08-312-24/+26
| | | | llvm-svn: 163008
* Fixed invalid iterators. Since the iterator is invalidated after the erase() ↵Joao Matos2012-08-311-1/+1
| | | | | | call, we need to replace it with the new one returned. This was triggering an assert under MSVC 2012 and making all the ARCMT/ tests fail. llvm-svn: 163007
* tsan: add "as if synchronized via sleep" featureDmitry Vyukov2012-08-3112-10/+153
| | | | llvm-svn: 163006
* Add a comment to explain what's really going on.Chad Rosier2012-08-311-0/+6
| | | | llvm-svn: 163005
* [analyzer] Though C++ inlining is enabled, don't inline ctors and dtors.Jordan Rose2012-08-3111-57/+143
| | | | | | | | | | | | | | | | More generally, this adds a new configuration option 'c++-inlining', which controls which C++ member functions can be considered for inlining. This uses the new -analyzer-config table, so the cc1 arguments will look like this: ... -analyzer-config c++-inlining=[none|methods|constructors|destructors] Note that each mode implies that all the previous member function kinds will be inlined as well; it doesn't make sense to inline destructors without inlining constructors, for example. The default mode is 'methods'. llvm-svn: 163004
* objective-C: underline name of the missing methodFariborz Jahanian2012-08-312-4/+10
| | | | | | in the diagnbostic. // rdar://11303469 llvm-svn: 163003
* The ConvertToMCInst() function can't fail, so remove the now dead ↵Chad Rosier2012-08-314-9/+0
| | | | | | Match_ConversionFail enum. llvm-svn: 163002
* Mark FMA3 instructions as commutable so that the operands to the multiply ↵Craig Topper2012-08-312-15/+19
| | | | | | part can be commuted. llvm-svn: 163001
* Use CloneMachineInstr to make a new MI in commuteInstruction to make the ↵Craig Topper2012-08-311-10/+1
| | | | | | code tolerant of instructions with more than two input operands. llvm-svn: 163000
* Add support for converting llvm.fma to fma4 instructions.Craig Topper2012-08-315-36/+121
| | | | llvm-svn: 162999
* Don't enforce ordered inline asm operands.Jakob Stoklund Olesen2012-08-312-10/+9
| | | | | | | | | I was too optimistic, inline asm can have tied operands that don't follow the def order. Fixes PR13742. llvm-svn: 162998
* tsan: fix windows build (2)Dmitry Vyukov2012-08-311-4/+3
| | | | llvm-svn: 162997
* tsan: fix windows build (1)Dmitry Vyukov2012-08-311-0/+25
| | | | llvm-svn: 162996
OpenPOWER on IntegriCloud