summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for @note. Patch by Jörg Sonnenberger.Rafael Espindola2010-12-264-1/+19
| | | | llvm-svn: 122568
* sketch more of this out.Chris Lattner2010-12-261-20/+64
| | | | llvm-svn: 122567
* Add basic support for .cfi_personality.Rafael Espindola2010-12-265-21/+91
| | | | llvm-svn: 122566
* move isBytewiseValue out to ValueTracking.h/cppChris Lattner2010-12-263-69/+77
| | | | llvm-svn: 122565
* Fix for PR8695.David Chisnall2010-12-262-1/+9
| | | | llvm-svn: 122564
* actually add the file...Chris Lattner2010-12-261-0/+103
| | | | llvm-svn: 122563
* Start of a pass for recognizing memset and memcpy idioms.Chris Lattner2010-12-265-0/+10
| | | | | | No functionality yet. llvm-svn: 122562
* Simplify code.Benjamin Kramer2010-12-261-1/+1
| | | | llvm-svn: 122561
* fix some sort of weird pastoChris Lattner2010-12-261-60/+0
| | | | llvm-svn: 122560
* add a noteChris Lattner2010-12-261-0/+91
| | | | llvm-svn: 122559
* The -fshort-wchar option causes wchar_t to become unsigned, in addition to beingChris Lattner2010-12-2518-32/+70
| | | | | | | 16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. llvm-svn: 122558
* Generalize a previous change, fixing PR8855 - an valid large immediateChris Lattner2010-12-252-6/+10
| | | | | | rejected by the mc assembler. llvm-svn: 122557
* don't lose TD infoChris Lattner2010-12-252-3/+3
| | | | llvm-svn: 122556
* switch the inliner alignment enforcement stuff to use theChris Lattner2010-12-251-27/+8
| | | | | | | getOrEnforceKnownAlignment function, which simplifies the code and makes it stronger. llvm-svn: 122555
* Move getOrEnforceKnownAlignment out of instcombine into Transforms/Utils.Chris Lattner2010-12-255-103/+115
| | | | llvm-svn: 122554
* Support/PathV1: Deprecate makeAbsolute and remove Unix impl because it ↵Michael J. Spencer2010-12-252-13/+3
| | | | | | annoys people. llvm-svn: 122553
* Remove all uses of PathV1::GetRootDirectory.Michael J. Spencer2010-12-251-7/+6
| | | | llvm-svn: 122552
* Header warning patrol.Eric Christopher2010-12-251-2/+2
| | | | llvm-svn: 122551
* Fix a thinko pointed out by Frits van Bommel: looking through global ↵Benjamin Kramer2010-12-241-22/+19
| | | | | | variables in isBytewiseValue is not safe. llvm-svn: 122550
* Merge IsFixupFullyResolved and IsSymbolRefDifferenceFullyResolved. We nowRafael Espindola2010-12-246-223/+108
| | | | | | have a single point where targets test if a relocation is needed. llvm-svn: 122549
* MemCpyOpt: Turn memcpys from a constant into a memset if possible.Benjamin Kramer2010-12-242-3/+64
| | | | | | | | | | | | | This allows us to compile "int cst[] = {-1, -1, -1};" into movl $-1, 16(%rsp) movq $-1, 8(%rsp) instead of movl _cst+8(%rip), %eax movl %eax, 16(%rsp) movq _cst(%rip), %rax movq %rax, 8(%rsp) llvm-svn: 122548
* MC/Mach-O/ARM: Start handling some Thumb branches.Daniel Dunbar2010-12-242-0/+153
| | | | llvm-svn: 122547
* Add basic support for pointer arithmetic inTed Kremenek2010-12-245-20/+46
| | | | | | | | SimpleSValBuilder. This clears up some false positives emitted by ArrayBoundCheckerV2 due to the lack of support for pointer arithmetic. llvm-svn: 122546
* Minor cleanup related to my latest scheduler changes.Andrew Trick2010-12-242-4/+6
| | | | llvm-svn: 122545
* Fix a few cases where the scheduler is not checking for phys reg copies. The ↵Andrew Trick2010-12-242-4/+11
| | | | | | scheduling node may have a NULL DAG node, yuck. llvm-svn: 122544
* Remove the EntoSA directories.Argyrios Kyrtzidis2010-12-24122-39458/+0
| | | | llvm-svn: 122543
* Trailing whitespace.Jim Grosbach2010-12-241-96/+96
| | | | llvm-svn: 122542
* Various bits of framework needed for precise machine-level selectionAndrew Trick2010-12-2431-185/+715
| | | | | | | | | | | | | | | | | | | | | | | | | | DAG scheduling during isel. Most new functionality is currently guarded by -enable-sched-cycles and -enable-sched-hazard. Added InstrItineraryData::IssueWidth field, currently derived from ARM itineraries, but could be initialized differently on other targets. Added ScheduleHazardRecognizer::MaxLookAhead to indicate whether it is active, and if so how many cycles of state it holds. Added SchedulingPriorityQueue::HasReadyFilter to allowing gating entry into the scheduler's available queue. ScoreboardHazardRecognizer now accesses the ScheduleDAG in order to get information about it's SUnits, provides RecedeCycle for bottom-up scheduling, correctly computes scoreboard depth, tracks IssueCount, and considers potential stall cycles when checking for hazards. ScheduleDAGRRList now models machine cycles and hazards (under flags). It tracks MinAvailableCycle, drives the hazard recognizer and priority queue's ready filter, manages a new PendingQueue, properly accounts for stall cycles, etc. llvm-svn: 122541
* don't use #pragma mark, it isn't portable.Chris Lattner2010-12-241-7/+7
| | | | llvm-svn: 122540
* whitespaceAndrew Trick2010-12-2419-422/+422
| | | | llvm-svn: 122539
* ifndef _MSC_VER out #pragma mark on MSVC. It still tries to parse the text evenMichael J. Spencer2010-12-241-0/+4
| | | | | | though it doesn't know what it is, and complains about invalid tokens ;/. llvm-svn: 122538
* Simplify a check for implicit defs and remove a FIXME.Cameron Zwarich2010-12-241-8/+6
| | | | llvm-svn: 122537
* Handle locations coming from macro instantiations properly in ↵Argyrios Kyrtzidis2010-12-242-0/+17
| | | | | | | | SourceManager::isBeforeInTranslationUnit(). Fixes rdar://8790245 and http://llvm.org/PR8821. llvm-svn: 122536
* Refactor how we collect attributes during parsing, and add slots for attributesJohn McCall2010-12-2418-500/+524
| | | | | | | on array and function declarators. This is pretty far from complete, and I'll revisit it later if someone doesn't beat me to it. llvm-svn: 122535
* Fix a thinko in a helper routine for template argument deduction thatDouglas Gregor2010-12-242-5/+35
| | | | | | | | caused an assertion when dealing with non-type template parameter packs. Add some tests for deduction and instantiation of non-type template parameter packs. llvm-svn: 122534
* Non-type template parameter packs cannot have default arguments.Douglas Gregor2010-12-242-0/+18
| | | | llvm-svn: 122533
* When instantiating a non-type template parameter pack, be sure toDouglas Gregor2010-12-245-10/+44
| | | | | | | | extract the appropriate argument from the argument pack (based on the current substitution index, of course). Simple instantiation of pack expansions involving non-type template parameter packs now works. llvm-svn: 122532
* In llvm-mc parse a Hash token as a full line comment. Allows handling ofKevin Enderby2010-12-242-2/+15
| | | | | | | preprocessed .s files and matches darwin gas. rdar://8798690 Also fix a comment on the next line of AsmParser.cpp after this new code. llvm-svn: 122531
* Use a StringSwitch<> instead of a manually constructed string matcher.Jim Grosbach2010-12-241-10/+7
| | | | llvm-svn: 122530
* When determining if we can fold (x >> C1) << C2, the bits that we need to ↵Owen Anderson2010-12-232-1/+21
| | | | | | | | verify are zero are not the low bits of x, but the bits that WILL be the low bits after the operation completes. llvm-svn: 122529
* Code clean up. No functionality change.Evan Cheng2010-12-231-49/+48
| | | | llvm-svn: 122528
* Add an AST representation for non-type template parameterDouglas Gregor2010-12-2318-30/+93
| | | | | | | | | | | | | | packs, e.g., template<typename T, unsigned ...Dims> struct multi_array; along with semantic analysis support for finding unexpanded non-type template parameter packs in types, expressions, and so on. Template instantiation involving non-type template parameter packs probably doesn't work yet. That'll come soon. llvm-svn: 122527
* Uncomment the two failed 'expression' commands regarding fully qualified ↵Johnny Chen2010-12-231-9/+14
| | | | | | | | namespace variables. And decorate the test cases as @expectedFailure. llvm-svn: 122525
* Remove dead patterns.Jim Grosbach2010-12-231-26/+0
| | | | llvm-svn: 122524
* Recognize a few more documented register name aliases for ARM in the asm lexer.Jim Grosbach2010-12-231-0/+18
| | | | llvm-svn: 122523
* Improve the diagnostic and recovery for missing colons after 'case'Douglas Gregor2010-12-232-13/+25
| | | | | | | | | | | | | | | and 'default' statements, including a Fix-It to add the colon: test/Parser/switch-recovery.cpp:13:12: error: expected ':' after 'case' case 17 // expected-error{{expected ':' after 'case'}} ^ : test/Parser/switch-recovery.cpp:16:12: error: expected ':' after 'default' default // expected-error{{expected ':' after 'default'}} ^ : llvm-svn: 122522
* Radar 8803471: Fix expansion of ARM BCCi64 pseudo instructions.Bob Wilson2010-12-232-0/+4
| | | | | | | | If the basic block containing the BCCi64 (or BCCZi64) instruction ends with an unconditional branch, that branch needs to be deleted before appending the expansion of the BCCi64 to the end of the block. llvm-svn: 122521
* Implement parsing of function parameter packs and non-type templateDouglas Gregor2010-12-2311-22/+308
| | | | | | | | | | | | parameter packs (C++0x [dcl.fct]p13), including disambiguation between unnamed function parameter packs and varargs (C++0x [dcl.fct]p14) for cases like void f(T...) where T may or may not contain unexpanded parameter packs. llvm-svn: 122520
* Add -fobjc-default-synthesized-properties flagTed Kremenek2010-12-2318-10/+48
| | | | | | | | | | | | to allow us to explicitly control whether or not Objective-C properties are default synthesized. Currently this feature only works when using the -fobjc-non-fragile-abi2 flag (so there is no functionality change), but we can now turn off this feature without turning off all the features coupled with -fobjc-non-fragile-abi2. llvm-svn: 122519
* Do not re-test for the existence of pthread.h.Oscar Fuentes2010-12-231-3/+0
| | | | | | It was causing problems on the MinGW build. See PR8849. llvm-svn: 122518
OpenPOWER on IntegriCloud