summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert patches r115363 r115367 r115391 due to build breakage:Nick Lewycky2010-10-029-562/+1
| | | | | | | | | llvm[2]: Updated LibDeps.txt because dependencies changed llvm[2]: Checking for cyclic dependencies between LLVM libraries. find-cycles.pl: Circular dependency between *.a files: find-cycles.pl: libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a llvm-svn: 115393
* Update CMake files for recent AsmPrinter->InstPrinter changes. Can someone whoJim Grosbach2010-10-022-2/+4
| | | | | | is more familiar with CMake please review? llvm-svn: 115391
* Start on lowering global addresses.Eric Christopher2010-10-021-2/+43
| | | | llvm-svn: 115390
* This adds a Darwin x86_64 relocation encoding for a subtraction expressionKevin Enderby2010-10-022-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | where both symbols are "local", that is non-external symbols, and there is no "base" for the symbols used in the expression, that is the section has no non-temporary symbols. This case looks like this: % cat local_reloc_A-B.s .long 0 LB: .long 1 .long LA - LB - 4 .long 2 LA: .long 3 which llvm-mc will not encode without this patch, generates a "unsupported local relocations in difference" error, but the Darwin assembler will encode with relocation entries like this: % otool -rv a.out l.out a.out: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long False SUB False 1 (__TEXT,__text) 00000008 False long False UNSIGND False 1 (__TEXT,__text) which is very similar to what is encoded when the symbols don't have the leading 'L' and they are not temporary symbols. Which llvm-mc and the Darwin assembler will encoded like this: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long True SUB False B 00000008 False long True UNSIGND False A This is the missing relocation encoding needed to allow the Mach-O x86 Dwarf file and line table to be emitted. So this patch also removes the TODO from the if() statement in MCMachOStreamer::Finish() that didn't call MCDwarfFileTable::Emit() for 64-bit targets. llvm-svn: 115389
* when expanding a builtin, if the argument is required to be a constant,Chris Lattner2010-10-021-3/+40
| | | | | | | | | force it to be a constant instead of emitting with EmitScalarExpr. In -ftrapv mode, they are not the same. This fixes rdar://8478728 + PR8221 llvm-svn: 115388
* Don't add an imported function into its lexical context until *after*Douglas Gregor2010-10-013-2/+12
| | | | | | | we've set all of its parameters. Fixes <rdar://problem/8499598>; thanks to Sean for the diagnosis. llvm-svn: 115387
* Drop the use of LiveInterval::iterator and the LiveRange class inJakob Stoklund Olesen2010-10-011-14/+7
| | | | | | RemoveCopyByCommutingDef. llvm-svn: 115386
* When RemoveCopyByCommutingDef is creating additional identity copies, just useJakob Stoklund Olesen2010-10-013-47/+15
| | | | | | | | | | | LiveInterval::MergeValueNumberInto instead of trying to extend LiveRanges and getting it wrong. This fixed PR8249 where a valno with a multi-segment live range was defined by an identity copy created by RemoveCopyByCommutingDef. Some of the live segments disappeared. llvm-svn: 115385
* Pretty up the debug output during RemoveCopyByCommutingDef.Jakob Stoklund Olesen2010-10-011-19/+7
| | | | llvm-svn: 115384
* tidyChris Lattner2010-10-011-3/+3
| | | | llvm-svn: 115383
* kill off CheckX86BuiltinFunctionCallChris Lattner2010-10-012-10/+0
| | | | llvm-svn: 115382
* move imperative code to declarative definitions.Chris Lattner2010-10-012-25/+3
| | | | llvm-svn: 115381
* I committed too fast. Both "struct objc_selector *" and "SEL" are possible,Johnny Chen2010-10-011-2/+3
| | | | | | depending on the compiler used. Former if gcc/llvm-gcc, and latter if clang. llvm-svn: 115380
* Mark explict methods as explict in debug info.Devang Patel2010-10-012-1/+24
| | | | llvm-svn: 115379
* Add support to let FE mark explict methods as explict in debug info.Devang Patel2010-10-012-1/+11
| | | | llvm-svn: 115378
* Nuke trailing whitespace.Jim Grosbach2010-10-011-28/+28
| | | | llvm-svn: 115377
* PrintSpecial() can go away now.Jim Grosbach2010-10-011-1/+0
| | | | llvm-svn: 115376
* Stub out constant GV handling, fixes C++ eh tests.Eric Christopher2010-10-011-2/+14
| | | | llvm-svn: 115375
* diagnose errors when a builtin that require constant arguments don't have them.Chris Lattner2010-10-012-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | For example, on: #include <emmintrin.h> int foo(int N) { __m128i white2; white2 = _mm_slli_si128(white2, N); return 0; } we used to get: fatal error: error in backend: Cannot yet select: intrinsic %llvm.x86.sse2.psll.dq now we get: /Users/sabre/t.c:4:11: error: argument to '__builtin_ia32_pslldqi128' must be a constant integer white2 = _mm_slli_si128(white2, N); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /Users/sabre/t.c:1: /Volumes/Projects/cvs/llvm/Debug+Asserts/lib/clang/2.9/include/emmintrin.h:781:13: note: instantiated from: ((__m128i)__builtin_ia32_pslldqi128((__m128i)(VEC), (IMM)*8)) ^ ~~~~~~~ 1 error generated. llvm-svn: 115374
* Nuke the rest of the :comment referencesJim Grosbach2010-10-014-14/+10
| | | | llvm-svn: 115373
* Updated the expected match string when stopped on an objc instance method from:Johnny Chen2010-10-011-1/+1
| | | | | | | | | | | | ARG: (struct objc_selector *) _cmd to ARG: (SEL) _cmd The change most likely resulted from an update from the llvm tot with a newer clang. llvm-svn: 115372
* Get the declaration names for C++ ctors, dtors, and operators from theGreg Clayton2010-10-011-17/+220
| | | | | | right name pools. llvm-svn: 115371
* Nuke a bunch of no-longer-needed comment-only asm strings.Jim Grosbach2010-10-011-57/+28
| | | | llvm-svn: 115370
* Commented out two debug prints.Johnny Chen2010-10-011-2/+2
| | | | llvm-svn: 115369
* o Added a new feature to the test framework to skip long running tests ↵Johnny Chen2010-10-013-1/+66
| | | | | | | | | | | | | | | | | | | | conditionally. To not skip long running tests, pass '-l' to the test driver (dotest.py). An example: @unittest2.skipIf(TestBase.skipLongRunningTest(), "Skip this long running test") def test_foundation_disasm(self): ... o Added a long running disassemble test to the foundation directory, which iterates the code symbols from Foundation.framework and kicks off a disassemble command for for the named function symbol. Found a crasher: rdar://problem/8504895. o Plus added/updated some comments for the TestBase class. llvm-svn: 115368
* Now that the asmprinter itself isn't in the subdir, rename 'AsmPrinter' toJim Grosbach2010-10-016-2/+2
| | | | | | | 'InstPrinter' to fall into line with the other MC-ized assembly printer using targets. llvm-svn: 115367
* enhance ASTContext::GetBuiltinType to return a bitmask indicating which ↵Chris Lattner2010-10-012-14/+35
| | | | | | | | arguments are required to be ICE's. No clients of this new functionality yet! llvm-svn: 115366
* Fix r115332: correctly model AGU / NEON mux.Evan Cheng2010-10-011-133/+266
| | | | llvm-svn: 115365
* Thread the determination of branch prediction hit rates back through the ↵Owen Anderson2010-10-016-42/+67
| | | | | | | | | if-conversion heuristic APIs. For now, stick with a constant estimate of 90% (branch predictors are good!), but we might find that we want to provide more nuanced estimates in the future. llvm-svn: 115364
* Move the asmprinter and MC lowering out of the AsmPrinter (soon to beJim Grosbach2010-10-013-1/+1
| | | | | | InstPrinter) subdir llvm-svn: 115363
* Fix block descriptor documentation.Devang Patel2010-10-011-3/+5
| | | | llvm-svn: 115362
* random cleanups, no functionality change.Chris Lattner2010-10-011-41/+42
| | | | llvm-svn: 115361
* Rename the AsmPrinter directory to InstPrinter for those targets that haveJim Grosbach2010-10-0117-5/+10
| | | | | | | been MC-ized for assembly printing. MSP430 is mostly so, but still has the asm printer and lowering code in the printer subdir for the moment. llvm-svn: 115360
* Remove self-described temporary hack. A bit over a year seems a reasonableJim Grosbach2010-10-011-4/+1
| | | | | | | | delay. Anton and PIC16 folks, if this is still good to keep, please go ahead and add it back in with an updated comment about when would be a good time to revisit. llvm-svn: 115358
* Doug's feedbackGabor Greif2010-10-011-1/+1
| | | | llvm-svn: 115356
* Factor out enumerator APSInt adjustment intoGabor Greif2010-10-012-11/+41
| | | | | | | | | | | a helper function (AdjustAPSInt) and use that for adjusting the high bounds of case ranges before APSInt comparisons. Fixes http://llvm.org/bugs/show_bug.cgi?id=8135 Some minor refacorings while I am here. llvm-svn: 115355
* Fix scheduling infor for vmovn and vshrn which I broke accidentially.Evan Cheng2010-10-012-2/+2
| | | | llvm-svn: 115354
* Add operand cycles for vldr / vstr.Evan Cheng2010-10-012-8/+17
| | | | llvm-svn: 115353
* Need to specify SSE4 for machines which don't have SSE4. The code checked ↵Bill Wendling2010-10-012-6/+6
| | | | | | for is generated by SSE4. Otherwise, we get something else. llvm-svn: 115352
* Uncomment/fix "-f" command option for disassemble command.Caroline Tice2010-10-011-1/+1
| | | | llvm-svn: 115351
* Direct calls only for arm fast isel for now.Eric Christopher2010-10-011-2/+3
| | | | llvm-svn: 115350
* Restore test. Is for //rdar://8493239Fariborz Jahanian2010-10-011-0/+34
| | | | llvm-svn: 115349
* Fix typoFrancois Pichet2010-10-011-1/+1
| | | | llvm-svn: 115348
* Better diagnostic for superfluous scope specifier inside a class definition ↵Francois Pichet2010-10-015-43/+64
| | | | | | | | | | | for member functions. + Fixit. Example: class A { void A::foo(); //warning: extra qualification on member 'foo' }; llvm-svn: 115347
* Teach clang_getCursorReferenced() about Objective-C property referenceDouglas Gregor2010-10-012-6/+60
| | | | | | and protocol expressions. Fixes <rdar://problem/7833565>. llvm-svn: 115346
* UnreachableCodeChecker does not need to inherit from CheckerVisitor, only ↵Tom Care2010-10-011-1/+1
| | | | | | Checker. It does not use any AST Stmt hooks, only VisitEndAnalysis. llvm-svn: 115345
* NEON scheduling info fix. vmov reg, reg are single cycle instructions.Evan Cheng2010-10-014-15/+39
| | | | llvm-svn: 115344
* Fixed an issue where if a method funciton was asked to be parsed beforeGreg Clayton2010-10-0111-165/+260
| | | | | | its containing class was parsed, we would crash. llvm-svn: 115343
* Fix thinko on store instructions. Fixes test_indvars failure.Eric Christopher2010-10-011-6/+6
| | | | llvm-svn: 115342
* Make the spelling of the flags for old-style if-conversion heuristics ↵Owen Anderson2010-10-011-4/+4
| | | | | | consistent between ARM and Thumb2. llvm-svn: 115341
OpenPOWER on IntegriCloud