summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add another missing 64-bit itinerary definition for the PPC A2 core.Hal Finkel2012-06-131-0/+11
| | | | llvm-svn: 158393
* SimplifyCFG: fold unconditional branch to its predecessor if profitable.Manman Ren2012-06-132-24/+213
| | | | | | | | | | This patch extends FoldBranchToCommonDest to fold unconditional branches. For unconditional branches, we fold them if it is easy to update the phi nodes in the common successors. rdar://10554090 llvm-svn: 158392
* Fix off-by-one error in UTF-16 encoding: don't try to use a surrogate pair ↵Richard Smith2012-06-132-1/+4
| | | | | | for U+FFFF. llvm-svn: 158391
* PR13099: Teach -Wformat about raw string literals, UTF-8 strings and Unicode ↵Richard Smith2012-06-134-11/+86
| | | | | | escape sequences. llvm-svn: 158390
* Eliminate struct TableGenBackend.Jakob Stoklund Olesen2012-06-132-32/+7
| | | | | | | | TableGen backends are simply written as functions now. Patch by Sean Silva! llvm-svn: 158389
* Make clang-tblgen backends functions instead of TableGenBackends.Jakob Stoklund Olesen2012-06-1314-630/+403
| | | | | | | | Get rid of a bunch of header files. TableGen output should be unaffected. Patch by Sean Silva! llvm-svn: 158388
* Update clang attribute document.Michael Han2012-06-131-12/+0
| | | | | | | Remove the instructions on manually adding boilerplate code of AttributeList::Kind and AttributeList::getKind(). Both are now generated by tblgen. llvm-svn: 158386
* Clean up trailing blanks in Mips16InstrFormats.tdAkira Hatanaka2012-06-131-46/+46
| | | | | | Patch by Reed Kotler. llvm-svn: 158382
* disable use of directive .set nomicromipsAkira Hatanaka2012-06-132-2/+3
| | | | | | | | until this directive is pushed in gas to open source fsf Patch by Reed Kotler. llvm-svn: 158381
* sched: fix latency of memory dependence chain edges for consistency.Andrew Trick2012-06-132-13/+62
| | | | | | | | | | | For store->load dependencies that may alias, we should always use TrueMemOrderLatency, which may eventually become a subtarget hook. In effect, we should guarantee at least TrueMemOrderLatency on at least one DAG path from a store to a may-alias load. This should fix the standard mode as well as -enable-aa-sched-mi". llvm-svn: 158380
* sched: Avoid trivially redundant DAG edges. Take the one with higher latency.Andrew Trick2012-06-132-5/+27
| | | | llvm-svn: 158379
* 1. fix places where immed is used in place of imm to be consistent withAkira Hatanaka2012-06-131-38/+38
| | | | | | | | | non mips16 2. fix some comments to change OPcode->EXTEND for extended instructions Patch by Reed Kotler. llvm-svn: 158378
* Add missing narrowing check: converting from a signed integral type to a widerRichard Smith2012-06-132-5/+25
| | | | | | unsigned type is narrowing if the source is non-constant or negative. llvm-svn: 158377
* Grab bag of Microsoft Mangler fixes:Charles Davis2012-06-132-169/+453
| | | | | | | | | | - Support mangling virtual function tables (base tables need work on the ManglerContext interface). - Correct mangling of local scopes (i.e. functions and C++ methods). - Replace every llvm_unreachable() for actually-reachable code with a diagnostic. llvm-svn: 158376
* flesh out mach-o Reference KindsNick Kledzik2012-06-124-96/+218
| | | | llvm-svn: 158375
* Wrote initial doc on how to create a ReaderNick Kledzik2012-06-122-1/+172
| | | | llvm-svn: 158374
* Add some missing 64-bit itinerary definitions for the PPC A2 core.Hal Finkel2012-06-121-0/+22
| | | | llvm-svn: 158373
* [ms-inline-asm] The __asm keyword is a statement separator, so multiple asmChad Rosier2012-06-122-0/+11
| | | | | | statements are allowed on the same line. llvm-svn: 158372
* Use DenseMap as SmallMap workaround rather than std::map, at Chandler's request.Duncan Sands2012-06-121-1/+1
| | | | llvm-svn: 158371
* Fix test to work when clang is built without powerpc64 support.Bob Wilson2012-06-121-3/+6
| | | | llvm-svn: 158370
* Use std::map rather than SmallMap because SmallMap assumes that the value hasDuncan Sands2012-06-123-15/+17
| | | | | | | POD type, causing memory corruption when mapping to APInts with bitwidth > 64. Merge another crash testcase into crash.ll while there. llvm-svn: 158369
* [arm-fast-isel] Add support for -arm-long-calls.Chad Rosier2012-06-123-41/+121
| | | | | | Patch by Jush Lu <jush.msn@gmail.com>. llvm-svn: 158368
* [ms-inline-asm] Cleanup MS style inline assembly parsing.Chad Rosier2012-06-122-10/+54
| | | | | | | | | | Specifically, improve the handling of whitespace, stop saving tokens that are in comments and fix the case where we have a comment followed by a closing brace on the next line. Unfortunately, there's no easy way of testing this code. llvm-svn: 158367
* Split out the PPC instruction class IntSimple from IntGeneral.Hal Finkel2012-06-129-65/+90
| | | | | | | On the POWER7, adds and logical operations can also be handled in the load/store pipelines. We'll call these IntSimple. llvm-svn: 158366
* Add documentation for the JSON compilation database format.Manuel Klimek2012-06-121-0/+86
| | | | llvm-svn: 158365
* Remove use of GNU extension to resolve Clang warning.David Blaikie2012-06-121-3/+1
| | | | llvm-svn: 158364
* Fixes for PPC host detection and features.Hal Finkel2012-06-122-4/+4
| | | | | | | | | POWER4 is a 64-bit CPU (better matched to the 970). The g3 is really the 750 (no altivec), the g4+ is the 74xx (not the 750). Patch by Andreas Tobler. llvm-svn: 158363
* Use correct syntax highliter in code blocks. Noticed by Sean Silva.Dmitri Gribenko2012-06-124-11/+11
| | | | llvm-svn: 158359
* Now that Reassociate's LinearizeExprTree can look through arbitrary expressionDuncan Sands2012-06-126-25/+525
| | | | | | | | | | | | | | | | | topologies, it is quite possible for a leaf node to have huge multiplicity, for example: x0 = x*x, x1 = x0*x0, x2 = x1*x1, ... rapidly gives a value which is x raised to a vast power (the multiplicity, or weight, of x). This patch fixes the computation of weights by correctly computing them no matter how big they are, rather than just overflowing and getting a wrong value. It turns out that the weight for a value never needs more bits to represent than the value itself, so it is enough to represent weights as APInts of the same bitwidth and do the right overflow-avoiding dance steps when computing weights. As a side-effect it reduces the number of multiplies needed in some cases of large powers. While there, in view of external uses (eg by the vectorizer) I made LinearizeExprTree static, pushing the rank computation out into users. This is progress towards fixing PR13021. llvm-svn: 158358
* When code completion walks the members of a protocol or interface,Douglas Gregor2012-06-123-14/+60
| | | | | | make sure that we walk the definition. Fixes <rdar://problem/11427742>. llvm-svn: 158357
* [analyzer] WWW: Shorten the menu title.Anna Zaks2012-06-121-1/+1
| | | | llvm-svn: 158356
* Remove unused variable.Bill Wendling2012-06-121-1/+0
| | | | llvm-svn: 158353
* Add XOP permute intrinsics.Craig Topper2012-06-123-0/+52
| | | | llvm-svn: 158351
* Add two newlines in ParseSubtargetFeatures's debug output after the CPU is ↵Hal Finkel2012-06-121-1/+1
| | | | | | | | | printed. There is otherwise not a newline between the CPU name and the start of the next pass's output which makes both difficult to read. llvm-svn: 158350
* Reapply r158337, this time properly protect Darwin/PPC host CPU use with ↵Hal Finkel2012-06-122-135/+134
| | | | | | | | | | | | | __ppc__. Original commit message: Move PPC host-CPU detection logic from PPCSubtarget into sys::getHostCPUName(). Both the new Linux functionality and the old Darwin functions have been moved. This change also allows this information to be queried directly by clang and other frontends (clang, for example, will now have real -mcpu=native support). llvm-svn: 158349
* If parsing a trailing-return-type fails, don't pretend we didn't have one atRichard Smith2012-06-129-31/+41
| | | | | | all. Suppresses follow-on errors mentioned in PR13074. llvm-svn: 158348
* Correct comment. The return type was changed to const Type* in r123814. ↵Dmitri Gribenko2012-06-121-2/+0
| | | | | | Patch by David Röthlisberger. llvm-svn: 158347
* Satisfy C++ aliasing rules, per suggestion by Chandler.Argyrios Kyrtzidis2012-06-123-3/+8
| | | | llvm-svn: 158346
* Revert r158337 "Move PPC host-CPU detection logic from PPCSubtarget into ↵Jakob Stoklund Olesen2012-06-122-132/+133
| | | | | | | | | sys::getHostCPUName()." This commit broke most of the PowerPC unit tests when running on Intel/Apple. llvm-svn: 158345
* FileCheck docs: remove leftover HTML markup.Dmitri Gribenko2012-06-121-9/+9
| | | | llvm-svn: 158344
* Remove unused variable.Dmitri Gribenko2012-06-121-5/+0
| | | | llvm-svn: 158343
* For llvm::sys::ThreadLocalImpl instead of malloc'ing the platform-specificArgyrios Kyrtzidis2012-06-123-14/+18
| | | | | | | | | | | thread local data, embed them in the class using a uint64_t and make sure we get compiler errors if there's a platform where this is not big enough. This makes ThreadLocal more safe for using it in conjunction with CrashRecoveryContext. Related to crash in rdar://11434201. llvm-svn: 158342
* Revert "[analyzer] Treat LValueBitCasts like regular pointer bit casts."Jordan Rose2012-06-124-48/+7
| | | | | | | | | This does not actually give us the right behavior for reinterpret_cast of references. Reverting so I can think about it some more. This reverts commit 50a75a6e26a49011150067adac556ef978639fe6. llvm-svn: 158341
* misched: When querying RegisterPressureTracker, always save current and max ↵Andrew Trick2012-06-112-7/+16
| | | | | | pressure. llvm-svn: 158340
* misched: regpressure getMaxPressureDelta, revert accidental checkin.Andrew Trick2012-06-111-8/+2
| | | | llvm-svn: 158339
* [analyzer] Treat LValueBitCasts like regular pointer bit casts.Jordan Rose2012-06-114-7/+48
| | | | | | | | | | | | | These casts only appear in very well-defined circumstances, in which the target of a reinterpret_cast or a function formal parameter is an lvalue reference. According to the C++ standard, the following are equivalent: reinterpret_cast<T&>( x) *reinterpret_cast<T*>(&x) [expr.reinterpret.cast]p11 llvm-svn: 158338
* Move PPC host-CPU detection logic from PPCSubtarget into sys::getHostCPUName().Hal Finkel2012-06-112-133/+132
| | | | | | | | Both the new Linux functionality and the old Darwin functions have been moved. This change also allows this information to be queried directly by clang and other frontends (clang, for example, will now have real -mcpu=native support). llvm-svn: 158337
* Move implementation of WriterOptionsMachO to its own file. Reduced redundantNick Kledzik2012-06-1112-345/+1090
| | | | | | | | ivars in WriterOptionsMachO instead have its methods compute ivar interactions. Refactor mach-o Reference Kinds and introduce abstract class KindHandler. Split up StubAtoms.hpp by architecture. Add support for 32-bit x86 stubs. llvm-svn: 158336
* [analyzer] WWW: Add FAQ to the menu.Anna Zaks2012-06-111-2/+3
| | | | llvm-svn: 158335
* Add PPC support for translating gcc-style -mcpu options into LLVM ↵Hal Finkel2012-06-115-1/+143
| | | | | | | | | | | | | | -target-cpu options. This functionality is based on what is done on ARM, and enables selecting PPC CPUs in a way compatible with gcc's driver. Also, mirroring gcc (and what is done on x86), -mcpu=native support was added. This uses the host cpu detection from LLVM (which will also soon be updated by refactoring code currently in backend). In order for this to work, the target needs a list of valid CPUs -- we now accept all CPUs accepted by LLVM. A few preprocessor defines for common CPU types have been added. llvm-svn: 158334
OpenPOWER on IntegriCloud