cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
ttributes.h
utoUpgrade.h
omdat.h
onstant.h
IBuilder.h
ataLayout.h
ebugInfo.h
ebugLoc.h
iagnosticInfo.h
ominators.h
VMaterializer.h
lobalAlias.h
lobalObject.h
lobalValue.h
lobalVariable.h
RBuilder.h
nstructions.h
ntrinsics.h
ntrinsics.td
ntrinsicsAArch64.td
ntrinsicsARM.td
ntrinsicsNVVM.td
ntrinsicsR600.td
ntrinsicsX86.td
egacyPassNameParser.h
odule.h
ser.h
alue.h
alueMap.h
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
rgument.h
ttributes.h
asicBlock.h
allSite.h
allingConv.h
onstantRange.h
onstants.h
IBuilder.h
ataLayout.h
ebugInfo.h
ebugLoc.h
erivedTypes.h
iagnosticInfo.h
ominators.h
unction.h
VMaterializer.h
etElementPtrTypeIterator.h
lobalAlias.h
lobalObject.h
lobalValue.h
lobalVariable.h
RBuilder.h
nstrTypes.h
nstruction.h
nstructions.h
ntrinsics.td
ntrinsicsAArch64.td
ntrinsicsARM.td
ntrinsicsARM64.td
ntrinsicsNVVM.td
ntrinsicsX86.td
LVMContext.h
egacyPassManagers.h
egacyPassNameParser.h
DBuilder.h
etadata.h
odule.h
assManager.h
redIteratorCache.h
ymbolTableListTraits.h
ype.h
se.h
ser.h
alue.h
alueHandle.h
alueMap.h
erifier.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
rgument.h
ssemblyAnnotationWriter.h
ttributes.h
utoUpgrade.h
asicBlock.h
FG.h
MakeLists.txt
allSite.h
allingConv.h
onstant.h
onstantFolder.h
onstantRange.h
onstants.h
IBuilder.h
ataLayout.h
ebugInfo.h
ebugLoc.h
erivedTypes.h
iagnosticInfo.h
iagnosticPrinter.h
ominators.h
unction.h
VMaterializer.h
etElementPtrTypeIterator.h
lobalAlias.h
lobalValue.h
lobalVariable.h
RBuilder.h
RPrintingPasses.h
nlineAsm.h
nstIterator.h
nstVisitor.h
nstrTypes.h
nstruction.h
nstructions.h
ntrinsicInst.h
ntrinsics.h
ntrinsics.td
ntrinsicsAArch64.td
ntrinsicsARM.td
ntrinsicsARM64.td
ntrinsicsMips.td
ntrinsicsNVVM.td
ntrinsicsX86.td
ntrinsicsXCore.td
LVMContext.h
eakDetector.h
egacyPassManager.h
egacyPassManagers.h
egacyPassNameParser.h
DBuilder.h
angler.h
etadata.h
odule.h
oFolder.h
perator.h
assManager.h
atternMatch.h
redIteratorCache.h
ype.h
se.h
ser.h
alue.h
alueHandle.h
alueMap.h
erifier.h
|
7bb782b1cd3b931cf27565bd7c5a8952037f01cb |
09-Dec-2013 |
Manman Ren <manman.ren@gmail.com> |
Merging r196144: ------------------------------------------------------------------------ r196144 | mren | 2013-12-02 12:09:52 -0800 (Mon, 02 Dec 2013) | 4 lines Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h. Suggested by Eric. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196819 91177308-0d34-0410-b5e6-96231b3b80d8
etadata.h
|
cf5f97edf1355be0d7847c73559f8f2b73b54074 |
08-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r196637: ------------------------------------------------------------------------ r196637 | arsenm | 2013-12-06 18:58:41 -0800 (Fri, 06 Dec 2013) | 1 line Add getBitCastOrAddrSpaceCast ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196707 91177308-0d34-0410-b5e6-96231b3b80d8
onstants.h
|
5f1f4773d95560b68a9c75856563e45e3a4d57e3 |
01-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195803: ------------------------------------------------------------------------ r195803 | mcrosier | 2013-11-26 17:45:58 -0800 (Tue, 26 Nov 2013) | 1 line [AArch64] Add support for NEON scalar floating-point absolute difference. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195994 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
2527bdac885f5822bb2b9a805fc9d80b35dd8f8b |
01-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195788: ------------------------------------------------------------------------ r195788 | mcrosier | 2013-11-26 14:17:37 -0800 (Tue, 26 Nov 2013) | 2 lines [AArch64] Add support for NEON scalar floating-point to integer convert instructions. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195993 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
83a5c7898e26166199ef8a55527d176b5dc4cb04 |
25-Nov-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195327: ------------------------------------------------------------------------ r195327 | apazos | 2013-11-20 23:37:04 -0800 (Wed, 20 Nov 2013) | 6 lines Implemented Neon scalar by element intrinsics. Intrinsics implemented: vqdmull_lane, vqdmulh_lane, vqrdmulh_lane, vqdmlal_lane, vqdmlsl_lane scalar Neon intrinsics. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195611 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
97577757c6dc84233ad10cd432664257e593e76d |
18-Nov-2013 |
Hao Liu <Hao.Liu@arm.com> |
Implement the newly added ACLE functions for ld1/st1 with 2/3/4 vectors. The functions are like: vst1_s8_x2 ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194990 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
1572ba716bad4944a83040adef76c186c4841e95 |
18-Nov-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix spacing, forward declare order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194985 91177308-0d34-0410-b5e6-96231b3b80d8
onstants.h
|
8417e857818e972f318bd549caabc54bdf537c26 |
17-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
[PM] Completely remove support for explicit 'require' methods on the AnalysisManager. All this method did was assert something and we have a perfectly good way to trigger that assert from the query path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194947 91177308-0d34-0410-b5e6-96231b3b80d8
assManager.h
|
a53bf06f7a998f9ea9e13ba844efc2460a2185dd |
16-Nov-2013 |
Ana Pazos <apazos@codeaurora.org> |
Implemented aarch64 Neon scalar vmulx_lane intrinsics Implemented aarch64 Neon scalar vfma_lane intrinsics Implemented aarch64 Neon scalar vfms_lane intrinsics Implemented legacy vmul_n_f64, vmul_lane_f64, vmul_laneq_f64 intrinsics (v1f64 parameter type) using Neon scalar instructions. Implemented legacy vfma_lane_f64, vfms_lane_f64, vfma_laneq_f64, vfms_laneq_f64 intrinsics (v1f64 parameter type) using Neon scalar instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194888 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
5758c3c832daf4c0b37042684f822fa1896966ac |
15-Nov-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Fix the scalar NEON ACLE functions so that they return float/double rather than the vector equivalent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194853 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
28e12e9f02cf1c5029994b4a6d7e2988512e1310 |
15-Nov-2013 |
Cameron McInally <cameron.mcinally@nyu.edu> |
Add AVX512 unmasked FMA intrinsics and support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194824 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
59d3ae6cdc4316ad338cd848251f33a236ccb36c |
15-Nov-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add addrspacecast instruction. Patch by Michele Scandale! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
onstants.h
RBuilder.h
nstruction.def
nstructions.h
|
4701c4702e2f37d7a9f3ea9ef91ec47d73515093 |
14-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix the header comment of the new pass manager stuff to not claim to be the legacy stuff. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194689 91177308-0d34-0410-b5e6-96231b3b80d8
assManager.h
|
0710afb9af81cff9846ceda7b56d03cf177dd6ef |
14-Nov-2013 |
Kevin Qin <Kevin.Qin@arm.com> |
[AArch64 neon] support poly64 and relevant intrinsic functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194659 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
a08063a000cfc7499f08a472d85f14e7a5e90f8d |
14-Nov-2013 |
Kevin Qin <Kevin.Qin@arm.com> |
Implement aarch64 neon instruction class SIMD misc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194656 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
082ac99cc86b17c7cd2a1f2a6faa2d1adc184e17 |
14-Nov-2013 |
Jiangning Liu <jiangning.liu@arm.com> |
Implement AArch64 NEON instruction set AdvSIMD (table). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194648 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
11966d7c984c3e32b102ecd26083c6f274973d96 |
13-Nov-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for legacy AArch32 NEON scalar shift by immediate instructions. This patch does not include the shift right and accumulate instructions. A number of non-overloaded intrinsics have been remove in favor of their overloaded counterparts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194598 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
429af0e0a790f915595726cec47154f670cf7f87 |
13-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Add another (perhaps better) video for Sean's talk. (Thanks Marshall!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194549 91177308-0d34-0410-b5e6-96231b3b80d8
assManager.h
|
cfe36cb02a4c2d99fd2ea0892e7b2668f2df2b8b |
13-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Give folks a reference to some material on the fundamental design pattern in use here. Addresses review feedback from Sean (thanks!) and others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194541 91177308-0d34-0410-b5e6-96231b3b80d8
assManager.h
|
f348c9782c5c31309dfd2d04e3dbee21fefe07ff |
13-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Introduce an AnalysisManager which is like a pass manager but with a lot more smarts in it. This is where most of the interesting logic that used to live in the implicit-scheduling-hackery of the old pass manager will live. Like the previous commits, note that this is a very early prototype! I expect substantial changes before this is ready to use. The core of the design is the following: - We have an AnalysisManager which can be used across a series of passes over a module. - The code setting up a pass pipeline registers the analyses available with the manager. - Individual transform passes can check than an analysis manager provides the analyses they require in order to fail-fast. - There is *no* implicit registration or scheduling. - Analysis passes are different from other passes: they produce an analysis result that is cached and made available via the analysis manager. - Cached results are invalidated automatically by the pass managers. - When a transform pass requests an analysis result, either the analysis is run to produce the result or a cached result is provided. There are a few aspects of this design that I *know* will change in subsequent commits: - Currently there is no "preservation" system, that needs to be added. - All of the analysis management should move up to the analysis library. - The analysis management needs to support at least SCC passes. Maybe loop passes. Living in the analysis library will facilitate this. - Need support for analyses which are *both* module and function passes. - Need support for pro-actively running module analyses to have cached results within a function pass manager. - Need a clear design for "immutable" passes. - Need support for requesting cached results when available and not re-running the pass even if that would be necessary. - Need more thorough testing of all of this infrastructure. There are other aspects that I view as open questions I'm hoping to resolve as I iterate a bit on the infrastructure, and especially as I start writing actual passes against this. - Should we have separate management layers for function, module, and SCC analyses? I think "yes", but I'm not yet ready to switch the code. Adding SCC support will likely resolve this definitively. - How should the 'require' functionality work? Should *that* be the only way to request results to ensure that passes always require things? - How should preservation work? - Probably some other things I'm forgetting. =] Look forward to more patches in shorter order now that this is in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194538 91177308-0d34-0410-b5e6-96231b3b80d8
assManager.h
|
72c84a8294a061208d2dc76caf282d83b0f84549 |
12-Nov-2013 |
Weiming Zhao <weimingz@codeaurora.org> |
Export intrinsics:__builtin_arm_{dmb,dsb} to frontend git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194505 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
4c433cf673199528b601f664be3d4c121991a7e2 |
11-Nov-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] The shift right/left and insert immediate builtins expect 3 source operands, a vector, an element to insert, and a shift amount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194406 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
30b2a19f3be840da1bc4aefcaabcbddd2e0130fc |
11-Nov-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar floating-point convert to fixed-point instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194394 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
ea9988447c5bd59827baf1b45dd5b62b4065d553 |
09-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
[PM] Start sketching out the new module and function pass manager. This is still just a skeleton. I'm trying to pull together the experimentation I've done into committable chunks, and this is the first coherent one. Others will follow in hopefully short order that move this more toward a useful initial implementation. I still expect the design to continue evolving in small ways as I work through the different requirements and features needed here though. Keep in mind, all of this is off by default. Currently, this mostly exercises the use of a polymorphic smart pointer and templates to hide the polymorphism for the pass manager from the pass implementation. The next step will be more significant, adding the first framework of analysis support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194325 91177308-0d34-0410-b5e6-96231b3b80d8
assManager.h
|
49837ef8111fbeace7ae6379ca733c8f8fa94cfe |
09-Nov-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move the old pass manager infrastructure into a legacy namespace and give the files a legacy prefix in the right directory. Use forwarding headers in the old locations to paper over the name change for most clients during the transitional period. No functionality changed here! This is just clearing some space to reduce renaming churn later on with a new system. Even when the new stuff starts to go in, it is going to be hidden behind a flag and off-by-default as it is still WIP and under development. This patch is specifically designed so that very little out-of-tree code has to change. I'm going to work as hard as I can to keep that the case. Only direct forward declarations of the PassManager class are impacted by this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194324 91177308-0d34-0410-b5e6-96231b3b80d8
egacyPassManager.h
egacyPassManagers.h
|
623d2e618f4e672c47edff9ec63ed6d733ac81d3 |
09-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[Stackmap] Add AnyReg calling convention support for patchpoint intrinsic. The idea of the AnyReg Calling Convention is to provide the call arguments in registers, but not to force them to be placed in a paticular order into a specified set of registers. Instead it is up tp the register allocator to assign any register as it sees fit. The same applies to the return value (if applicable). Differential Revision: http://llvm-reviews.chandlerc.com/D2009 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194293 91177308-0d34-0410-b5e6-96231b3b80d8
allingConv.h
|
3ff3a8aa7511bede13e836303a083af37fec4f4e |
05-Nov-2013 |
Jiangning Liu <jiangning.liu@arm.com> |
Implement AArch64 Neon Crypto instruction classes AES, SHA, and 3 SHA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194085 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
2e58f1d4cf95e44674cbc4975e713f9293255d5f |
04-Nov-2013 |
Cameron McInally <cameron.mcinally@nyu.edu> |
Add support for AVX512 masked vector blend intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194006 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
6a907f8c7d6b440bbadaa9aaafb03b489673ae1f |
04-Nov-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: fixed a typo in builtin name git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193988 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
633f98bdfa266871dcd17ab27af1594c6cc31d9e |
03-Nov-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: added VPCONFLICT instruction and intrinsics, added EVEX_KZ to tablegen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193959 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
19794da02cc48a772ae6f4756b14b111a627170e |
01-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove linkonce_odr_auto_hide. linkonce_odr_auto_hide was in incomplete attempt to implement a way for the linker to hide symbols that are known to be available in every TU and whose addresses are not relevant for a particular DSO. It was redundant in that it all its uses are equivalent to linkonce_odr+unnamed_addr. Unlike those, it has never been connected to clang or llvm's optimizers, so it was effectively dead. Given that nothing produces it, this patch just nukes it (other than the llvm-c enum value). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193865 91177308-0d34-0410-b5e6-96231b3b80d8
lobalValue.h
|
1a035dd6df1d953af57656491eda28ceef9ad4a3 |
31-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar fixed-point convert to floating-point instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193816 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
2ddc56dec8e523cee56d36e2e4c9a1c469e72e1c |
31-Oct-2013 |
Andrew Trick <atrick@apple.com> |
Add new calling convention for WebKit Java Script. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193812 91177308-0d34-0410-b5e6-96231b3b80d8
allingConv.h
|
1d28917dc39f38847f5c69c0a60cd1491430bdad |
31-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar shift immediate instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193790 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
aa8c95ec289bc14351bc7597d5c9251ce6f98c14 |
31-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Cleanup: update comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193773 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
ab7431b0d47926e804a4a07fdca12e575c976daf |
31-Oct-2013 |
Andrew Trick <atrick@apple.com> |
Add experimental stackmap intrinsics to definition file and documenation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193767 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
2e50b8a08d40ce72ae35c73528140d3ee25209e0 |
31-Oct-2013 |
Andrew Trick <atrick@apple.com> |
Enable variable arguments support for intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193766 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.h
|
424f19732e948a854b454c70722a4eca8957bc20 |
31-Oct-2013 |
Cameron McInally <cameron.mcinally@nyu.edu> |
Add AVX512 unmasked integer broadcast intrinsics and support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193748 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
02fbffd4e8e1a28539b302e4de84203814898153 |
30-Oct-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Correct definition of bins[lr] and CHECK-DAG-ize related tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193695 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
c385709d8397ca1535481c04564b67d07c66c619 |
30-Oct-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added support for matching bmnz, bmnzi, bmz, and bmzi from normal IR (i.e. not intrinsics) Also corrected the definition of the intrinsics for these instructions (the result register is also the first operand), and added intrinsics for bsel and bseli to clang (they already existed in the backend). These four operations are mostly equivalent to bsel, and bseli (the difference is which operand is tied to the result). As a result some of the tests changed as described below. bitwise.ll: - bsel.v test adapted so that the mask is unknown at compile-time. This stops it emitting bmnzi.b instead of the intended bsel.v. - The bseli.b test now tests the right thing. Namely the case when one of the values is an uimm8, rather than when the condition is a uimm8 (which is covered by bmnzi.b) compare.ll: - bsel.v tests now (correctly) emits bmnz.v instead of bsel.v because this is the same operation (see MSA.txt). i8.ll - CHECK-DAG-ized test. - bmzi.b test now (correctly) emits equivalent bmnzi.b with swapped operands because this is the same operation (see MSA.txt). - bseli.b still emits bseli.b though because the immediate makes it distinguishable from bmnzi.b. vec.ll: - CHECK-DAG-ized test. - bmz.v tests now (correctly) emits bmnz.v with swapped operands (see MSA.txt). - bsel.v tests now (correctly) emits bmnz.v with swapped operands (see MSA.txt). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193693 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
f853a034a1fdccd194da04ca1e2e1aa8bcbd16b4 |
30-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar floating-point compare instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193691 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
95efb037f7ddc4cac67007eb3a9864e6012eda3b |
30-Oct-2013 |
Cameron McInally <cameron.mcinally@nyu.edu> |
Refactor the AVX512 intrinsics. Cluster the intrinsics into the appropriate vector extension class within the .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193690 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
6ff1ef9931b50763a40e9ae8696cfab9e25cf4de |
30-Oct-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added support for matching bins[lr]i.[bhwd] from normal IR (i.e. not intrinsics) This required correcting the definition of the bins[lr]i intrinsics because the result is also the first operand. It also required removing the (arbitrary) check for 32-bit immediates in MipsSEDAGToDAGISel::selectVSplat(). Currently using binsli.d with 2 bits set in the mask doesn't select binsli.d because the constant is legalized into a ConstantPool. Similar things can happen with binsri.d with more than 10 bits set in the mask. The resulting code when this happens is correct but not optimal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193687 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
1313a223ed2e8d41b6a13d3738123042b5573b88 |
29-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Clarify that GlobalVariables definitions must have an initializer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193609 91177308-0d34-0410-b5e6-96231b3b80d8
lobalVariable.h
|
62d66cbec5b2d4e00e86457762df0127ae234e6f |
27-Oct-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: PMIN/PMAX intrinsics and patterns Patch by Cameron McInally <cameron.mcinally@nyu.edu> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193497 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
69bd41dfe33f24414be281ba5e2204b7348c33ae |
27-Oct-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193489 91177308-0d34-0410-b5e6-96231b3b80d8
lobalVariable.h
|
62ef05811661d7aff6276e64cc4ba7d325a408d6 |
24-Oct-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: added VCVTPH2PS, VCVTPS2PH with intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193312 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
3d0b7e1cc5856ae0c17687e1be3cddeb79704bca |
23-Oct-2013 |
Yuchen Wu <yuchenericwu@hotmail.com> |
Fixed doxygen comment to match Module.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193273 91177308-0d34-0410-b5e6-96231b3b80d8
odule.h
|
8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd |
23-Oct-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Use address-taken to disambiguate global variable and indirect memops. Major steps include: 1). introduces a not-addr-taken bit-field in GlobalVariable 2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable dosen't have its address taken. 3). AA use this info for disambiguation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193251 91177308-0d34-0410-b5e6-96231b3b80d8
lobalVariable.h
|
b5eae81267649a7ce53debe8196533f7a0472f5b |
21-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add the constraint to NEON scalar mla/mls instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193117 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
f89f66e61b26974bb73b5832d5825091873b51dc |
21-Oct-2013 |
Matheus Almeida <matheus.almeida@imgtec.com> |
[mips][msa] Fix definition of SLD instruction. The second parameter of the SLD intrinsic is the number of columns (GPR) to slide left the source array. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193076 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
3b370a2ac433c4abfbfe8f47c63fee0dbcfcc9e6 |
17-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar three register different instruction class. The instruction class includes the signed saturating doubling multiply-add long, signed saturating doubling multiply-subtract long, and the signed saturating doubling multiply long instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192908 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
52244da7f2b3def646900520668b859343b84a33 |
17-Oct-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added lsa instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192895 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
db8a16252b9d29bd7a3442d5c3bad0398dd85908 |
17-Oct-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Removed ldx.[bhwd] and stx.[bhwd]. These were present in a previous version of the MSA spec but are not present in the published version. There is no hardware that uses these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192888 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
dceac4c5a611f26ebcc88c75cc39075c7df2466e |
16-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar negate instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192843 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
a249914462c7b8f0c25b21eca77df264455290ee |
16-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar absolute value instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192842 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
8225b23c6adcb1be605108425b7eb169b6439b64 |
16-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192806 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
a2cd42a0a7c46d158714c09047a77b7bc1cf9d69 |
16-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar signed saturating accumulated of unsigned value and unsigned saturating accumulate of signed value instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192800 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
1e6810005f426798ce2541c26f0cdc7a08670846 |
16-Oct-2013 |
Will Dietz <wdietz2@illinois.edu> |
TypeFinder: prefer iterative algorithm to keep stack usage low. Introduce subtype_reverse_iterator to maintain the numbering assigned during the recursive type walk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192770 91177308-0d34-0410-b5e6-96231b3b80d8
ype.h
|
390ff499f053771cba51a2f42651f126a7e096f7 |
15-Oct-2013 |
Craig Topper <craig.topper@gmail.com> |
Remove x86_sse42_crc32_64_8 intrinsic. It has no functional difference from x86_sse42_crc32_32_8 and was not mapped to a clang builtin. I'm not even sure why this form of the instruction is even called out explicitly in the docs. Also add AutoUpgrade support to convert it into the other intrinsic with appropriate trunc and zext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192672 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
942827b1139c432239648ef54d1df5074eac36ec |
14-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar integer compare instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192596 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
1a525e8c80305777e3ca0cba0e1903fdbf04aa86 |
09-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a GlobalAlias::isValidLinkage to reduce code duplication. Thanks to Reid Kleckner for the suggestion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192298 91177308-0d34-0410-b5e6-96231b3b80d8
lobalAlias.h
|
50dc2ad46ca9a5391bc75c9e3620337afefb995c |
09-Oct-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: Added VRCP28 and VRSQRT28 instructions and intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192283 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
c97650079383110d66ab104ee60d03ded2be8e35 |
09-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar floating-point reciprocal estimate, reciprocal exponent, and reciprocal square root estimate instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192242 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
25180dc319774a68d8aa8c3264e3ce63b8e01f00 |
08-Oct-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix duplicated assertions. Do what some other instructions do, and add an assert method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192236 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
3dfe644f7b6a560e1991b03d8c419c973ac7ed8d |
08-Oct-2013 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Add support for NEON scalar signed/unsigned integer to floating-point convert instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192231 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
e3c2f07005aa2e4c935adb65f7f3e0176810fe68 |
08-Oct-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
IRBuilder: Downgrade InsertPointGuard's instruction pointer to a raw pointer. Sadly this loses the checking from AssertingVH, but apparently storing the end() of a BasicBlock into an AssertingVH has bad consequences as it's not really an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192209 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
c4a8c07f6489c0081207f722ce0a4502614aef69 |
07-Oct-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Change objectsize intrinsic to accept different address spaces. Bitcasting everything to i8* won't work. Autoupgrade the old intrinsic declarations to use the new mangling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192117 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
714319a169784577e33fb1ea28ac06be32c9e735 |
06-Oct-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: added scalar convert instructions and intrinsics. Fixed load folding in VPERM2I instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192063 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
22abf7e17f47f26691fdf4c590ebd88ebf560c73 |
05-Oct-2013 |
Craig Topper <craig.topper@gmail.com> |
Remove unneeded TBM intrinsics. The arithmetic/logical operation patterns are sufficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192039 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
beb6afa84397a27e48a9d72ac1d588bc6fcaf564 |
05-Oct-2013 |
Jiangning Liu <jiangning.liu@arm.com> |
Implement aarch64 neon instruction set AdvSIMD (Across). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192028 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
fafe4bbd6c25551b7ea92cf63a8bb4a79c6c4324 |
03-Oct-2013 |
Craig Topper <craig.topper@gmail.com> |
Add patterns for selecting TBM instructions from logical operations. Patch from Yunzhong Gao. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191871 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
da750239bd1f02aef403baa4805805fb580e78e1 |
03-Oct-2013 |
Pete Cooper <peter_cooper@apple.com> |
Add v4f16 to supported value types. This is useful for some ARM intrinsics such as VCVTN which does a <4 x float> <-> <4 x half> conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191870 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
d1311ac171f9cb90cab4906a6c0e091b6b65b862 |
01-Oct-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARM] Introduce the 'sevl' instruction in ARMv8. This also removes the restriction on the immediate field of the 'hint' instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191744 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
adb412daa41aef94a9f724dfd1ade9f579bb3a84 |
30-Sep-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
IRBuilder: Add RAII objects to reset insertion points or fast math flags. Inspired by the object from the SLPVectorizer. This found a minor bug in the debug loc restoration in the vectorizer where the location of a following instruction was attached instead of the location from the original instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191673 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
5a17a462cdba1b894cdd618798596076ed79c9ac |
30-Sep-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
IRBuilder: Move fast math flags to IRBuilderBase. They don't depend on the templated stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191672 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
685707c28e2c7117f025fb4e95e6ca64ed179bb0 |
27-Sep-2013 |
Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> |
Adding intrinsics to the llvm backend for TBM instruction set. Phabricator code review is located here: http://llvm-reviews.chandlerc.com/D1750 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191539 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
4d835f1cbe5d8c5f6cea4040bea9b180927a1c05 |
27-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Implemented insert.d intrinsic. This intrinsic is lowered into an equivalent INSERT_VECTOR_ELT which is further lowered into a sequence of insert.w's on MIPS32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191521 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
9f30d43122dce961ae1625c2c429bf74bf292324 |
27-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Implemented fill.d intrinsic. This intrinsic is lowered into an equivalent BUILD_VECTOR which is further lowered into a sequence of insert.w's on MIPS32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191519 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
e8eafdb67685d4f5d52ab0dce2339c37e39cdc44 |
27-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Implemented copy_[us].d intrinsic. This intrinsic is lowered into equivalent copy_s.w instructions during legalization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191518 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
7e0df9aa2966d0462e34511524a4958e226b74ee |
24-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added support for matching vshf from normal IR (i.e. not intrinsics) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191301 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
38a10ff063971c2f7f7384cceba3253bca32e27a |
24-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added support for matching bsel and bseli from normal IR (i.e. not intrinsics) This required correcting the definition of the bsel and bseli intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191290 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
477fc628b3c9ce1c970d4a678dd5607b15242cc8 |
24-Sep-2013 |
Jiangning Liu <jiangning.liu@arm.com> |
Initial support for Neon scalar instructions. Patch by Ana Pazos. 1.Added support for v1ix and v1fx types. 2.Added Scalar Pairwise Reduce instructions. 3.Added initial implementation of Scalar Arithmetic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191263 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
ntrinsicsAArch64.td
|
118a0659ab8a4d0e0af343b88e5fa71a5c1eb6a6 |
24-Sep-2013 |
Reid Kleckner <reid@kleckner.net> |
Explicitly request unsigned enum types when desired The underlying type of all plain enums in MSVC is 'int', even if the enumerator contains large 32-bit unsigned values or values greater than UINT_MAX. The only way to get a large or unsigned enum type is to request it explicitly with the C++11 strong enum types feature. However, since LLVM isn't C++11 yet, I had to add a conditional LLVM_ENUM_INT_TYPE to Compiler.h to control its usage. The motivating true positive for this change is compiling PointerIntPair with MSVC for win64. The PointerIntMask value is supposed to be pointer sized value of all ones with some low zeros. Instead, it's truncated to 32-bits! We are only saved later because it is sign extended back in the AND with int64_t, and we happen to want all ones. This silences lots of -Wmicrosoft warnings during a clang self-host targeting Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191241 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
nlineAsm.h
|
9a1aaeb012e593fba977015c5d8b6b1aa41a908c |
23-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added support for matching insert and copy from normal IR (i.e. not intrinsics) Changes to MIPS SelectionDAG: * Added nodes VEXTRACT_[SZ]EXT_ELT to represent extract and extend in a single operation and implemented the DAG combines necessary to fold sign/zero extends into the extract. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191199 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
5df37dab763ce377095389c4ea1cff88db369954 |
19-Sep-2013 |
Amara Emerson <amara.emerson@arm.com> |
[ARMv8] Add support for the v8 cryptography extensions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190996 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
a4d46d7fc6431ec3576839f11cb61862b784cb3e |
18-Sep-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add CRC instructions. Patch by Bradley Smith! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190928 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
215585920ff264a46cd41a7c5b4aeb8ce17daa90 |
17-Sep-2013 |
Ben Langmuir <ben.langmuir@intel.com> |
Add llvm.x86.* intrinsics for Intel SHA Extensions Add llvm.x86.* intrinsics for all of the Intel SHA Extensions instructions, as well as tests. Also remove mayLoad and hasSideEffects, which can be inferred from the instruction patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190864 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
2898b3c28d13f109b4c741e637eec28e63e79d49 |
17-Sep-2013 |
Craig Topper <craig.topper@gmail.com> |
Make a more clear AVX-512 section header that matches similar in the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190843 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
4b28ee208895d2a9c98b9e63d0c39985500e9291 |
17-Sep-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
MemCpyOptimizer: Use max legal int size instead of pointer size If there are no legal integers, assume 1 byte. This makes more sense than using the pointer size as a guess for the maximum GPR width. It is conceivable to want to use some 64-bit pointers on a target where 64-bit integers aren't legal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190817 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
1e3037f0be430ef2339838bbdede11f45658bd82 |
16-Sep-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Implement function prefix data as an IR feature. Previous discussion: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html Differential Revision: http://llvm-reviews.chandlerc.com/D1191 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190773 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
b95237f10cf718c63b153e362b3b5b548ce50698 |
12-Sep-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix comment to match what the assert actually enforces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190566 91177308-0d34-0410-b5e6-96231b3b80d8
perator.h
|
8857294192bdc1992d60a14a6ff6c519ddee63e3 |
11-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Corrected the definition of the dotp_[su].[hwd] intrinsics The elements of the operands should be half the width of the elements of the result. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190505 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
436f64567ceb0b45e6b5b680fa09485002094830 |
10-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Removed unsupported dot product instructions (dotp_[su].b) The dotp_[su].b instructions never existed in any revision of the MSA spec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190398 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
db3a9e64f856e3a233a427da1f3969fd3a65a438 |
09-Sep-2013 |
Bob Wilson <bob.wilson@apple.com> |
Revert patches to add case-range support for PR1255. The work on this project was left in an unfinished and inconsistent state. Hopefully someone will eventually get a chance to implement this feature, but in the meantime, it is better to put things back the way the were. I have left support in the bitcode reader to handle the case-range bitcode format, so that we do not lose bitcode compatibility with the llvm 3.3 release. This reverts the following commits: 155464, 156374, 156377, 156613, 156704, 156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575, 157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884, 157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100, 159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659, 159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190328 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
0b3d39235aaed8bc66ccffb3942bf7b5f185329c |
07-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
TBAA: add isTBAAVtableAccess to MDNode so clients can call the function instead of having its own implementation. The implementation of isTBAAVtableAccess is in TypeBasedAliasAnalysis.cpp since it is related to the format of TBAA metadata. The path for struct-path tbaa will be exercised by test/Instrumentation/ThreadSanitizer/read_from_global.ll, vptr_read.ll, and vptr_update.ll when struct-path tbaa is on by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190216 91177308-0d34-0410-b5e6-96231b3b80d8
etadata.h
|
4598bd53ab89c3d120ad8249abbfdc7e2d64d291 |
06-Sep-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Use type helper functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190113 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
4897151df698197f0eb5c4085545312dbb20c94d |
05-Sep-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Implement the new DMB/DSB operands. This removes the custom ISD Node: MEMBARRIER and replaces it with an intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190055 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
9718158222ad9c52b2fb14609a341d4e24def8bb |
04-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "Add r159136 back now that pr13124 has been fixed." This reverts commit r189886. I found a corner case where this optimization is not valid: Say we have a "linkonce_odr unnamed_addr" in two translation units: * In TU 1 this optimization kicks in and makes it hidden. * In TU 2 it gets const merged with a constant that is *not* unnamed_addr, resulting in a non unnamed_addr constant with default visibility. * The static linker rules for combining visibility them produce a hidden symbol, which is incorrect from the point of view of the non unnamed_addr constant. The one place we can do this is when we know that the symbol is not used from another TU in the same shared object, i.e., during LTO. I will move it there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189954 91177308-0d34-0410-b5e6-96231b3b80d8
lobalValue.h
|
19fdc268c316b3b0bdcb2b558449819f4f402d6a |
04-Sep-2013 |
Hao Liu <Hao.Liu@arm.com> |
Inplement aarch64 neon instructions in AdvSIMD(shift). About 24 shift instructions: sshr,ushr,ssra,usra,srshr,urshr,srsra,ursra,sri,shl,sli,sqshlu,sqshl,uqshl,shrn,sqrshrun,sqshrn,uqshr,sqrshrn,uqrshrn,sshll,ushll and 4 convert instructions: scvtf,ucvtf,fcvtzs,fcvtzu git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189925 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsAArch64.td
|
79869ee59abc3aeebda6e15540273a7e5936adb4 |
04-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add r159136 back now that pr13124 has been fixed. Original message: If a constant or a function has linkonce_odr linkage and unnamed_addr, mark hidden. Being linkonce_odr guarantees that it is available in every dso that needs it. Being a constant/function with unnamed_addr guarantees that the copies don't have to be merged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189886 91177308-0d34-0410-b5e6-96231b3b80d8
lobalValue.h
|
fdb6a38913cc54e9523b1ee1aab2cc3be27ea4f7 |
03-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added IntrNoMem and removed Commutative from sub intrinsics. This changes the SelectionDAG nodes from ISD::INTRINSIC_W_CHAIN to ISD::INTRINSIC_WO_CHAIN which enables easy lowering to equivalent SelectionDAG nodes (e.g. __builtin_msa_sub_w -> ISD::SUB) in future patches since nodes such as ISD::SUB do not have a chain. It also corrects an obvious mistake, namely that the subtract intrinsics were marked as being commutative. As per a similar change in r189106 (http://llvm.org/viewvc/llvm-project?rev=189106&view=rev) there isn’t a new testcase in this patch since the existing tests should test the intrinsics to the same standard and the best I can do for a testcase would be a fragile pass/maybe test of whether memory operations can (and do) cross the intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189784 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
8092b710016873ebf569f66e598911fa94b4ea85 |
03-Sep-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added IntrNoMem to the floating-point intrinsics. This changes the SelectionDAG nodes from ISD::INTRINSIC_W_CHAIN to ISD::INTRINSIC_WO_CHAIN which enables easy lowering to equivalent SelectionDAG nodes (e.g. __builtin_msa_fadd_w -> ISD::FADD) in future patches since nodes such as ISD::FADD do not have a chain. As per a similar change in r189106 (http://llvm.org/viewvc/llvm-project?rev=189106&view=rev) there isn’t a new testcase in this patch since the existing tests should test the intrinsics to the same standard and the best I can do for a testcase would be a fragile pass/maybe test of whether memory operations can (and do) cross the intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189782 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
d3128a4a5a8531a256a224422d7da178d18459eb |
28-Aug-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: remove unused v(add|sub)hn and vqdml[as]l intrinsics. Clang is now generating cleaner IR, so this removes the old variants which should be completely unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189481 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
3c380d5e28f86984b147fcd424736c498773f37e |
28-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added bnz.df, bnz.v, bz.df, and bz.v These intrinsics are legalized to V(ALL|ANY)_(NON)?ZERO nodes, are matched as SN?Z_[BHWDV]_PSEUDO pseudo's, and emitted as a branch/mov sequence to evaluate to 0 or 1. Note: The resulting code is sub-optimal since it doesnt seem to be possible to feed the result of an intrinsic directly into a brcond. At the moment it uses (SETCC (VALL_ZERO $ws), 0, SETEQ) and similar which unnecessarily evaluates the boolean twice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189478 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
2fd3e67dc6438cee5e32e0d7d7d42891df7edd96 |
28-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added load/store intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189476 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
abbcf3bd47ad8ffa70f48ebd924f99fff5c22131 |
28-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added move.v git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189471 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
a6c3a4ee76ef8464d3c83472e15af521ade7eeb4 |
28-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added cfcmsa, and ctcmsa The MSA control registers have been added as reserved registers, and are only used via ISD::Copy(To|From)Reg. The intrinsics are lowered into these nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189468 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
f00539cc5a5e66ce6b7ce3779b00fd381e2d2dee |
28-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added f[cs]af, f[cs]or, f[cs]ueq, f[cs]ul[et], f[cs]une, fsun, ftrunc_[su], hadd_[su], hsub_[su], sr[al]r, sr[al]ri git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189467 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
e307a9c58ce91dfde160c9a4acf28bfcdedfb498 |
23-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Few MSA Builtins have side-effects. Added IntrNoMem to those that don't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189106 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
5768bb8d77892926dff0d078b1fb08c14ea791f3 |
23-Aug-2013 |
Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> |
Add function attribute 'optnone'. This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
f73826bef09fcc38d2db7b69baf0b8a45c9788f8 |
22-Aug-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Add a new helper method to Value to strip in-bounds constant offsets of pointers, but accumulate the offset into an APInt in the process of stripping it. This is a pretty handy thing to have, such as when trying to determine if two pointers are at some constant relative offset. I'll be committing a patch shortly to use it for exactly that purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189000 91177308-0d34-0410-b5e6-96231b3b80d8
alue.h
|
f6db9425648e9d9b965dc0aae9f63afbb3e7a5b8 |
22-Aug-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Clean up the doxygen formatting of the comments on the strip* methods on Value. These methods probably don't belong here, and I'm discussing moving the lot of them to a better home, but for now I'm about to extend their functionality and wanted to tidy them up first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188997 91177308-0d34-0410-b5e6-96231b3b80d8
alue.h
|
c5158b869bbde7b08c486c6f326bd1c701367c98 |
20-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Removed fcge, fcgt, fsge, fsgt These instructions were present in a draft spec but were removed before publication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188782 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
6ef333501eb917cbd79a51c84294051a1a257a0b |
20-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added insve git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188777 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
c149fbbe279ef623e6067304fd08dc1a62d74f7d |
20-Aug-2013 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][msa] Added and.v, bmnz.v, bmz.v, bsel.v, nor.v, or.v, xor.v git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188767 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
66d1fa6f4b443ac9f8bcea5d1f71a73ada733a42 |
20-Aug-2013 |
Hal Finkel <hfinkel@anl.gov> |
Add a llvm.copysign intrinsic This adds a llvm.copysign intrinsic; We already have Libfunc recognition for copysign (which is turned into the FCOPYSIGN SDAG node). In order to autovectorize calls to copysign in the loop vectorizer, we need a corresponding intrinsic as well. In addition to the expected changes to the language reference, the loop vectorizer, BasicTTI, and the SDAG builder (the intrinsic is transformed into an FCOPYSIGN node, just like the function call), this also adds FCOPYSIGN to a few lists in LegalizeVector{Ops,Types} so that vector copysigns can be expanded. In TargetLoweringBase::initActions, I've made the default action for FCOPYSIGN be Expand for vector types. This seems correct for all in-tree targets, and I think is the right thing to do because, previously, there was no way to generate vector-values FCOPYSIGN nodes (and most targets don't specify an action for vector-typed FCOPYSIGN). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188728 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
abd37961d55680e5e946b9e336ce14b4ac56f830 |
20-Aug-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Introduce non-const overloads for GlobalAlias::{get,resolve}AliasedGlobal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188725 91177308-0d34-0410-b5e6-96231b3b80d8
lobalAlias.h
|
c892bd6a74ba92b5631c89cfac8961a8005b644a |
19-Aug-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512: compiler intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188654 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
68af19cbb1faec31dad274601d8937c2da9794c2 |
17-Aug-2013 |
Juergen Ributzka <juergen@apple.com> |
The vbroadcastsi256 intrinsic does not exactly resemble the GCC builtin. The GCC builtin expects the arguments to be passed by val, whereas the LLVM intrinsic expects a pointer instead. This is related to PR 16581 and rdar:14747994. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188608 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
bd71eea899d579deb1fcee02944f955a4708091a |
15-Aug-2013 |
Jack Carter <jack.carter@imgtec.com> |
[Mips][msa] Added the simple builtins (madd_q to xori) Includes: madd_q, maddr_q, maddv, max_[asu], maxi_[su], min_[asu], mini_[su], mod_[su], msub_q, msubr_q, msubv, mul_q, mulr_q, mulv, nloc, nlzc, nori, ori, pckev, pckod, pcnt, sat_[su], shf, sld, sldi, sll, slli, splat, splati, sr[al], sr[al]i, subs_[su], subss_u, subus_s, subv, subvi, vshf, xori Patch by Daniel Sanders git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188460 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
d0f99639c16ddad697db30e75643ae4cc52c3e80 |
15-Aug-2013 |
Jack Carter <jack.carter@imgtec.com> |
[Mips][msa] Added the simple builtins (fadd to ftq) Includes: fadd, fceq, fcg[et], fclass, fcl[et], fcne, fcun, fdiv, fexdo, fexp2, fexup[lr], ffint_[su], ffql, ffqr, fill, flog2, fmadd, fmax, fmax_a, fmin, fmin_a, fmsub, fmul, frint, frcp, frsqrt, fseq, fsge, fsgt, fsle, fslt, fsne, fsqr, fsub, ftint_s, ftq Patch by Daniel Sanders git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188458 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
ntrinsicsMips.td
|
e2a9376b1bd2204ea6f56a35b762e28e0ef4e35a |
15-Aug-2013 |
Jack Carter <jack.carter@imgtec.com> |
[Mips][msa] Added the simple builtins (add_a to dpsub[su], ilvev to ldi) Includes: add_a, adds_[asu], addv, addvi, andi.b, asub_[su].[bhwd], aver?_[su]_[bhwd], bclr, bclri, bins[lr], bins[lr]i, bmnzi, bmzi, bneg, bnegi, bseli, bset, bseti, c(eq|ne), c(eq|ne)i, cl[et]_[su], cl[et]i_[su], copy_[su].[bhw], div_[su], dotp_[su], dpadd_[su], dpsub_[su], ilvev, ilvl, ilvod, ilvr, insv, insve, ldi Patch by Daniel Sanders git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188457 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
2a64a639e5f2870a2a898a593fc37a800f977d5e |
12-Aug-2013 |
Michael Gottesman <mgottesman@apple.com> |
[stackprotector] Added intrinsic llvm.stackprotectorcheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188191 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
41418d17cced656f91038b2482bc9d173b4974b0 |
08-Aug-2013 |
Hal Finkel <hfinkel@anl.gov> |
Add ISD::FROUND for libm round() All libm floating-point rounding functions, except for round(), had their own ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm adding ISD::FROUND so that round() can be custom lowered as well. For the most part, this is straightforward. I've added an intrinsic and a matching ISD node just like those for nearbyint() and friends. The SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed fround). This will be used by the PowerPC backend in a follow-up commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187926 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
13e6e9171f79a481d7f814aad958460dfd867c71 |
05-Aug-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
AVX-512 set: added mask operations, lowering BUILD_VECTOR for i1 vector types. Added intrinsics and tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187717 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
4da77f8d5f1fe4977b037afc110bc9b23bb2c350 |
01-Aug-2013 |
Robert Lytton <robert@xmos.com> |
remove executable permission from IntrinsicsXCore.td git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187584 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsXCore.td
|
87773c318fcee853fb34a80a10c4347d523bdafb |
01-Aug-2013 |
Tim Northover <tnorthover@apple.com> |
AArch64: add initial NEON support Patch by Ana Pazos. - Completed implementation of instruction formats: AdvSIMD three same AdvSIMD modified immediate AdvSIMD scalar pairwise - Completed implementation of instruction classes (some of the instructions in these classes belong to yet unfinished instruction formats): Vector Arithmetic Vector Immediate Vector Pairwise Arithmetic - Initial implementation of instruction formats: AdvSIMD scalar two-reg misc AdvSIMD scalar three same - Intial implementation of instruction class: Scalar Arithmetic - Initial clang changes to support arm v8 intrinsics. Note: no clang changes for scalar intrinsics function name mangling yet. - Comprehensive test cases for added instructions To verify auto codegen, encoding, decoding, diagnosis, intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187567 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
ntrinsicsAArch64.td
|
691aa094dafe54151b6f70168f066bd87c161e8d |
01-Aug-2013 |
Robert Lytton <robert@xmos.com> |
XCore target: add GCCBuiltin to four intrinsics The following are made available by clang in the XCore ABI __builtin_bitrev __builtin_getid __builtin_getps __builtin_setps git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187566 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsXCore.td
|
485c7fd76b32a69c46782a715682ed8831b0873b |
31-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Revert "Remove isCastable since nothing uses it now" Apparently dragonegg uses it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187454 91177308-0d34-0410-b5e6-96231b3b80d8
nstrTypes.h
|
0de6832c16ce48f6546c74f6b17e27d149eebfb2 |
30-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Remove isCastable since nothing uses it now git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187448 91177308-0d34-0410-b5e6-96231b3b80d8
nstrTypes.h
|
f34dc428fa577d6d5d71ab3a1f9765b4e5da5a4f |
30-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Change behavior of calling bitcasted alias functions. It will now only convert the arguments / return value and call the underlying function if the types are able to be bitcasted. This avoids using fp<->int conversions that would occur before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187444 91177308-0d34-0410-b5e6-96231b3b80d8
nstrTypes.h
|
58376d8ede436eb1fe474bca1582a4f7afe613f9 |
26-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Re-add DataLayout pointer size convenience functions. These were reverted in r167222 along with the rest of the last different address space pointer size attempt. These will be used in later commits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187223 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
6fccaafd8be0eb7619b5a210387b0d1254ef4174 |
25-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the mblaze backend from llvm. Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187145 91177308-0d34-0410-b5e6-96231b3b80d8
allingConv.h
|
9e2ef7780b91d8e01a9ab172f80272fc94f6956b |
25-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a way to add a kind-value string pair to an attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187138 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
unction.h
|
2d680824e3a5272e386aa6c1d2a66676de7899fd |
25-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make these methods const correct. Thanks to Nick Lewycky for noticing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187098 91177308-0d34-0410-b5e6-96231b3b80d8
odule.h
|
9b344d920f6b3496885094bd2f364453cb8d968f |
25-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Add helpful accessor methods to get the specified function attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187088 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
e08a57824c78c98601860df12d4184acbf1c9de2 |
22-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix missing const git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186857 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
6fec715a1a662ce3b560f85c710875cfeeb1fb98 |
19-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Implement the NEON instructions VRINT{N, X, A, Z, M, P}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186688 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
59b3300664d062bf04159eacaeb44d6c729e6a8c |
18-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add NEON instructions VCVT{A, N, P, M}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186574 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
7a8503c4114d5f56b7ba4a7b07c6dd07a06c1c23 |
18-Jul-2013 |
Adrian Prantl <aprantl@apple.com> |
Get rid of the Dis/EnableDebugLocations() API. I'm moving this functionality into clang instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186549 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
19c14abf1c4ccebfa7d07bdd6ea8462a15c0b749 |
17-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add support for the NEON instructions vmaxnm/vminnm. This adds a new class for non-predicable NEON instructions and a new DecoderNamespace for v8 NEON instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186504 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
c8cfaa1625a72aa3660a268dae753748cfed67d0 |
17-Jul-2013 |
Manman Ren <mren@apple.com> |
Add getModuleFlag(StringRef Key) to query a module flag given Key. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186470 91177308-0d34-0410-b5e6-96231b3b80d8
odule.h
|
2f438131f115a3860ee344a827a091790d6dc13d |
16-Jul-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: implement ldrex, strex and clrex intrinsics Intrinsics already existed for the 64-bit variants, so these support operations of size at most 32-bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186392 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsARM.td
|
36dbbf06fb6d77698a723acfeb670af6b8ac77e8 |
13-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Remove unneeded forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186244 91177308-0d34-0410-b5e6-96231b3b80d8
etadata.h
|
7ffc422659e29061511b9ae5f6fdda2458a76b50 |
12-Jul-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Mark MDNode::getOperand as readonly. We can't inline it but we can still CSE calls to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186156 91177308-0d34-0410-b5e6-96231b3b80d8
etadata.h
|
ac226bbf457f6b5e5210a4a82b1ce678298b2d89 |
12-Jul-2013 |
Charles Davis <cdavis5x@gmail.com> |
Target/X86: Add explicit Win64 and System V/x86-64 calling conventions. Summary: This patch adds explicit calling convention types for the Win64 and System V/x86-64 ABIs. This allows code to override the default, and use the Win64 convention on a target that wants to use SysV (and vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU attributes. Reviewers: CC: git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186144 91177308-0d34-0410-b5e6-96231b3b80d8
allingConv.h
|
bcd5a0f7efa75eb48c88e0e94168ed7c77b6575d |
09-Jul-2013 |
Nadav Rotem <nrotem@apple.com> |
IRBuilder: add an assertion that checks if we try to get a debug loc from ->end(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185952 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
7b934079c044311c56ebf3809c8c0047d88f825a |
09-Jul-2013 |
Nadav Rotem <nrotem@apple.com> |
Fix a bug in IRBuilder::ClearInsertionPoint. The IR Builder needs to reset both the BB and the insert point inside the BB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185883 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
6bd46a40e8258b4321a2c6f35a8c61b3fa22116c |
07-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing per-argument doesNotAccessMemory accessors. No functionality change since it has no callers today. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185775 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
dc89737bcdbb8f69d8ae7578bdfa904cabcfc5ed |
06-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Extend 'readonly' and 'readnone' to work on function arguments as well as functions. Make the function attributes pass add it to known library functions and when it can deduce it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
rgument.h
unction.h
ntrinsics.td
|
2d6e3bd8814db99c70aba5c2163825b92f9ed4b8 |
29-Jun-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix extra whitespace / formatting git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185238 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
1c07dae9fcd04469779edf7b86fef37fecc9466c |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Remove i8 register class. PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185174 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsNVVM.td
|
2253a2f52f3c46ae75cd05f5885acb987bd1d6b6 |
27-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Added support for the Builtin attribute. The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin, rdar://problem/13727199 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185049 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
nstructions.h
|
e0026d00f90027a9f2b8ad6b6a2b48e36f808dbe |
21-Jun-2013 |
Kostya Serebryany <kcc@google.com> |
add Function::removeFnAttr() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184536 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
389ee19eabbfef205472ae1eb7131f8a2e32fde5 |
18-Jun-2013 |
Chris Lattner <sabre@nondot.org> |
remove some @deprecated markers: LLVM APIs aren't deprecated, they are removed when obsolete. These APIs are still used, and the constant APIs are actually really important. Removing these makes -Wdocumentation more useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184170 91177308-0d34-0410-b5e6-96231b3b80d8
onstants.h
nstructions.h
|
8a0d41e1a649c32e1f0e22c6c201a2e0d8463e30 |
14-Jun-2013 |
Derek Schuff <dschuff@google.com> |
Make PrologEpilogInserter save/restore all callee saved registers in functions which call __builtin_unwind_init() __builtin_unwind_init() is an undocumented gcc intrinsic which has this effect, and is used in libgcc_eh. Goes part of the way toward fixing PR8541. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183984 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.td
|
b7eb5c04065d7e13642e203b0f59fd079d85118c |
14-Jun-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
#include <climits> instead of <limits.h> in C++ header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183957 91177308-0d34-0410-b5e6-96231b3b80d8
ypeBuilder.h
|
7c2b4be2a718b994298803dd09e81e49a016ffb2 |
01-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move getRealLinkageName to a common place and remove all the duplicates of it. Also simplify code a bit while there. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183076 91177308-0d34-0410-b5e6-96231b3b80d8
lobalValue.h
|
04b0bcf7b1410fcd125434938555ee41af03dc28 |
31-May-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix wrong comment. Null is not acceptable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182979 91177308-0d34-0410-b5e6-96231b3b80d8
nstrTypes.h
|
4e505a47c76967ded5ec91acc25e7d0f9ac997c1 |
25-May-2013 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182689 91177308-0d34-0410-b5e6-96231b3b80d8
LVMContext.h
|
77226a03dca98e6237c1068f2652fe41bea7b687 |
24-May-2013 |
Diego Novillo <dnovillo@google.com> |
Add a new function attribute 'cold' to functions. Other than recognizing the attribute, the patch does little else. It changes the branch probability analyzer so that edges into blocks postdominated by a cold function are given low weight. Added analysis and code generation tests. Added documentation for the new attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182638 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
f8c243abba01d9d4fe53f7ab962139593f184400 |
24-May-2013 |
Daniel Malea <daniel.malea@intel.com> |
Re-implement DebugIR in a way that does not subclass AssemblyWriter: - move AsmWriter.h from public headers into lib - marked all AssemblyWriter functions as non-virtual; no need to override them - DebugIR now "plugs into" AssemblyWriter with an AssemblyAnnotationWriter helper - exposed flags to control hiding of a) debug metadata b) debug intrinsic calls C/R: Paul Redmond git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182617 91177308-0d34-0410-b5e6-96231b3b80d8
smWriter.h
|
b9c26dcb2438266567ce94570bf294d00d10cc87 |
21-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add @llvm.nvvm.sqrt.f() intrinsic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182394 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsNVVM.td
|
e932e891e55d90398f07957b7333b4ce66ae3829 |
20-May-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Enable pod-like optimizations for pred and succ iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182257 91177308-0d34-0410-b5e6-96231b3b80d8
se.h
|
2aa6db98df22ea328fbf49018cd0473e56a9ec4b |
16-May-2013 |
Eli Bendersky <eliben@google.com> |
Remove dead code. This method is not being used/tested anywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181943 91177308-0d34-0410-b5e6-96231b3b80d8
odule.h
|
b1fd3cd78f8acd21dbf514b75fef991827c343b6 |
15-May-2013 |
Hal Finkel <hfinkel@anl.gov> |
Implement PPC counter loops as a late IR-level pass The old PPCCTRLoops pass, like the Hexagon pass version from which it was derived, could only handle some simple loops in canonical form. We cannot directly adapt the new Hexagon hardware loops pass, however, because the Hexagon pass contains a fundamental assumption that non-constant-trip-count loops will contain a guard, and this is not always true (the result being that incorrect negative counts can be generated). With this commit, we replace the pass with a late IR-level pass which makes use of SE to calculate the backedge-taken counts and safely generate the loop-count expressions (including any necessary max() parts). This IR level pass inserts custom intrinsics that are lowered into the desired decrement-and-branch instructions. The most fragile part of this new implementation is that interfering uses of the counter register must be detected on the IR level (and, on PPC, this also includes any indirect branches in addition to function calls). Also, to make all of this work, we need a variant of the mtctr instruction that is marked as having side effects. Without this, machine-code level CSE, DCE, etc. illegally transform the resulting code. Hopefully, this can be improved in the future. This new pass is smaller than the original (and much smaller than the new Hexagon hardware loops pass), and can handle many additional cases correctly. In addition, the preheader-creation code has been copied from LoopSimplify, and after we decide on where it belongs, this code will be refactored so that it can be explicitly shared (making this implementation even smaller). The new test-case files ctrloop-{le,lt,ne}.ll have been adapted from tests for the new Hexagon pass. There are a few classes of loops that this pass does not transform (noted by FIXMEs in the files), but these deficiencies can be addressed within the SE infrastructure (thus helping many other passes as well). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181927 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsPowerPC.td
|
d0fef32e5f3700c7de6dfc50a1a3815659b7d19e |
08-May-2013 |
Daniel Malea <daniel.malea@intel.com> |
Pull up AssemblyWriter interface into header to allow subclassing - made all functions virtual so that subclasses can specialize them - add printInstructionLine so that subclasses can choose whether or not to print the newline character (without having to implement printBasicBlock() - added a second constructor to AssemblyWriter that does not require a SlotTracker, as required in order to keep the SlotTracker helper class outside AsmWriter.h and buried in the implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181466 91177308-0d34-0410-b5e6-96231b3b80d8
smWriter.h
|
eaf14786ca3975266ed7041ac242122c02baf1cf |
06-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix const merging when an alias of a const is llvm.used. We used to disable constant merging not only if a constant is llvm.used, but also if an alias of a constant is llvm.used. This change fixes that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181175 91177308-0d34-0410-b5e6-96231b3b80d8
alue.h
|
5c332dbd30d9398ed25b30c3080506f7b8e92290 |
05-May-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Add ArrayRef constructor from None, and do the cleanups that this constructor enables Patch by Robert Wilhelm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181138 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.h
|
ceb7fb8935b384585d3505aae4e99cad0f95778c |
03-May-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Remove "Commutative" from property list of non-commutative intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180988 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsMips.td
|
f9bccc2f1a78ad1ffecc1e95c47a30e6adb3ef5c |
02-May-2013 |
Adrian Prantl <aprantl@apple.com> |
Provide an API to temporarily suppress DebugLocations from being attached to emitted instructions. Use this if you want an instruction to be counted towards the prologue or if there is no useful source location. rdar://problem/13442648 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180929 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
40be1e85665d10f5444186f0e7106e368dd735b8 |
01-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
This patch breaks up Wrap.h so that it does not have to include all of the things, and renames it to CBindingWrapping.h. I also moved CBindingWrapping.h into Support/. This new file just contains the macros for defining different wrap/unwrap methods. The calls to those macros, as well as any custom wrap/unwrap definitions (like for array of Values for example), are put into corresponding C++ headers. Doing this required some #include surgery, since some .cpp files relied on the fact that including Wrap.h implicitly caused the inclusion of a bunch of other things. This also now means that the C++ headers will include their corresponding C API headers; for example Value.h must include llvm-c/Core.h. I think this is harmless, since the C API headers contain just external function declarations and some C types, so I don't believe there should be any nasty dependency issues here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180881 91177308-0d34-0410-b5e6-96231b3b80d8
asicBlock.h
RBuilder.h
LVMContext.h
odule.h
ype.h
se.h
alue.h
|
e42240517b9759fcc77220edc30fcb868e2b72c8 |
01-May-2013 |
Peng Cheng <gm4cheng@gmail.com> |
get rid of windows warning: warning C4946: reinterpret_cast used between related classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180852 91177308-0d34-0410-b5e6-96231b3b80d8
lobalValue.h
|
dc42e3d831eee01f1552d9ccae4d088a4d154934 |
01-May-2013 |
Peng Cheng <gm4cheng@gmail.com> |
get rid of windows warning: warning C4800: forcing value to bool 'true' or 'false' (performance warning) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180851 91177308-0d34-0410-b5e6-96231b3b80d8
erivedTypes.h
|
ae2a1dacb7fed0d037db2116f5790be3b69b73fb |
01-May-2013 |
Peng Cheng <gm4cheng@gmail.com> |
replace reinterpret_cast by cast or remove reinterpret_cast to get rid of windows warning: warning C4946: reinterpret_cast used between related classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180850 91177308-0d34-0410-b5e6-96231b3b80d8
onstants.h
|
aae0298921d946a64385052ce6e678d36f936fb3 |
01-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Now that the underlying issue is fixed, revert r180750 and r180722. The cause of the windows failures was fixed by r180791. Revert to the state after Sabre's original revert. Original message: revert r179735, it has no testcases, and doesn't really make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180844 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8c3a54998bcbdd10e1997519ba1c17b7f0850709 |
01-May-2013 |
Duncan Sands <baldrick@free.fr> |
Correct comment: there is no numTys parameter any more now that this is using ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180840 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.h
|
76f103e02164d27b41bd92a9767c7012482ba31a |
30-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change getSlotIndex to return unsigned. The actual storage was already using unsigned, but the interface was using uint64_t. This is wasteful on 32 bits and looks to be the root causes of a miscompilation on Windows where a value was being sign extended to 64bits to compare with the result of getSlotIndex. Patch by Pasi Parviainen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180791 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
f2e83499fcc41484cb5dac073c4fe87525926d2b |
29-Apr-2013 |
Reid Kleckner <reid@kleckner.net> |
Revert "revert r179735, it has no testcases, and doesn't really make sense." This un-reverts r179735 and reverts commit r180574. This fixes assertion failures for me locally and should fix the failures on Windows reported widely on llvm-dev. We should check if the bots caught this and if so why not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180722 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
a5b314c27a585b979ac9c9da944aa3cec27d22a6 |
27-Apr-2013 |
Manman Ren <mren@apple.com> |
Struct-path aware TBAA: change the format of TBAAStructType node. We switch the order of offset and field type to make TBAAStructType node (name, parent node, offset) similar to scalar TBAA node (name, parent node). TypeIsImmutable is added to TBAAStructTag node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180654 91177308-0d34-0410-b5e6-96231b3b80d8
DBuilder.h
|
29fce9ad39636d38f43add5d7c23e83d9d1cc249 |
25-Apr-2013 |
Chris Lattner <sabre@nondot.org> |
revert r179735, it has no testcases, and doesn't really make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180574 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
456ca048af35163b9f52187e92a23ee0a9f059e8 |
20-Apr-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179925 91177308-0d34-0410-b5e6-96231b3b80d8
rgument.h
ttributes.h
|
a88a016f2d99488f2eff0eb6be256f2f43602afa |
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Make the TargetIndependent flag have the right boolean value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179798 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8a6a7bb6a601061031cddd77129532a3b467300b |
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Cleanup patch: Semantics of parameters named Index and Idx were inconsistent between "include/llvm/IR/Attributes.h", "lib/IR/AttributeImpl.h" and "lib/IR/Attributes.cpp": sometimes these were fixed 1-based indexes of IR parameters (or AttributeSet::ReturnIndex for IR return values or AttributeSet::FunctionIndex for IR functions), other times they were the internal slot for storage in the underlying AttributeSetImpl. I renamed usage of the former to "Index" and usage of the latter to "Slot" ("Slot" was already being used consistently for the latter in a subset of cases) Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179791 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
bb1b63c48397a3bac5d00f2ac9d33cc14efd714c |
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
This patch addresses two cleanup issues: 1. Verify::VerifyParameterAttrs in "lib/IR/Verifier.cpp" and AttrBuilder::removeFunctionOnlyAttrs in "lib/IR/Attributes.cpp" (only called by Verify::VerifyFunctionAttrs) separately maintained a list of function-only attribute types. I've consolidated the logic into a new function used for both cases in "lib/IR/Verifier.cpp", so this logic is in one place (other than the AsmParser front-end) 2. Various functions in "lib/IR/Verifier.cpp" passed AttributeSet around by reference needlessly, as it's just a handle to an immutable pimpl body. Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179790 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
b1ac6e617291e2a628bc460933bde97c73466cb0 |
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Add an option `-enable-old-style-attr-syntax' to print out function attributes in the "old" style. It's sometimes beneficial to emit a testcase with the old style attribute syntax. Allow someone to do this. <rdar://problem/13563209> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179735 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
6b51f75cc58b5a431cfb9e808f27f1fc4432913e |
16-Apr-2013 |
Eli Bendersky <eliben@google.com> |
Cleanup naming: DataLayout s/TD/DL/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179601 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
327f0100d1c1aa738d13b45d70eab08d0d2030fb |
12-Apr-2013 |
Manman Ren <mren@apple.com> |
TBAA: add utility to create a TBAA scalar type node git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179331 91177308-0d34-0410-b5e6-96231b3b80d8
DBuilder.h
|
6e43efe071c5bfaa5cebf4d42d93d0f117c1aa2a |
07-Apr-2013 |
Hal Finkel <hfinkel@anl.gov> |
PPC Altivec load/store intrinsics can be marked IntrRead[Write]ArgMem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178983 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsPowerPC.td
|
082bb7cf57e3a7089b8302a7d676fddf0bce276e |
02-Apr-2013 |
Manman Ren <mren@apple.com> |
Add MDBuilder utilities for path-aware TBAA. Add utilities to create struct nodes in TBAA type DAG and to create path-aware tags. The format of struct nodes in TBAA type DAG: a unique name, a list of fields with field offsets and field types. The format of path-aware tags: a base type in TBAA type DAG, an access type and an offset relative to the base type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178564 91177308-0d34-0410-b5e6-96231b3b80d8
DBuilder.h
|
c26392aa5d9c2dbca2909d6874d181455f8aeb8f |
29-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Add support of RDSEED defined in AVX2 extension git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178314 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
7fe65d691dcce550d53ec9310913aab67ab6d654 |
27-Mar-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Cleanup the simplify_type implementation. As far as simplify_type is concerned, there are 3 kinds of smart pointers: * const correct: A 'const MyPtr<int> &' produces a 'const int*'. A 'MyPtr<int> &' produces a 'int *'. * always const: Even a 'MyPtr<int> &' produces a 'const int*'. * no const: Even a 'const MyPtr<int> &' produces a 'int*'. This patch then does the following: * Removes the unused specializations. Since they are unused, it is hard to know which kind should be implemented. * Make sure we don't drop const. * Fix the default forwarding so that const correct pointer only need one specialization. * Simplifies the existing specializations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178147 91177308-0d34-0410-b5e6-96231b3b80d8
se.h
ser.h
|
f8fd883fd368316ad3738dad6c15b1b8f3850f88 |
26-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Add XTEST codegen support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178083 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsX86.td
|
1ca6468c0518b2c2dcd69c68b2099ae93f57f8f9 |
22-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert r177675. This is language-specific and shouldn't be in the API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177748 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
2be921adc41fb079ce25d36bdd6402ca70d56451 |
22-Mar-2013 |
Arnaud A. de Grandmaison <arnaud.adegm@gmail.com> |
InstCombine: Improve the result bitvect type when folding (cmp pred (load (gep GV, i)) C) to a bit test. The original code used i32, and i64 if legal. This introduced unneeded casts when they aren't legal, or when the index variable i has another type. In order of preference: try to use i's type; use the smallest fitting legal type (using an added DataLayout method); default to i32. A testcase checks that this works when the index gep operand is i16. Patch by : Ahmed Bougacha <ahmed.bougacha@gmail.com> Reviewed by : Duncan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177712 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
8233050895f781befc1d4165435d0fff605b6b70 |
22-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a query to tell if a landing pad has a catch-all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177675 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
c57f5dd8bd399667d2b93d3ca05f47feae17629c |
21-Mar-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Hoist the definition of getTypeSizeInBits to be inlinable and in the header. This method is called in the hot path for *many* passes, SROA is what caught my interest. A common pattern is that which branch of the switch should be taken is known in the callsite and so it is a very good candidate for inlining and simplification. Moving it into the header allows the optimizer to fold a lot of boring, repeatitive code in callers of this routine. I'm seeing pretty significant speedups in parts of SROA and I suspect other passes will see similar speedups if they end up working with type sizes frequently. I've not seen any significant growth of the binaries as a consequence, but let me know if you see anything suspicious here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177632 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
72f0cdea4160ec3a5f5123831a57f96d3a95456c |
18-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove default copy ctor/assignment, makes AttributeSet trivially copyable. And enables SmallVector's pod optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177281 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
9106f73246168fb30d26fb14085c0b3d81fcd350 |
13-Mar-2013 |
Reed Kotler <rkotler@mips.com> |
Add some additonal attribute helper functions. Test will be on follow up putback to clang for mips16. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176968 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
unction.h
|
8f8af529fc6239985f73a4b3cf3a0b25692824ed |
12-Mar-2013 |
Pete Cooper <peter_cooper@apple.com> |
Add a doFinalization method to the DataLayout pass. This pass is meant to be immutable, however it holds mutable state to cache StructLayouts. This method will allow the pass manager to clear the mutable state between runs. Note that unfortunately it is still necessary to have the destructor, even though it does the same thing as doFinalization. This is because most TargetMachines embed a DataLayout on which doFinalization isn't run as its never added to the pass manager. I also didn't think it was necessary to complication things with a deInit method for which doFinalization and ~DataLayout both call as there's only one field of mutable state. If we had more fields to finalize i'd have added this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176877 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
87d212095feced42295c2a5813f1ce577d01d44f |
07-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix tautological compare. Not sure why this didn't trigger any test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176652 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
4a521da51a4eea92d76a7d635b63ab9f8a57c936 |
07-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Change Index type from unsigned long to unsigned. This should fix PR14980. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176645 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
4b7e609548934542ffd92b1d63ea8597b43a565a |
07-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove trailing spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176643 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
985dac65791b9f6f631bdd51c18fe66592a67469 |
06-Mar-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. The "invariant.load" metadata indicates the memory unit being accessed is immutable. A load annotated with this metadata can be moved across any store. As I am not sure if it is legal to move such loads across barrier/fence, this change dose not allow such transformation. rdar://11311484 Thank Arnold for code review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176562 91177308-0d34-0410-b5e6-96231b3b80d8
LVMContext.h
|
328d1b65002e68ae65ffef05eed19122cbf721f5 |
02-Mar-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Modify {Call,Invoke}Inst::addAttribute to take an AttrKind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176397 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
4c8e74f0b75cb10820c45c86399fbd02e4a8832a |
01-Mar-2013 |
Michael Ilseman <milseman@apple.com> |
Cache the result of Function::getIntrinsicID() in a DenseMap attached to the LLVMContext. This reduces the time actually spent doing string to ID conversion and shows a 10% improvement in compile time for a particularly bad case that involves ARM Neon intrinsics (these have many overloads). Patch by Jean-Luc Duprat! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176365 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
ae1dbb39f7f769ac83ec2ec6a6c243c26c2aba02 |
01-Mar-2013 |
Peng Cheng <gm4cheng@gmail.com> |
test commit to use consistent comment notation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176353 91177308-0d34-0410-b5e6-96231b3b80d8
erivedTypes.h
|
72a001d1f8e537624930c437808825a23e8b46bf |
01-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Minor coding style fix git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176334 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
cd275c57afda09f7c0ee98f23d0f243d5dc3fc8b |
27-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Copy missing member in DataLayout copy ctor. Test case is missing due to it not being reachable through the current tools but out of tree code such as the sample at http://llvm.org/docs/tutorial/LangImpl4.html Patch by Peng Cheng <gm4cheng@gmail.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176213 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
8eec41fc778e99d42172a7f6de76faa43a6d8847 |
26-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
Unify clang/llvm attributes for asan/tsan/msan (LLVM part) These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
143d46476cdcf5b88b9ee18ebd799e5820a2db0e |
22-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Implement the NoBuiltin attribute. The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should not treat the callee function as a built-in function. I.e., it shouldn't try to replace that function with different code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175835 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
03544ec2a43fab162d25cf44627d1d08430bcccd |
19-Feb-2013 |
Nadav Rotem <nrotem@apple.com> |
Fix a bug in mayHaveSideEffects. Functions that do not return are now considered as instructions with side effects. rdar://13227456 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175553 91177308-0d34-0410-b5e6-96231b3b80d8
nstruction.h
|
5b0a8d9ca6602ba22d20a5ed7cbf50e5f5f2b369 |
19-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add some convenience methods for querying function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175469 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
a39058aaed4540fc37681cad728b99546595b2e8 |
19-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments. Also removes some redundant DNI comments on function declarations already using the macro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175466 91177308-0d34-0410-b5e6-96231b3b80d8
perator.h
se.h
|
fbed8555ad409ba74a032baf53ece1c873c2b9a3 |
18-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Use llvm::cast instead of reinterpret_cast. Also, GetElementPtrInst::getType() method returns SequentialType now, instead of PointerType. There wasn't any issue yet, so no testcase attached. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175452 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
3f213e7b3a6829a154d4e8ceb7d8689b389bd5dc |
18-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Futureproof AttrBuild if we ever have more than 64 attr enum values. Currently we're at 34. Bitset should compile into virtually the same code as uint64_t here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175437 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
886a7663c72cb04eaee58cb6997c394f5096a8b9 |
16-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove comma at the end of enum. Still my favourite C++11 feature. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175372 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
c835b8c30127d15599de2d614434d39a6cc3ae17 |
16-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Turn the enum attributes DenseSet in AttrBuilder into a set of bits. Avoids malloc and is a lot denser. We lose iteration over target independent attributes, but that's a strange interface anyways and didn't have any users outside of AttrBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175370 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
0e9d5d059c4aa959e9ef4dff011dbd38d45a1016 |
13-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add some accessor and query methods for retrieving Attribute objects and such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175046 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ad19d9c4228718b0ac167d0dfa013d14c3c9f135 |
13-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a default empty string to the 'value' of a string attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175016 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
7eacad03efda36e09ebd96e95d7891cadaaa9087 |
12-Feb-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Disable vector registers Vectors were being manually scalarized by the backend. Instead, let the target-independent code do all of the work. The manual scalarization was from a time before good target-independent support for scalarization in LLVM. However, this forces us to specially-handle vector loads and stores, which we can turn into PTX instructions that produce/consume multiple operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174968 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsNVVM.td
|
e3db2048ea2ce2743acce76a6bb22214a197c364 |
11-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Rename to something more sensible. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174909 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
ff5adad9f39f60dc9f1caadef03b6aa7922ed168 |
11-Feb-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Remove NoCapture from address space conversion intrinsics. NoCapture is not valid in this case, and was causing incorrect optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174896 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsicsNVVM.td
|
b29ce26ea60f7516c853318ffbfc107fde9ad897 |
11-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add support for printing out the attribute groups. This emits the attribute groups that are used by the functions. (It currently doesn't print out return type or parameter attributes within attribute groups.) Note: The functions still retrieve their attributes from the "old" bitcode format (using the deprecated 'Raw()' method). This means that string attributes within an attribute group will not show up during a disassembly. This will be addressed in a future commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174867 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ab39afa9d9b99c61842c8e3d0eb706bd16efdcf3 |
11-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
[tsan/msan] adding thread_safety and uninitialized_checks attributes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
f64c889cc94417322b0ff8ad1c61939183bf3c38 |
11-Feb-2013 |
Bob Wilson <bob.wilson@apple.com> |
Revert "Rename LLVMContext diagnostic handler types and functions." This reverts my commit 171047. Now that I've removed my misguided attempt to support backend warnings, these diagnostics are only about inline assembly. It would take quite a bit more work to generalize them properly, so I'm just reverting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174860 91177308-0d34-0410-b5e6-96231b3b80d8
LVMContext.h
|
87de71cb9f12d874e88d4f314ab245985c1b36bc |
10-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add 'empty' query methods to the builder and use them in the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174832 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
85b3fbecdfe934ac7519a8831c4bd262cba99d12 |
10-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add accessor for the LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174824 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
16274258d16342a2f91aaa3690b78ce74e4105f1 |
09-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a DenseMapInfo class for the AttributeSet. We are going to place the AttributeSet into a DenseMap during assembly writing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174812 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
58446916b71c4ff79962081ea7c4df078c388b0e |
08-Feb-2013 |
Bob Wilson <bob.wilson@apple.com> |
Revert "Add LLVMContext::emitWarning methods and use them. <rdar://problem/12867368>" This reverts r171041. This was a nice idea that didn't work out well. Clang warnings need to be associated with warning groups so that they can be selectively disabled, promoted to errors, etc. This simplistic patch didn't allow for that. Enhancing it to provide some way for the backend to specify a front-end warning type seems like overkill for the few uses of this, at least for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174748 91177308-0d34-0410-b5e6-96231b3b80d8
LVMContext.h
|
c3662eeaa4a1a4061fc6d5c81e3eed48c5d9da26 |
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174536 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
c342d9d345acdbd95577c7c6e9ce7d3a1bdb57bf |
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a 'StringRef' version of hasAttribute. Fix the 'operator==' and 'hasAttributes' queries to take into account target-dependent attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174481 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
85df6b43403d3ebf5d80023a85699c6fb254941a |
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add methods to merge an AttrBuilder into another builder. This is useful when parsing an object that references multiple attribute groups. N.B. If both builders have alignments specified, then they should match! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174480 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
64754f499058b5dc748ea6d06a084af0ed539ec4 |
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add the target-dependent (string) attributes from the AttrBuilder to the AttributeSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174467 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8c74ecfbddabe89e150abff4fdff0a27108874b9 |
05-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert to storing the attribute's internals as enums, integers, and strings. The stuff we're handing are all enums (Attribute::AttrKind), integers and strings. Don't convert them to Constants, which is an unnecessary step here. The rest of the changes are mostly mechanical. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174456 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ea59f896a672c2e1ef9f02277bce60257aa60989 |
05-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add target-dependent versions of addAttribute/removeAttribute to AttrBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174356 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ca531fd4869a17b7a6b16008b9b85741aa6b61e8 |
05-Feb-2013 |
Michael Gottesman <mgottesman@apple.com> |
Changed in comment cxx -> C++. Thanks Richard Smith!. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174355 91177308-0d34-0410-b5e6-96231b3b80d8
lobalVariable.h
|
e1b6b5290373073c95f6865ceaf76fa7848ecf44 |
05-Feb-2013 |
Michael Gottesman <mgottesman@apple.com> |
Add code to GlobalVariable.h so that global variables marked as externally_initialized return false for hasDefiniteInitializer and hasUniqueInitializer. rdar://12580965. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174345 91177308-0d34-0410-b5e6-96231b3b80d8
lobalVariable.h
|
f9271ea159b97e2febedcf095c3c4122cb24d077 |
05-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Initial cleanups of the param-attribute code in the bitcode reader/writer. Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced by another encoding. Keep around the current LLVM attribute encoder/decoder code, but move it to the bitcode directories so that no one's tempted to use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174335 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
af2f494c2d87a77c46efb85856f235ddd7f3c6ab |
03-Feb-2013 |
Michael Gottesman <mgottesman@apple.com> |
Added instance variable/initializers/getter/setters for new keyword externally initialized to GlobalVariable. No *TRUE* functionality change. I am going to add in the actual test cases with the actual functionality changes in a later patch because I want to include some test cases. To be clear when I say no *TRUE* functionality change I mean that this patch (like it says in the title) only contains getters/setters and sets up a default initial value of the instance variable to false so that this patch does not affect any other uses of Global Variable.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174295 91177308-0d34-0410-b5e6-96231b3b80d8
lobalVariable.h
|
fca0ed28c81a505b0b71605e8b59e4bb6daeda0e |
02-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove AttrBuilder::Raw(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174251 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
5a4041e7282ca1dba93fe1a97c8260c0ef621f5d |
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Change the AttributeImpl to hold a single Constant* for the values. This Constant could be an aggregate to represent multiple values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174228 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
f715dbd263149efeb9c684dfdb0637cf84f94399 |
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove one of the odious 'Raw' methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174130 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
16c4b3cf2943ae2327752cf3de39769d14cfcece |
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add iterators to the AttributeSet class so that we can access the Attributes in a nice way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174120 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
39da078977ae98b6bf1c3c76a472ed24f5f2a2d2 |
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
s/AttrBuilder::addAttributes/AttrBuilder::addAttribute/g because that's more descriptive of what it actually is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174116 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
169d5270751597aed4095ead00401a3374906147 |
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttrBuilder form of the Attribute::get creators. The AttrBuilder is for building a collection of attributes. The Attribute object holds only one attribute. So it's not really useful for the Attribute object to have a creator which takes an AttrBuilder. This has two fallouts: 1. The AttrBuilder no longer holds its internal attributes in a bit-mask form. 2. The attributes are now ordered alphabetically (hence why the tests have changed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174110 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
82aea644c6d2a21464958fe2e3a1cd0f6bfc82db |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the Attribute::hasAttributes() function. That function doesn't make sense anymore because there's only one attribute per Attribute object now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174044 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
eddab1550ee10cce3bb26a26e88529cb19451aa3 |
31-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r174026, "Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private." It broke many hosts to crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174035 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
85238aae1a4b6ac67e16560a9855944191f3db5b |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private. The Attribute::hasAttributes() is kind of meaningless since an Attribute can have only one attribute. And we would rather people use the 'operator==' instead of Attribute::hasAttribute(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174026 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8ed701da9aa388c078cc6aecac2fe355974c90d2 |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make the AttrBuilder creation method of Attribute private so that people won't use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174023 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
b96129dd4856a5473c52daceaabdfd2262bd96f2 |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert for now: --- Reverse-merging r174010 into '.': U include/llvm/IR/Attributes.h U lib/IR/Verifier.cpp U lib/IR/Attributes.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174012 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
c6077eff8b9963b59de21e5d1dfae7a6ea75da36 |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttrBuilder version of the Attribute::get function. The AttrBuilder is there to build up multiple attributes. The Attribute class represents only one attribute at a time. So remove this unnecessary builder creator method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174010 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
73dee180c836270644dfa7d90f9c5ba877567999 |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make sure that the Attribute object represents one attribute only. Several places were still treating the Attribute object as respresenting multiple attributes. Those places now use the AttributeSet to represent multiple attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174003 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ac72eb264c3a8a15cda81aaead6adc8419058666 |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove addRetAttributes and addFnAttributes, which aren't useful abstractions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173992 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
e74365462a39529ae48ef4d34ec76b4543b8ea29 |
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert typeIncompatible to return an AttributeSet. There are still places which treat the Attribute object as a collection of attributes. I'm systematically removing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173990 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
bc977bab42fb3f45df054af63b4bd748300f005a |
30-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Doxygenified some comments in IRBuilder.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173986 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
f84d4c16b3d5b0c687dd6f25c340b3b86c76fc34 |
30-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Removed CreateFPExtOrFPTrunc for now until I have the time to get in my vector convert patch. What I thought was going to be a quick thing has extended out a little bit in time *sigh*. So after some thought in order to not cruft up the tree I am removing this for now since it is the right thing to do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173985 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
aa57893e84ba7a35948fcaa99812ba88e58f4797 |
30-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the number of 'slots' in the AttributeSetImpl being 0 to indicate that the AttributeSet is empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173962 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
f578c89dc6ca3e79667c2aa9d0ac4fe409da7773 |
30-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Clean up whitespace and indentation a bit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173960 91177308-0d34-0410-b5e6-96231b3b80d8
ataLayout.h
|
6dc3781d44e56f0addf28b06232a50f3f9e6b1af |
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a couple of accessor methods to get the kind and values of an attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173828 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
606c8e36dfdd28fc589356addd3e2cbb89a32e4d |
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert getAttributes() to return an AttributeSetNode. The AttributeSetNode contains all of the attributes. This removes one (hopefully last) use of the Attribute class as a container of multiple attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173761 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8232ece5c1e57efe54342fb35610497d50bf894f |
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use an AttrBuilder to generate the correct AttributeSet. We no longer accept an encoded integer as representing all of the attributes. Convert this via the AttrBuilder class into an AttributeSet with the correct representation (an AttributeSetImpl that holds a list of Attribute objects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173750 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
817abdd8b055059e5930a15704b9f52da4236456 |
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
S'more small non-functional changes in comments and #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173738 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
c22f4aa886443507f8406d30d118fdeeac6a8c6c |
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Reorder some functions and add comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173733 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
6bdbf061c353295669b6bfc271b948158602d1bc |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Try to appease some broken compilers by using 'unsigned' instead of 'uint64_t'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173725 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
87e10dfefa94f77937c37b0eb51095540d675cbc |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttributeWithIndex class. The AttributeWithIndex class exposed the interior structure of the AttributeSet class. That was gross. Remove it and all of the code that relied upon it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173722 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
19d815c04fde6b7b53c2b542813157edfa213842 |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Mid-air collision. reapply r173656. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173661 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
98b92f3bf5770e02498549e24b3db75d5862c173 |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rewrite the removeAttr() method. This now uses the AttributeSet object instead of the Attribute / AttributeWithIndex objects. It's fairly simple now. It goes through all of the subsets before the one we're modifying, adds them to the new set. It then adds the modified subset (with the requested attributes removed). And then adds the rest of the subsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173660 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
49f6060f16aec4024d644a6ec4ddd3de9b3e8821 |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rewrite the addAttr() method. This now uses the AttributeSet object instead of the Attribute / AttributeWithIndex objects. It's fairly simple now. It goes through all of the subsets before the one we're modifying, adds them to the new set. It then adds the modified subset. And then adds the rest of the subsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173659 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
53ff78b2019e96e142986d19dd99f8dd563dc494 |
28-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r173646, "Use proper type for the index." Unfortunately, msvc miscompiles it. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173656 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
a9b9f0ad802ef6973534a9a247716e4a8e079635 |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use proper type for the index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173646 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
3e3e789aede6ec38d39c95d88ad4e8634d5a259b |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use proper return type for attribute index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173639 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
d05204aea4977eaec25e96bc7605a7bb9d806fc0 |
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Push the calculation of the 'Raw' attribute mask down into the implementation. It in turn uses the correct list for calculating the 'Raw' value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173637 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
2d5be6c313c0f9e23e56620fa8f8ae8d9b539bf0 |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't erase these methods. They're used during testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173636 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
c08a5ef6581f2c7550e92d31f63cd65ec29c39e0 |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add special 'get' methods to create an Attribute with an alignment. Also do some random cleanup. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173635 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ec2589863b32da169240c4fa120ef1e3798615d4 |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
s/AttrList/pImpl/g in AttributeSet. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173628 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
16f95669ec814d98ce28ad514df603c01d662ee8 |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Fix miscompile. Add back the use of the ArrayRef version of the ::get method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173613 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
08c11d302325b3715d77f4208d183c9b2a253b14 |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rearrange some deckchairs. Moving the class before it's use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173612 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
09dda440ba6622b64713ef5f7d9531411e3589ea |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173611 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
7d38c109aab8654e63e9071c7d948661f6b58433 |
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Hide the method that creates an AttributeSet with AttributeWithIndexes. This method will go away once AttributeWithIndex goes away. In the meantime, hide it from general use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173607 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
da6de52435d05e73e3691006e9f8d78e0102343e |
26-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
IRBuilder: Remove redundant check around SetInstDebugLocation call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173591 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
32a57958226e369f964a034da2ce7083a1a34297 |
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert BuildLibCalls.cpp to using the AttributeSet methods instead of AttributeWithIndex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173536 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
483bbd36b8b3f87073feea2e1096f188d0e735b8 |
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove dead method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173524 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8e47daf2858e980210f3e1f007036b24da342c29 |
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove some introspection functions. The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173522 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
e1f95db4803a48a30fc2a1d5868281a87a36fb85 |
25-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add an accessor method to get the slot's index. This will limit the use of AttributeWithIndex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173495 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
bb08593980b16fbd9758da6ca4fa9c7964f2f926 |
24-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a profile for uniquifying the AttributeSet with the AttributeSetNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173313 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
3467e30edf63b6d8a8d446186674ba9e4b7885a9 |
24-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Create a new class: AttributeSetNode. This is a helper class for the AttributeSetImpl class. It holds a set of attributes that apply to a single element: function, return type, or parameter. These are uniqued. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173310 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
2915a691b9eecde508948d4300428860d1655175 |
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173302 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
5ed3ac1185a52756a55ac043ede983a2ed4ea8f1 |
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove unused methods and ivars. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173284 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
114baee1fa017daefad2339c77b45b9ca3d79a41 |
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add the IR attribute 'sspstrong'. SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
28d65722d6f283b327b5815914382077fe9c0ab4 |
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the last of uses that use the Attribute object as a collection of attributes. Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significant changes to how attributes are structured. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173228 91177308-0d34-0410-b5e6-96231b3b80d8
rgument.h
ttributes.h
|
8246df61f6de716acf1f8c64fac3c19970a2c174 |
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKind when removing one attribute. This further encapsulates the use of the attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173214 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
unction.h
|
70d2ca0725b05a2d372e4dc3336e8ea350093e98 |
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet when adding multiple attributes and an Attribute::AttrKind when adding a single attribute to the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173210 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
defaca00b8087d452df2b783250a48a32658a910 |
22-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
More encapsulation work. Use the AttributeSet when we're talking about more than one attribute. Add a function that adds a single attribute. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173196 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
0a29cb045444c13160e90fe7942a9d7c720185ed |
22-Jan-2013 |
Tim Northover <Tim.Northover@arm.com> |
Make APFloat constructor require explicit semantics. Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173138 91177308-0d34-0410-b5e6-96231b3b80d8
ype.h
|
e4e85f17564c28cd571dda30146c3f310521acf0 |
22-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a new method that adds the AttributeSet at the given index. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173109 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
0d8c5fb91d9240f14246803200c0110e25e849d8 |
22-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove unused method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173106 91177308-0d34-0410-b5e6-96231b3b80d8
unction.h
|
3fc4b96b503fa202411317684a2ba02e41e43072 |
21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Have AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute. This further restricts the use of the Attribute class to the Attribute family of classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173098 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
c5f1bc88a2eb7ad9ff924ca90cf88494e5f947b9 |
21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute. This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173094 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ec98d2ce5ec51148e442c024b77a7483c81eee6c |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Changed IRBuilder::CreateZExtOrTrunc and IRBuilder::CreateSExtOrTrunc so they also work with vectors. I also changed the name of a variable in IRBuilder::CreateFPExtOrFPTrunc to match the names used in its two matching brethern as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172967 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
0e1a9f27bd6451897144f99ff2b2081986077896 |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
More copy editing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172962 91177308-0d34-0410-b5e6-96231b3b80d8
asicBlock.h
|
a1456e1cb8ade1befa7fc9cdac8fd542862cbcd8 |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Doxygenified and copy edited BasicBlock.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172961 91177308-0d34-0410-b5e6-96231b3b80d8
asicBlock.h
|
b6b8ba62698ecb34a4ec6f20b4d10ff1b408cb30 |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Doxygenified Argument.h and performed some copy editing of the documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172960 91177308-0d34-0410-b5e6-96231b3b80d8
rgument.h
|
864c2a261a551545b1929dbb4d498fd655f4239d |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Converted all method comments in IRBuilder.h to use doxygen style comments. This implies changing method documentation from the following style: /// MethodName - Method description... to /// \brief Method description... ala the LLVM Style Guide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172959 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
bd12e22d7af1609af2b9614dcab2a035d7388a79 |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Corrected assert messages for CreateZExtOrTrunc/CreateSExtOrTrunc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172958 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
8b289987770bae81752f934fc089c93099864324 |
20-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Added IRBuilder::CreateFPExtOrFPTrunc. This method serves an analogous purpose to CreateZExtOrTrunc/CreateSExtOrTrunc but for floating point types. In detail, it provides a manner when one is handling conversions of floating point types of automatically selecting fpext, fptrunc, or identity depending on the relative bitsize of the source and destination types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172957 91177308-0d34-0410-b5e6-96231b3b80d8
RBuilder.h
|
1b0c54f1c5dd61e56cb7cbc435fcb3319cff628f |
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use AttributeSet accessor methods instead of Attribute accessor methods. Further encapsulation of the Attribute object. Don't allow direct access to the Attribute object as an aggregate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172853 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
956f13440a4aa0297606a4412f4aa091d931592a |
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Push some more methods down to hide the use of the Attribute class. Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172844 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
5db391c67d0922f4ab2ba57c07def19759c801a4 |
16-Jan-2013 |
Daniel Dunbar <daniel@zuster.org> |
[IR] Add 'Append' and 'AppendUnique' module flag behaviors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172659 91177308-0d34-0410-b5e6-96231b3b80d8
odule.h
|
e1c49906dcd26486ddac08207817d0e2ce4a2829 |
15-Jan-2013 |
Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
Fix operand type conditions in one of ICmpInst constructors. It was out of sync with the conditions in the other two constructors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172535 91177308-0d34-0410-b5e6-96231b3b80d8
nstructions.h
|
4d0b4a45dc724666d5de4f2f7c2d295487e4ca3e |
11-Jan-2013 |
Michael Ilseman <milseman@apple.com> |
Support for half intrinsics. Pushes MMX into slower encoding path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172159 91177308-0d34-0410-b5e6-96231b3b80d8
ntrinsics.h
ntrinsics.td
|
893a2348785170501904dc64b2627a1cb41643a3 |
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove trailing spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172125 91177308-0d34-0410-b5e6-96231b3b80d8
etadata.h
|
244b7a4ba66a8c23b6d0463eafc53b9a3970fc02 |
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix indent and remove unneeded #includes in MDBuilder.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172115 91177308-0d34-0410-b5e6-96231b3b80d8
DBuilder.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
rgument.h
ttributes.h
asicBlock.h
allingConv.h
onstant.h
onstants.h
ataLayout.h
erivedTypes.h
unction.h
lobalAlias.h
lobalValue.h
lobalVariable.h
RBuilder.h
nlineAsm.h
nstrTypes.h
nstruction.h
nstructions.h
ntrinsicInst.h
ntrinsics.h
LVMContext.h
DBuilder.h
etadata.h
odule.h
perandTraits.h
perator.h
ymbolTableListTraits.h
ype.h
ypeBuilder.h
se.h
ser.h
alue.h
alueSymbolTable.h
|
1db9b6957c2565a2322206bd5907530895f1c7ac |
10-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert s/Raw/getBitMask/g name change. This is possibly causing LTO test hangings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172020 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
935e35d2b9f889566207b76a7026b63a1619742c |
09-Jan-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Consider expression "0.0 - X" as the negation of X if - this expression is explicitly marked no-signed-zero, or - no-signed-zero of this expression can be derived from some context. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171922 91177308-0d34-0410-b5e6-96231b3b80d8
onstant.h
nstrTypes.h
|
4068e1af9ff68b6b5fdb3233f1304e53f1bf179a |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move TypeFinder.h into the IR tree, it clearly belongs with the IR library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171749 91177308-0d34-0410-b5e6-96231b3b80d8
ypeFinder.h
|
a90a99a82b9c5c39fc6dbee9c266dcd7b107fe2f |
07-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rough out a new c'tor for the AttrBuilder class. This c'tor takes the AttributeSet class as the parameter. It will eventually grab the attributes from the specified index and create a new attribute builder with those attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171712 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
6f78fbbc630d2b86fb752574f5ad74473f57dfb1 |
05-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch the empty and tombstone key enumerators to not have explicit values -- that's not required to fix the bug that was cropping up, and the values selected made the enumeration's underlying type signed and introduced some warnings. This fixes the -Werror build. The underlying issue here was that the DenseMapInfo was casting values completely outside the range of the underlying storage of the enumeration to the enumeration's type. GCC went and "optimized" that into infloops and other misbehavior. By providing designated special values for these keys in the dense map, we ensure they are indeed representable and that they won't be used for anything else. It might be better to reuse None for the empty key and have the tombstone share the value of the sentinel enumerator, but honestly having 2 extra enumerators seemed not to matter and this seems a bit simpler. I'll let Bill shuffle this around (or ask me to shuffle it around) if he prefers it to look a different way. I also made the switch a bit more clear (and produce a better assert) that the enumerators are *never* going to show up and are errors if they do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171614 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
3a4779a9211281a1d0c27c97037342329035a185 |
05-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
IR/Attributes: Provide EmptyKey and TombstoneKey in part of enum, as workaround for gcc-4.4 take #2. I will investigate, later, what was wrong. I am too tired for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171611 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
1bbd644301ed4d8a7efd4ceb15f71c56fa914f28 |
05-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a method to create an AttributeSet from an AttrBuilder. The Attribute class is eventually going to represent one attribute. So we need this class to create the set of attributes. Add some iterator methods to the builder to access its internal bits in a nice way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171586 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
0319888773b36dd61d7d2283cb9a26cac1e5abe8 |
05-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Get rid of the 'Bits' mask in the attribute builder. The bit mask thing will be a thing of the past. It's not extensible enough. Get rid of its use here. Opt instead for using a vector to hold the attributes. Note: Some of this code will become obsolete once the rewrite is further along. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171553 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
60507d53e7e8e6b0c537675f68204a93c3033de7 |
04-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
General cleanups. * Remove dead methods. * Use the 'operator==' method instead of 'contains', which isn't needed. * Fix some comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171523 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
22bd64173981bf1251c4b3bfc684207340534ba3 |
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Try again to revert the bad patch. The tree was reverted for some unknown reason before the last time. --- Reverse-merging r171442 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp U lib/IR/AttributeImpl.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171448 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
ded28aca6195d2d8d3bcbb9cd6b1c2c34c0d9702 |
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert patch. Something snuck in there that shouldn't be. --- Reverse-merging r171441 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171444 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
8351a60d6da4f5cdab80753ad2266085a6fbf62a |
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the 'contains' methods in favor of the 'operator==' method. The 'operator==' method is a bit clearer and much less verbose for somethings that should have only one value. Remove from the AttrBuilder for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171442 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
3ac03815e195a598fce50abdda440c9d2fae815e |
03-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r171427, "An intermediate step in the Attributes rewrite." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171441 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
278bac3fba5ae8ae620c961621493e6e2ad6f953 |
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
An intermediate step in the Attributes rewrite. Modify the AttrBuilder class to store the attributes as a set instead of as a bit mask. The Attribute class will represent only one attribute instead of a collection of attributes. This is the wave of the future! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171427 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.h
|
351ba145a7db32b457f118ecc4d873765ac2a16b |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Actually update the CMake and Makefile builds correctly, and update the code that includes Intrinsics.gen directly. This never showed up in my testing because the old Intrinsics.gen was still kicking around in the make build system and was correct there. =[ Thankfully, some of the bots to clean rebuilds and that caught this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171373 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
ntrinsics.h
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
rgument.h
ttributes.h
asicBlock.h
MakeLists.txt
allingConv.h
onstant.h
onstants.h
ataLayout.h
erivedTypes.h
unction.h
lobalAlias.h
lobalValue.h
lobalVariable.h
RBuilder.h
nlineAsm.h
nstrTypes.h
nstruction.def
nstruction.h
nstructions.h
ntrinsicInst.h
ntrinsics.h
ntrinsics.td
ntrinsicsARM.td
ntrinsicsHexagon.td
ntrinsicsMips.td
ntrinsicsNVVM.td
ntrinsicsPowerPC.td
ntrinsicsR600.td
ntrinsicsX86.td
ntrinsicsXCore.td
LVMContext.h
DBuilder.h
etadata.h
odule.h
perandTraits.h
perator.h
ymbolTableListTraits.h
ype.h
ypeBuilder.h
se.h
ser.h
alue.h
alueSymbolTable.h
|