summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Clean up whitespace as well as minor coding styleMichael Liao2014-12-0433-409/+403
| | | | llvm-svn: 223339
* Revert "Add missing test dependency and use a more canonical target name."Rafael Espindola2014-12-041-1/+0
| | | | | | | | | | This reverts commit r223336. NAKAMURA Takumi did the same thing in r223332! Sorry about the noise. llvm-svn: 223337
* Add missing test dependency and use a more canonical target name.Rafael Espindola2014-12-041-0/+1
| | | | llvm-svn: 223336
* [Hexagon] Adding lit exception if Hexagon isn't built.Colin LeMahieu2014-12-041-0/+3
| | | | llvm-svn: 223335
* [Hexagon] Marking some instructions as CodeGenOnly=0 and adding disassembly ↵Colin LeMahieu2014-12-044-3/+27
| | | | | | tests. llvm-svn: 223334
* Introduce "llvm-ranlib" as a name of targets since ↵NAKAMURA Takumi2014-12-042-1/+2
| | | | | | Object/archive-symtab.test requires llvm-ranlib. llvm-svn: 223332
* Sort by alphabetical order.NAKAMURA Takumi2014-12-041-1/+1
| | | | llvm-svn: 223331
* [X86] Restore X86 base pointer after call to llvm.eh.sjlj.setjmpMichael Liao2014-12-045-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit on - This patch fixes the bug described in http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-May/062343.html The fix allocates an extra slot just below the GPRs and stores the base pointer there. This is done only for functions containing llvm.eh.sjlj.setjmp that also need a base pointer. Because code containing llvm.eh.sjlj.setjmp saves all of the callee-save GPRs in the prologue, the offset to the extra slot can be computed before prologue generation runs. Impact at run-time on affected functions is:: - One extra store in the prologue, The store saves the base pointer. - One extra load after a llvm.eh.sjlj.setjmp. The load restores the base pointer. Because the extra slot is just above a gap between frame-pointer-relative and base-pointer-relative chunks of memory, there is no impact on other offset calculations other than ensuring there is room for the extra slot. http://reviews.llvm.org/D6388 Patch by Arch Robison <arch.robison@intel.com> llvm-svn: 223329
* [PowerPC] 'cc' should be an alias only to 'cr0'Hal Finkel2014-12-042-5/+3
| | | | | | | | | | | We had mistakenly believed that GCC's 'cc' referred to the entire condition-code register (cr0 through cr7) -- and implemented this in r205630 to fix PR19326, but 'cc' is actually an alias only to 'cr0'. This is causing LLVM to clobber too much with legacy code with inline asm using the 'cc' clobber. Fixes PR21451. llvm-svn: 223328
* Minor typo and link fixes for Statepoint documentationPhilip Reames2014-12-041-5/+3
| | | | llvm-svn: 223327
* HexagonMCInst.h: Qualify constants explicitly to appease msc17.NAKAMURA Takumi2014-12-041-2/+2
| | | | llvm-svn: 223325
* For copy, cmake needs the full path to llvm-ar.Rafael Espindola2014-12-041-1/+2
| | | | | | This should fix the windows build. llvm-svn: 223324
* Allow target to specify prefix for labelsMatt Arsenault2014-12-0410-4/+18
| | | | | | | | Use the MCAsmInfo instead of the DataLayout, and allow specifying a custom prefix for labels specifically. HSAIL requires that labels begin with @, but global symbols with &. llvm-svn: 223323
* A few more checks for gc.statepoints in the VerifierPhilip Reames2014-12-041-0/+11
| | | | | | | | | This is simply a grab bag of unrelated checks: - A statepoint call can't be marked readonly or readnone - We don't currently support inline asm or varadic target functions. Both could be supported, but don't currently work. - I forgot to check that the number of call arguments actually matched the wrapped callee in my previous change. Included here. llvm-svn: 223322
* Add missing dependency on llvm-ar. Should hopefully fix the bots.Rafael Espindola2014-12-041-1/+2
| | | | llvm-svn: 223321
* [PowerPC] Fix inline asm memory operands not to use r0Hal Finkel2014-12-032-2/+106
| | | | | | | | | | | | | | | On PowerPC, inline asm memory operands might be expanded as 0($r), where $r is a register containing the address. As a result, this register cannot be r0, and we need to enforce this register subclass constraint to prevent miscompiling the code (we'd get this constraint for free with the usual instruction definitions, but that scheme has no knowledge of how we end up printing inline asm memory operands, and so here we need to do it 'by hand'). We can accomplish this within the current address-mode selection framework by introducing an explicit COPY_TO_REGCLASS node. Fixes PR21443. llvm-svn: 223318
* [RegAllocFast] Handle implicit definitions conservatively.Quentin Colombet2014-12-032-8/+35
| | | | | | | | | | | | | | | | | Prior to this commit, physical registers defined implicitly were considered free right after their definition, i.e.. like dead definitions. Therefore, their uses had to immediately follow their definitions, otherwise the related register may be reused to allocate a virtual register. This commit fixes this assumption by keeping implicit definitions alive until they are actually used. The downside is that if the implicit definition was dead (and not marked at such), we block an otherwise available register. This is however conservatively correct and makes the fast register allocator much more robust in particular regarding the scheduling of the instructions. Fixes PR21700. llvm-svn: 223317
* This reverts commit r223306 and r223277.Rafael Espindola2014-12-036-267/+19
| | | | | | The code is using uninitialized memory and failing on linux. llvm-svn: 223315
* [msan] allow -fsanitize-coverage=N together with -fsanitize=memory, llvm partKostya Serebryany2014-12-033-3/+6
| | | | llvm-svn: 223312
* Test commit.Jacques Pienaar2014-12-031-2/+2
| | | | llvm-svn: 223310
* Make llvm-ar a real build target and install it.Rafael Espindola2014-12-031-10/+5
| | | | llvm-svn: 223309
* Add a test-case for lit xunit outputChris Matthews2014-12-031-0/+10
| | | | llvm-svn: 223307
* Move tests for llvm-objdump for universal files to X86 directory to fix ↵Kevin Enderby2014-12-033-0/+0
| | | | | | build bots. llvm-svn: 223306
* Don't allow test-suite names with . in them in xml outputChris Matthews2014-12-032-6/+8
| | | | llvm-svn: 223305
* Split the set of identified struct types into opaque and non-opaque ones.Rafael Espindola2014-12-033-109/+245
| | | | | | | | | | | | | | | | | | | The non-opaque part can be structurally uniqued. To keep this to just a hash lookup, we don't try to unique cyclic types. Also change the type mapping algorithm to be optimistic about a type not being recursive and only create a new type when proven to be wrong. This is not as strong as trying to speculate that we can keep the source type, but is simpler (no speculation to revert) and more powerfull than what we had before (we don't copy non-recursive types at least). I initially wrote this to try to replace the name based type merging. It is not strong enough to replace it, but is is a useful addition. With this patch the number of named struct types is a clang lto bootstrap goes from 49674 to 15986. llvm-svn: 223278
* Add support to llvm-objdump for Mach-O universal files and archives with -macho.Kevin Enderby2014-12-036-19/+267
| | | | llvm-svn: 223277
* fix typos, grammar, formatting; NFCSanjay Patel2014-12-031-22/+19
| | | | llvm-svn: 223276
* Strength Verifier checks around the types involved in a statepointPhilip Reames2014-12-031-6/+23
| | | | | | Add checks that the types in a gc.statepoint sequence match the wrapper callee and that relocating a pointer doesn't change it's type. llvm-svn: 223275
* correct spelling, NFCMatthias Braun2014-12-031-3/+3
| | | | llvm-svn: 223274
* [SimplifyLibCalls] Improve double->float shrinking to consider constantsMatthias Braun2014-12-032-14/+57
| | | | | | | | | | This allows cases like float x; fmin(1.0, x); to be optimized to fminf(1.0f, x); rdar://19049359 Differential Revision: http://reviews.llvm.org/D6496 llvm-svn: 223270
* [SimplifyLibCalls] Enable double to float shrinking for copysignMatthias Braun2014-12-032-0/+15
| | | | | | | | rdar://19049359 Differential Revision: http://reviews.llvm.org/D6495 llvm-svn: 223269
* [Hexagon] Converting member InstrDesc to static variable.Colin LeMahieu2014-12-034-22/+28
| | | | llvm-svn: 223268
* Fix grammar-o.Nico Weber2014-12-031-1/+1
| | | | llvm-svn: 223265
* [Hexagon] Converting subclass members to an implicit operand.Colin LeMahieu2014-12-033-24/+68
| | | | llvm-svn: 223264
* range-for some thingsDavid Blaikie2014-12-031-19/+12
| | | | llvm-svn: 223263
* Simplify CodeGenRegBank::inferMatchingSuperRegClass & its caller by passing ↵David Blaikie2014-12-032-18/+23
| | | | | | an iterator rather than index llvm-svn: 223262
* Simplify ownership of RegClasses by using list<CodeGenRegisterClass> instead ↵David Blaikie2014-12-036-110/+100
| | | | | | | | | | of vector<CodeGenRegisterClass*> This complicates a few algorithms due to not having random access, but not by a huge degree I don't think (open to debate/design discussion/etc). llvm-svn: 223261
* Range-for some stuff related to RegClasses, and comment cases where ↵David Blaikie2014-12-036-124/+124
| | | | | | range-for isn't suitable. llvm-svn: 223260
* Make the Verifier more strict about gc.statepointsPhilip Reames2014-12-031-28/+60
| | | | | | The recently added documentation for statepoints claimed that we checked the parameters of the various intrinsics for validity. This patch adds the code to actually do so. I also removed a couple of redundant checks for conditions which are checked elsewhere in the Verifier and simplified the logic using the helper functions from Statepoint.h. llvm-svn: 223259
* Add TableGen info for Power8.Will Schmidt2014-12-032-0/+395
| | | | | | | | This is based on the Power7 version, with units added and renamed to match P8. Differential Revision: http://reviews.llvm.org/D6358 llvm-svn: 223257
* Change the name to be in style.Roman Divacky2014-12-032-2/+2
| | | | llvm-svn: 223255
* Fix sphinx error from Statepoints.rstMatt Arsenault2014-12-031-0/+5
| | | | | | It was complaining it wasn't included in any toctree llvm-svn: 223254
* R600/SI: Move SIInsertWaits into AMDGPUPassConfig::addPreSched2()Tom Stellard2014-12-031-1/+3
| | | | | | | This pass needs to be run after PrologEpilogInserter, because that pass may inserter spill code which reads or writes memory. llvm-svn: 223253
* R600/SI: Don't run SI passes on R600 subtargetsTom Stellard2014-12-031-1/+1
| | | | llvm-svn: 223252
* AArch64: fix wrong-endian parameter passing.Tim Northover2014-12-032-3/+21
| | | | | | | The blocked arguments code didn't take account of the hacks needed to support it. llvm-svn: 223247
* [NFC] Fixing pendantic warning extra semicolons.Colin LeMahieu2014-12-031-7/+7
| | | | llvm-svn: 223246
* [Hexagon] [NFC] Moving function implementations out of header. ↵Colin LeMahieu2014-12-032-79/+88
| | | | | | Clang-formatting files. llvm-svn: 223245
* Fix test to use the right metadata node (reapply r223239 plus a fix) and ↵Nick Lewycky2014-12-031-2/+2
| | | | | | also to use the correct path to the GCNO file. llvm-svn: 223244
* [Hexagon] [NFC] Renaming *packetStart to *packetBeginColin LeMahieu2014-12-033-11/+11
| | | | llvm-svn: 223243
* Revert r223239, which broke some bots.Alexander Potapenko2014-12-031-1/+1
| | | | llvm-svn: 223240
OpenPOWER on IntegriCloud