summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make sure list-initialization of arrays works correctly in explicit type ↵Eli Friedman2012-02-294-15/+43
| | | | | | conversions. PR12121. llvm-svn: 151674
* ARM implement TargetInstrInfo::getNoopForMachoTarget()Jim Grosbach2012-02-289-1/+66
| | | | | | | | | | | | | | Without this hook, functions w/ a completely empty body (including no epilogue) will cause an MCEmitter assertion failure. For example, define internal fastcc void @empty_function() { unreachable } rdar://10947471 llvm-svn: 151673
* Instructions inside a bundle have the same number as the bundle itself.Jakob Stoklund Olesen2012-02-281-2/+6
| | | | | | | | | | SlotIndexes are not assigned to instructions inside bundles, but it is still valid to look up the index of those instructions. The reverse getInstructionFromIndex() will return the first instruction in the bundle. llvm-svn: 151672
* In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), ↵David Meyer2012-02-289-152/+74
| | | | | | and isWeak(), with a bitset of flags. llvm-svn: 151670
* [libclang] Add a test I forgot to commit.Argyrios Kyrtzidis2012-02-281-0/+24
| | | | llvm-svn: 151669
* [PCH] Include a darwin-only PCH test on Cocoa.h.Argyrios Kyrtzidis2012-02-281-0/+7
| | | | llvm-svn: 151668
* Revert r151638 because it causes assertion hit on PCH creation for Cocoa.hArgyrios Kyrtzidis2012-02-2815-175/+6
| | | | | | | | | | | | | | | | | | | | Original log: --------------------- Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped. This fixes code such as: enum e {x, y}; int f(enum {y, x} n) { return 0; } This finally fixes PR5464 and PR5477. --------------------- I also reverted r151641 which was enhancement on top of r151638. llvm-svn: 151667
* Single- and zero-element initializer lists to scalars are ↵Sebastian Redl2012-02-282-0/+43
| | | | | | list-initializations. Fixes PR12118. llvm-svn: 151666
* Enable -Wcovered-switch-default again, but add -Werror to the checks to makeRafael Espindola2012-02-2811-18/+36
| | | | | | sure we don't use it with compilers that don't support it. llvm-svn: 151665
* [analyzer diagnostics] Refactor filtration for PathDiagnosticConsumers that ↵Ted Kremenek2012-02-283-37/+49
| | | | | | | | don't support cross-file diagnostics into a common place. Currently enable this filtration for Plist diagnostics as well. llvm-svn: 151664
* [analyzer diagnostics] start prototyping stripping PathDiagnostics of ↵Ted Kremenek2012-02-284-3/+74
| | | | | | | | | unnecessary cruft caused by path inlining. This introduces a concept of a "prunable" PathDiagnosticEvent. Currently this is a flag, but we may evolve the concept to make this more dynamically inferred. llvm-svn: 151663
* Modern objective-c translator. rewriting ivars of aggregate type.Fariborz Jahanian2012-02-282-15/+167
| | | | llvm-svn: 151662
* [analyzer] Leaks should be uniqued by the allocation point in theAnna Zaks2012-02-282-8/+39
| | | | | | closest function context (RetainCountChecker). llvm-svn: 151661
* Prefer bitcast+GEP over ptrtoint+sub+inttoptr: it's semantically equivalent ↵Eli Friedman2012-02-281-3/+3
| | | | | | here, and generally nicer to the optimizer. llvm-svn: 151659
* Kill off LiveRangeEdit::getNewVRegs and LiveRangeEdit::getUselessVRegs. TheseLang Hames2012-02-284-31/+10
| | | | | | | | methods are no longer needed now that LinearScan has gone away. (Contains tweaks trivialSpillEverywhere to enable the removal of getNewVRegs). llvm-svn: 151658
* [analyzer] Retain release: drop the line number info from the leakAnna Zaks2012-02-284-6/+5
| | | | | | message. llvm-svn: 151657
* [analyzer] Stats: Add the stats about remove dead bindings, correct theAnna Zaks2012-02-282-3/+14
| | | | | | test. llvm-svn: 151656
* On ELF, create relocations to the abbreviation and line sections when producingRafael Espindola2012-02-285-12/+106
| | | | | | | | | | debug info for assembly files. We were already doing the right thing when producing debug info for C/C++. ELF linkers don't know dwarf, so they depend on these relocations to produce valid dwarf output. llvm-svn: 151655
* [driver] Add support for -g2 and -ggdb debug flags.Chad Rosier2012-02-282-0/+10
| | | | | | rdar://10947759 llvm-svn: 151654
* Add -lm by default on Solaris.David Chisnall2012-02-281-0/+1
| | | | llvm-svn: 151653
* Reduce the number of move constructions when constructing a std::function. ↵Howard Hinnant2012-02-281-2/+16
| | | | | | This fixes http://llvm.org/bugs/show_bug.cgi?id=12105. llvm-svn: 151652
* Temporarily revert r151609, which enabled a new warning for LLVM andChandler Carruth2012-02-289-30/+12
| | | | | | | | Clang builds. The detection logic for compilers that support the warning isn't working. Rafael is going to investigate it, but didn't want people to have to wade through build spam until then. llvm-svn: 151649
* It turns out -fno-cxa-atexit just produces broken code, so disable it on ↵David Chisnall2012-02-281-1/+1
| | | | | | Solaris and we'll ship a __cxa_atexit implementation... llvm-svn: 151648
* ARM vbit/vbif/vbsl assembly optional size suffix.Jim Grosbach2012-02-281-0/+14
| | | | | | | | These instructions accept but do not require a size suffix. rdar://10947225 llvm-svn: 151646
* Re-commit r151623 with fix. Only issue special no-return calls if it's a ↵Evan Cheng2012-02-2835-79/+217
| | | | | | direct call. llvm-svn: 151645
* Fix off-by one in comment.Benjamin Kramer2012-02-281-1/+1
| | | | llvm-svn: 151644
* Fix the linux build now that we link against the Linux and FreeBSD platforms.Greg Clayton2012-02-282-17/+17
| | | | llvm-svn: 151642
* Un-break clang based on r151638 - What was meant to be a trivial variable ↵James Molloy2012-02-281-1/+1
| | | | | | name change went horribly wrong and I forgot to retest afterwards. llvm-svn: 151641
* Forgot to check in this file with r151593.Johnny Chen2012-02-281-0/+2
| | | | llvm-svn: 151640
* Properly MCize the section switch, removing a FIXME.Roman Divacky2012-02-281-2/+4
| | | | llvm-svn: 151639
* Correctly track tags and enum members defined in the prototype of a ↵James Molloy2012-02-2815-6/+175
| | | | | | | | | | | | | | | function, and ensure they are properly scoped. This fixes code such as: enum e {x, y}; int f(enum {y, x} n) { return 0; } This finally fixes PR5464 and PR5477. llvm-svn: 151638
* LegalizeIntegerTypes: Reenable the large shift with small amount optimization.Benjamin Kramer2012-02-283-30/+77
| | | | | | | | | | | | | To avoid problems with zero shifts when getting the bits that move between words we use a trick: first shift the by amount-1, then do another shift by one. When amount is 0 (and size 32) we first shift by 31, then by one, instead of by 32. Also fix a latent bug that emitted the low and high words in the wrong order when shifting right. Fixes PR12113. llvm-svn: 151637
* Extended the IR interpreter to support symbolsSean Callanan2012-02-281-4/+16
| | | | | | that have valid load addresses. llvm-svn: 151636
* [AST] When we @synthesize a property with a user-defined ivar name,Argyrios Kyrtzidis2012-02-284-14/+23
| | | | | | | | | | make sure to record the source location of the ivar name. [libclang] When indexing @synthesized objc methods, report the @implementation as the lexical container. Fixes rdar://10905472 llvm-svn: 151635
* [libclang] When indexing an objc property, also provide information aboutArgyrios Kyrtzidis2012-02-286-2/+70
| | | | | | | | the getter/setter objc method entities that the property is associated with. rdar://10244558 llvm-svn: 151634
* [AST] Associate the getter/setter methods to a property of a objc class ↵Argyrios Kyrtzidis2012-02-282-15/+37
| | | | | | | | | | extension. [libclang] Index the getter/setter methods of a property of a objc class extension. Fixes rdar://10907597 llvm-svn: 151633
* Some more Solaris fixes. Now successfully building libc++ on Solaris with ↵David Chisnall2012-02-283-13/+21
| | | | | | clang (and linking clang against it). llvm-svn: 151632
* Remove stray semi-colons.Daniel Dunbar2012-02-281-2/+2
| | | | llvm-svn: 151631
* Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack ↵Daniel Dunbar2012-02-2836-247/+79
| | | | | | prediction. ...", it is breaking the Clang build during the Compiler-RT part. llvm-svn: 151630
* Remove stray semi-colon.Daniel Dunbar2012-02-281-1/+1
| | | | llvm-svn: 151629
* Code cleanup following CR by Duncan.Nadav Rotem2012-02-281-5/+3
| | | | llvm-svn: 151627
* Fix a bug in the code that builds SDNodes from vector GEPs.Nadav Rotem2012-02-282-17/+32
| | | | | | | | | | | When the GEP index is a vector of pointers, the code that calculated the size of the element started from the vector type, and not the contained pointer type. As a result, instead of looking at the data element pointed by the vector, this code used the size of the vector. This works for 32bit members (on 32bit systems), but not for other types. Added code to peel the vector type and added a test. llvm-svn: 151626
* remove blanks, and some code formatJia Liu2012-02-2834-156/+156
| | | | llvm-svn: 151625
* Some ARM implementaions, e.g. A-series, does return stack prediction. That is,Evan Cheng2012-02-2836-79/+247
| | | | | | | | | | | | | | | | | the processor keeps a return addresses stack (RAS) which stores the address and the instruction execution state of the instruction after a function-call type branch instruction. Calling a "noreturn" function with normal call instructions (e.g. bl) can corrupt RAS and causes 100% return misprediction so LLVM should use a unconditional branch instead. i.e. mov lr, pc b _foo The "mov lr, pc" is issued in order to get proper backtrace. rdar://8979299 llvm-svn: 151623
* Convert generated intrinsic attributes to use an array lookup as Chris ↵Craig Topper2012-02-281-18/+26
| | | | | | suggested in PR11951. llvm-svn: 151622
* Reverted r152620 - DSE: Shorten memset when a later store overwrites the ↵Pete Cooper2012-02-282-137/+2
| | | | | | start of it. There were all sorts of buildbot issues llvm-svn: 151621
* DSE: Shorten memset when a later store overwrites the start of itPete Cooper2012-02-282-2/+137
| | | | llvm-svn: 151620
* Oops...Don't commit the other stuff..Bill Wendling2012-02-281-44/+29
| | | | llvm-svn: 151618
* Modify comment to reflect the importance of this code.Bill Wendling2012-02-281-29/+44
| | | | llvm-svn: 151617
* Basic coverage test for conversion-to-block-pointer for lambda expressions.Eli Friedman2012-02-281-0/+18
| | | | llvm-svn: 151616
OpenPOWER on IntegriCloud