summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* remove unnecessary test specificationsSanjay Patel2015-07-051-5/+4
| | | | llvm-svn: 241419
* minimize test case and remove unnecessary opt passesSanjay Patel2015-07-051-65/+24
| | | | llvm-svn: 241418
* remove unnecessary temp variable; NFCISanjay Patel2015-07-051-5/+4
| | | | llvm-svn: 241415
* Verifier: Forbid comdats on linker declarations.Peter Collingbourne2015-07-053-0/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D10945 llvm-svn: 241414
* IR: Do not consider available_externally linkage to be linker-weak.Peter Collingbourne2015-07-0514-71/+55
| | | | | | | | | | | | | | | From the linker's perspective, an available_externally global is equivalent to an external declaration (per isDeclarationForLinker()), so it is incorrect to consider it to be a weak definition. Also clean up some logic in the dead argument elimination pass and clarify its comments to better explain how its behavior depends on linkage, introduce GlobalValue::isStrongDefinitionForLinker() and start using it throughout the optimizers and backend. Differential Revision: http://reviews.llvm.org/D10941 llvm-svn: 241413
* use range-based for loops; NFCISanjay Patel2015-07-051-8/+7
| | | | llvm-svn: 241412
* [TargetLowering] StringRefize asm constraint getters.Benjamin Kramer2015-07-0526-111/+81
| | | | | | | | There is some functional change here because it changes target code from atoi(3) to StringRef::getAsInteger which has error checking. For valid constraints there should be no difference. llvm-svn: 241411
* [X86][SSE3] Just use an explicit SSE3 target attribute - not a cpu type.Simon Pilgrim2015-07-051-1/+1
| | | | | | Merged arch/target into a specific triple - we had i686 and x86_64 targets overriding each other.... llvm-svn: 241410
* [X86][SSE2] Just use an explicit SSE2 target attribute - not a cpu type.Simon Pilgrim2015-07-051-1/+1
| | | | | | corei7 is capable of a lot more than just SSE2.... llvm-svn: 241409
* [RuntimeDyld] Add comment documenting the behavior change in r241383.Lang Hames2015-07-051-0/+4
| | | | llvm-svn: 241408
* [x86][AVX512] add Multiply High OpAsaf Badouh2015-07-058-0/+327
| | | | | | | | | include encoding and intrinsics tests. review http://reviews.llvm.org/D10896 llvm-svn: 241406
* [X86] Fix incorrect/inefficient pushw encodings for x86-64 targetsMichael Kuperstein2015-07-055-9/+49
| | | | | | | | | | | | | Correctly support assembling "pushw $imm8" on x86-64 targets. Also some cleanup of the PUSH instructions (PUSH64i16 and PUSHi16 actually represent the same instruction) This fixes PR23996 Patch by: david.l.kreitzer@intel.com Differential Revision: http://reviews.llvm.org/D10878 llvm-svn: 241404
* [CMake] add_llvm_symbol_exports: Use Python oneliner instead of "cmd.exe /c ↵NAKAMURA Takumi2015-07-051-13/+2
| | | | | | type" to generate *.def. llvm-svn: 241402
* Add missing builtins to the PPC back end for ABI compliance (vol. 2)Nemanja Ivanovic2015-07-053-0/+43
| | | | | | | | | This patch corresponds to review: http://reviews.llvm.org/D10874 Back end portion of the second round of additions to altivec.h. llvm-svn: 241398
* use range-based for loops; NFCISanjay Patel2015-07-041-20/+20
| | | | llvm-svn: 241395
* [X86][SSE] Improved i8/i16 to f64 uint2fp vector conversionsSimon Pilgrim2015-07-042-110/+55
| | | | | | Followup to D10433 and D10589 that fixes i8/i16 uint2fp vector conversions by zero extending to i32 and using the sint2fp path (unless the target does actually support uint2fp). llvm-svn: 241394
* use valid bits to avoid unnecessary machine trace metric recomputationsSanjay Patel2015-07-041-5/+10
| | | | | | | | | Although this does cut the number of traces recomputed by ~10% for the test case mentioned in http://reviews.llvm.org/D10460, it doesn't make a dent in the overall performance. That example needs to be more selective when invalidating traces. llvm-svn: 241393
* Fix spelling, NFC.Yaron Keren2015-07-041-1/+1
| | | | llvm-svn: 241392
* LTO: expose LTO_SYMBOL_ALIAS, which indicates that the symbol is an alias.Peter Collingbourne2015-07-042-2/+6
| | | | | | | | This is needed for COFF linkers to distinguish between weak external aliases and regular symbols with LLVM weak linkage, which are represented as strong symbols in COFF. llvm-svn: 241389
* Object/COFF: Do not rely on VirtualSize being 0 in object files.Rui Ueyama2015-07-041-8/+4
| | | | llvm-svn: 241387
* [RuntimeDyld] Skip relocations for external symbols with 64-bit address ~0ULL.Lang Hames2015-07-044-21/+84
| | | | | | | | | | | Requested by Eugene Rozenfeld of the LLILC team, this feature allows JIT clients to skip relocations for selected external symbols by returning ~0ULL from their symbol resolver. If this value is returned for a given symbol, RuntimeDyld will skip all relocations for that symbol. The client will be responsible for applying the skipped relocations manually before the code is executed. llvm-svn: 241383
* [X86] Add proper 64-bit mode checks to jrcxz and jcxz.Craig Topper2015-07-042-2/+10
| | | | llvm-svn: 241381
* AMDGPU: Fix indentation of switchMatt Arsenault2015-07-031-11/+12
| | | | llvm-svn: 241380
* [ELFYAML] Fix handling SHT_NOBITS sections by obj2yaml/yaml2obj toolsSimon Atanasyan2015-07-036-4/+53
| | | | | | | | | | SHT_NOBITS sections do not have content in an object file. Now the yaml2obj tool does not accept `Content` field for such sections, and the obj2yaml tool does not attempt to read the section content from a file. Restore r241350 and r241352. llvm-svn: 241377
* Use a continue to reduce indentation.Rafael Espindola2015-07-031-19/+20
| | | | llvm-svn: 241375
* Use a continue to reduce indentation.Rafael Espindola2015-07-031-51/+52
| | | | llvm-svn: 241374
* Context is allocated just a few lines above. Don't check if it is null.Rafael Espindola2015-07-031-32/+26
| | | | llvm-svn: 241373
* Fix build with -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_USE_OPROFILE=ON.Rafael Espindola2015-07-033-9/+14
| | | | | | Is anyone using those? llvm-svn: 241372
* Remove always-true comparison, NFC.Filipe Cabecinhas2015-07-032-25/+19
| | | | | | | | | | | | | | | | | | | | | | | Summary: Looking at r241279, I noticed that UpgradedIntrinsics only gets written to in the following code: if (UpgradeIntrinsicFunction(&F, NewFn)) UpgradedIntrinsics[&F] = NewFn; Looking through UpgradeIntrinsicFunction, we always return false OR NewFn will be set to a different function from our source. This patch pulls the F != NewFn into UpgradeIntrinsicFunction as an assert, and removes the check from callers of UpgradeIntrinsicFunction. Reviewers: rafael, chandlerc Subscribers: llvm-commits-list Differential Revision: http://reviews.llvm.org/D10915 llvm-svn: 241369
* [X86] Added 32-bit builds to fp<->int tests.Simon Pilgrim2015-07-032-3/+13
| | | | | | Ensure that i686 x87/SSE/SSE2 targets all build. llvm-svn: 241368
* Delete dead code. NFC.Benjamin Kramer2015-07-031-5/+0
| | | | llvm-svn: 241367
* Return ErrorOr from getSymbolAddress.Rafael Espindola2015-07-0318-61/+80
| | | | | | | It can fail trying to get the section on ELF and COFF. This makes sure the error is handled. llvm-svn: 241366
* Replace a few more MachO only uses of getSymbolAddress.Rafael Espindola2015-07-033-12/+8
| | | | llvm-svn: 241365
* Use getValue instead of getAddress in a few MachO only cases.Rafael Espindola2015-07-032-28/+11
| | | | | | | In MachO the value of the symbol is always the address, so we can use the simpler function. llvm-svn: 241364
* This reverts commit r241350 and r241352.Rafael Espindola2015-07-036-49/+4
| | | | | | | | | | | r241350 broke lld tests. r241352 depends on r241350. Original messages: "[ELFYAML] Fix handling SHT_NOBITS sections by obj2yaml/yaml2obj tools" "[ELFYAML] Make the Size field for .bss section optional" llvm-svn: 241354
* Delete dead code.Rafael Espindola2015-07-031-13/+0
| | | | llvm-svn: 241353
* [ELFYAML] Make the Size field for .bss section optionalSimon Atanasyan2015-07-032-2/+1
| | | | | | It's a common case to have a zero-size .bss section in an object file. llvm-svn: 241352
* [ELFYAML] Fix handling SHT_NOBITS sections by obj2yaml/yaml2obj toolsSimon Atanasyan2015-07-036-4/+50
| | | | | | | | SHT_NOBITS sections do not have content in an object file. Now yaml2obj tool does not accept `Content` field for such sections, and obj2yaml tool does not attempt to read the section content from a file. llvm-svn: 241350
* Avoid warning about unused variable when building without assertions.Rafael Espindola2015-07-031-2/+2
| | | | llvm-svn: 241348
* Avoid a use after free.Rafael Espindola2015-07-031-1/+4
| | | | llvm-svn: 241345
* Continue to remove the notion that ELF has dynamic and static symbols.Rafael Espindola2015-07-032-16/+37
| | | | | | | The ELFObjectFile now just reasons about a section/index pair, removing one of the users that force ELF.h to maintain the difference. llvm-svn: 241344
* llvm/test/CodeGen/ARM/fnattr-trap.ll: Add -mtriple, to appease targeting ↵NAKAMURA Takumi2015-07-031-2/+2
| | | | | | | | *-win32. LLVM ERROR: CPU: 'generic' does not support ARM mode execution! llvm-svn: 241329
* whitespace tidyup. NFC.Simon Pilgrim2015-07-031-28/+28
| | | | llvm-svn: 241326
* [X86][SSE] Sign extension for target vector sizes less than 128 bits (pt2)Simon Pilgrim2015-07-033-49/+19
| | | | | | | | Add support for v2i8/v2i16 to v2f64 by using a sign extension to v2i32 before conversion to v2f64. Differential Revision: http://reviews.llvm.org/D10589 llvm-svn: 241325
* Initialize booleans CallsUnwindInit and CallsEHReturn with false instead of 0.Yaron Keren2015-07-031-4/+4
| | | | llvm-svn: 241324
* [X86][SSE] Sign extension for target vector sizes less than 128 bits (pt1)Simon Pilgrim2015-07-032-6/+60
| | | | | | | | This patch adds support for sign extension for sub 128-bit vectors, such as to v2i32. It concatenates with UNDEF subvectors up to 128-bits, performs the sign extension (i.e. as v4i32) and then extracts the target subvector. Patch 1/2 of D10589 - the second patch covers the conversion of v2i8/v2i16 to v2f64. llvm-svn: 241323
* Fix an overly aggressive assertion in getCopyFromPartsVector.Nadav Rotem2015-07-022-2/+21
| | | | | | | | | | | The assertion in getCopyFromPartsVector assumed that the vector 'part' must match the type of argument (arguments are potentially split into multiple parts). However, in some cases the targets return a 'part' of the right size but with a different type. We already handle this case correctly later on and generate a bitcast. This commit just makes sure that we are actually checking the property that we care about. llvm-svn: 241312
* DIBuilder: Now that DICompileUnit is distinct, stop using temporary nodesAdrian Prantl2015-07-023-48/+45
| | | | | | for the arrays. llvm-svn: 241308
* Use function attribute "trap-func-name" and remove TargetOptions::TrapFuncName.Akira Hatanaka2015-07-026-18/+58
| | | | | | | | | | | | | | | | | | This commit changes normal isel and fast isel to read the user-defined trap function name from function attribute "trap-func-name" attached to llvm.trap or llvm.debugtrap instead of from TargetOptions::TrapFuncName. This is needed to use clang's command line option "-ftrap-function" for LTO and enable changing the trap function name on a per-call-site basis. Out-of-tree projects currently using TargetOptions::TrapFuncName to specify the trap function name should attach attribute "trap-func-name" to the call sites of llvm.trap and llvm.debugtrap instead. rdar://problem/21225723 Differential Revision: http://reviews.llvm.org/D10832 llvm-svn: 241305
* Add functions for adding and testing string attributes to CallInst. NFC.Akira Hatanaka2015-07-022-9/+23
| | | | | | | This change is needed later when I make changes to attach string function attributes to llvm.trap and llvm.debugtrap. llvm-svn: 241304
OpenPOWER on IntegriCloud